// dear imgui, v1.85
// (drawing and font code)

/*

Index of this file:

// [SECTION] STB libraries implementation
// [SECTION] Style functions
// [SECTION] ImDrawList
// [SECTION] ImDrawListSplitter
// [SECTION] ImDrawData
// [SECTION] Helpers ShadeVertsXXX functions
// [SECTION] ImFontConfig
// [SECTION] ImFontAtlas
// [SECTION] ImFontAtlas glyph ranges helpers
// [SECTION] ImFontGlyphRangesBuilder
// [SECTION] ImFont
// [SECTION] ImGui Internal Render Helpers
// [SECTION] Decompression code
// [SECTION] Default font data (ProggyClean.ttf)

*/

#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS)
#define _CRT_SECURE_NO_WARNINGS
#endif

#include "client/render/gui/imgui/imgui.h"
#ifndef IMGUI_DISABLE

#ifndef IMGUI_DEFINE_MATH_OPERATORS
#define IMGUI_DEFINE_MATH_OPERATORS
#endif

#include "imgui_internal.h"
#ifdef IMGUI_ENABLE_FREETYPE
#include "td/misc/freetype/imgui_freetype.h"
#endif

#include <stdio.h>      // vsnprintf, sscanf, printf
#if !defined(alloca)
#if defined(__GLIBC__) || defined(__sun) || defined(__APPLE__) || defined(__NEWLIB__)
#include <alloca.h>     // alloca (glibc uses <alloca.h>. Note that Cygwin may have _WIN32 defined, so the order matters here)
#elif defined(_WIN32)
#include <malloc.h>     // alloca
#if !defined(alloca)
#define alloca _alloca  // for clang with MS Codegen
#endif
#else
#include <stdlib.h>     // alloca
#endif
#endif

// Visual Studio warnings
#ifdef _MSC_VER
#pragma warning (disable: 4127)     // condition expression is constant
#pragma warning (disable: 4505)     // unreferenced local function has been removed (stb stuff)
#pragma warning (disable: 4996)     // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen
#pragma warning (disable: 6255)     // [Static Analyzer] _alloca indicates failure by raising a stack overflow exception.  Consider using _malloca instead.
#pragma warning (disable: 26451)    // [Static Analyzer] Arithmetic overflow : Using operator 'xxx' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator 'xxx' to avoid overflow(io.2).
#pragma warning (disable: 26812)    // [Static Analyzer] The enum type 'xxx' is unscoped. Prefer 'enum class' over 'enum' (Enum.3). [MSVC Static Analyzer)
#endif

// Clang/GCC warnings with -Weverything
#if defined(__clang__)
#if __has_warning("-Wunknown-warning-option")
#pragma clang diagnostic ignored "-Wunknown-warning-option"         // warning: unknown warning group 'xxx'                      // not all warnings are known by all Clang versions and they tend to be rename-happy.. so ignoring warnings triggers new warnings on some configuration. Great!
#endif
#if __has_warning("-Walloca")
#pragma clang diagnostic ignored "-Walloca"                         // warning: use of function '__builtin_alloca' is discouraged
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"                // warning: unknown warning group 'xxx'
#pragma clang diagnostic ignored "-Wold-style-cast"                 // warning: use of old-style cast                            // yes, they are more terse.
#pragma clang diagnostic ignored "-Wfloat-equal"                    // warning: comparing floating point with == or != is unsafe // storing and comparing against same constants ok.
#pragma clang diagnostic ignored "-Wglobal-constructors"            // warning: declaration requires a global destructor         // similar to above, not sure what the exact difference is.
#pragma clang diagnostic ignored "-Wsign-conversion"                // warning: implicit conversion changes signedness
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning: zero as null pointer constant                    // some standard header variations use #define NULL 0
#pragma clang diagnostic ignored "-Wcomma"                          // warning: possible misuse of comma operator here
#pragma clang diagnostic ignored "-Wreserved-id-macro"              // warning: macro name is a reserved identifier
#pragma clang diagnostic ignored "-Wdouble-promotion"               // warning: implicit conversion from 'float' to 'double' when passing argument to function  // using printf() is a misery with this as C++ va_arg ellipsis changes float to double.
#pragma clang diagnostic ignored "-Wimplicit-int-float-conversion"  // warning: implicit conversion from 'xxx' to 'float' may lose precision
#elif defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wpragmas"                  // warning: unknown option after '#pragma GCC diagnostic' kind
#pragma GCC diagnostic ignored "-Wunused-function"          // warning: 'xxxx' defined but not used
#pragma GCC diagnostic ignored "-Wdouble-promotion"         // warning: implicit conversion from 'float' to 'double' when passing argument to function
#pragma GCC diagnostic ignored "-Wconversion"               // warning: conversion to 'xxxx' from 'xxxx' may alter its value
#pragma GCC diagnostic ignored "-Wstack-protector"          // warning: stack protector not protecting local variables: variable length buffer
#pragma GCC diagnostic ignored "-Wclass-memaccess"          // [__GNUC__ >= 8] warning: 'memset/memcpy' clearing/writing an object of type 'xxxx' with no trivial copy-assignment; use assignment or value-initialization instead
#endif

//-------------------------------------------------------------------------
// [SECTION] STB libraries implementation
//-------------------------------------------------------------------------

// Compile time options:
//#define IMGUI_STB_NAMESPACE           ImStb
//#define IMGUI_STB_TRUETYPE_FILENAME   "my_folder/stb_truetype.h"
//#define IMGUI_STB_RECT_PACK_FILENAME  "my_folder/stb_rect_pack.h"
//#define IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION
//#define IMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION

#ifdef IMGUI_STB_NAMESPACE
namespace IMGUI_STB_NAMESPACE
{
#endif

#ifdef _MSC_VER
#pragma warning (push)
#pragma warning (disable: 4456)                             // declaration of 'xx' hides previous local declaration
#pragma warning (disable: 6011)                             // (stb_rectpack) Dereferencing NULL pointer 'cur->next'.
#pragma warning (disable: 6385)                             // (stb_truetype) Reading invalid data from 'buffer':  the readable size is '_Old_3`kernel_width' bytes, but '3' bytes may be read.
#pragma warning (disable: 28182)                            // (stb_rectpack) Dereferencing NULL pointer. 'cur' contains the same NULL value as 'cur->next' did.
#endif

#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-function"
#pragma clang diagnostic ignored "-Wmissing-prototypes"
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
#pragma clang diagnostic ignored "-Wcast-qual"              // warning: cast from 'const xxxx *' to 'xxx *' drops const qualifier
#endif

#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wtype-limits"              // warning: comparison is always true due to limited range of data type [-Wtype-limits]
#pragma GCC diagnostic ignored "-Wcast-qual"                // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers
#endif

#ifndef STB_RECT_PACK_IMPLEMENTATION                        // in case the user already have an implementation in the _same_ compilation unit (e.g. unity builds)
#ifndef IMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION          // in case the user already have an implementation in another compilation unit
#define STBRP_STATIC
#define STBRP_ASSERT(x)     do { IM_ASSERT(x); } while (0)
#define STBRP_SORT          ImQsort
#define STB_RECT_PACK_IMPLEMENTATION
#endif
#ifdef IMGUI_STB_RECT_PACK_FILENAME
#include IMGUI_STB_RECT_PACK_FILENAME
#else
#include "imstb_rectpack.h"
#endif
#endif

#ifdef  IMGUI_ENABLE_STB_TRUETYPE
#ifndef STB_TRUETYPE_IMPLEMENTATION                         // in case the user already have an implementation in the _same_ compilation unit (e.g. unity builds)
#ifndef IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION           // in case the user already have an implementation in another compilation unit
#define STBTT_malloc(x,u)   ((void)(u), IM_ALLOC(x))
#define STBTT_free(x,u)     ((void)(u), IM_FREE(x))
#define STBTT_assert(x)     do { IM_ASSERT(x); } while(0)
#define STBTT_fmod(x,y)     ImFmod(x,y)
#define STBTT_sqrt(x)       ImSqrt(x)
#define STBTT_pow(x,y)      ImPow(x,y)
#define STBTT_fabs(x)       ImFabs(x)
#define STBTT_ifloor(x)     ((int)ImFloorSigned(x))
#define STBTT_iceil(x)      ((int)ImCeil(x))
#define STBTT_STATIC
#define STB_TRUETYPE_IMPLEMENTATION
#else
#define STBTT_DEF extern
#endif
#ifdef IMGUI_STB_TRUETYPE_FILENAME
#include IMGUI_STB_TRUETYPE_FILENAME
#else
#include "imstb_truetype.h"
#endif
#endif
#endif // IMGUI_ENABLE_STB_TRUETYPE

#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

#if defined(__clang__)
#pragma clang diagnostic pop
#endif

#if defined(_MSC_VER)
#pragma warning (pop)
#endif

#ifdef IMGUI_STB_NAMESPACE
} // namespace ImStb
using namespace IMGUI_STB_NAMESPACE;
#endif

//-----------------------------------------------------------------------------
// [SECTION] Style functions
//-----------------------------------------------------------------------------

void ImGui::StyleColorsDark(ImGuiStyle* dst)
{
    ImGuiStyle* style = dst ? dst : &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    colors[ImGuiCol_Text]                   = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.06f, 0.06f, 0.06f, 0.94f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.08f, 0.08f, 0.08f, 0.94f);
    colors[ImGuiCol_Border]                 = ImVec4(0.43f, 0.43f, 0.50f, 0.50f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_FrameBg]                = ImVec4(0.16f, 0.29f, 0.48f, 0.54f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.04f, 0.04f, 0.04f, 1.00f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.16f, 0.29f, 0.48f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.00f, 0.00f, 0.00f, 0.51f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.14f, 0.14f, 0.14f, 1.00f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.02f, 0.02f, 0.02f, 0.53f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.31f, 0.31f, 0.31f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.41f, 0.41f, 0.41f, 1.00f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.51f, 0.51f, 0.51f, 1.00f);
    colors[ImGuiCol_CheckMark]              = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(0.24f, 0.52f, 0.88f, 1.00f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Button]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(0.06f, 0.53f, 0.98f, 1.00f);
    colors[ImGuiCol_Header]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.31f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 0.80f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Separator]              = colors[ImGuiCol_Border];
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.10f, 0.40f, 0.75f, 0.78f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.10f, 0.40f, 0.75f, 1.00f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(0.26f, 0.59f, 0.98f, 0.20f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_Tab]                    = ImLerp(colors[ImGuiCol_Header],       colors[ImGuiCol_TitleBgActive], 0.80f);
    colors[ImGuiCol_TabHovered]             = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_TabActive]              = ImLerp(colors[ImGuiCol_HeaderActive], colors[ImGuiCol_TitleBgActive], 0.60f);
    colors[ImGuiCol_TabUnfocused]           = ImLerp(colors[ImGuiCol_Tab],          colors[ImGuiCol_TitleBg], 0.80f);
    colors[ImGuiCol_TabUnfocusedActive]     = ImLerp(colors[ImGuiCol_TabActive],    colors[ImGuiCol_TitleBg], 0.40f);
    colors[ImGuiCol_PlotLines]              = ImVec4(0.61f, 0.61f, 0.61f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TableHeaderBg]          = ImVec4(0.19f, 0.19f, 0.20f, 1.00f);
    colors[ImGuiCol_TableBorderStrong]      = ImVec4(0.31f, 0.31f, 0.35f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableBorderLight]       = ImVec4(0.23f, 0.23f, 0.25f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableRowBg]             = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_TableRowBgAlt]          = ImVec4(1.00f, 1.00f, 1.00f, 0.06f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
    colors[ImGuiCol_NavHighlight]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);
    colors[ImGuiCol_NavWindowingDimBg]      = ImVec4(0.80f, 0.80f, 0.80f, 0.20f);
    colors[ImGuiCol_ModalWindowDimBg]       = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
}

void ImGui::StyleColorsClassic(ImGuiStyle* dst)
{
    ImGuiStyle* style = dst ? dst : &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    colors[ImGuiCol_Text]                   = ImVec4(0.90f, 0.90f, 0.90f, 1.00f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.00f, 0.00f, 0.00f, 0.85f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(0.11f, 0.11f, 0.14f, 0.92f);
    colors[ImGuiCol_Border]                 = ImVec4(0.50f, 0.50f, 0.50f, 0.50f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_FrameBg]                = ImVec4(0.43f, 0.43f, 0.43f, 0.39f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.47f, 0.47f, 0.69f, 0.40f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.42f, 0.41f, 0.64f, 0.69f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.27f, 0.27f, 0.54f, 0.83f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.32f, 0.32f, 0.63f, 0.87f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(0.40f, 0.40f, 0.80f, 0.20f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.40f, 0.40f, 0.55f, 0.80f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.20f, 0.25f, 0.30f, 0.60f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.40f, 0.40f, 0.80f, 0.30f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.40f, 0.40f, 0.80f, 0.40f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.41f, 0.39f, 0.80f, 0.60f);
    colors[ImGuiCol_CheckMark]              = ImVec4(0.90f, 0.90f, 0.90f, 0.50f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(1.00f, 1.00f, 1.00f, 0.30f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.41f, 0.39f, 0.80f, 0.60f);
    colors[ImGuiCol_Button]                 = ImVec4(0.35f, 0.40f, 0.61f, 0.62f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.40f, 0.48f, 0.71f, 0.79f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(0.46f, 0.54f, 0.80f, 1.00f);
    colors[ImGuiCol_Header]                 = ImVec4(0.40f, 0.40f, 0.90f, 0.45f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.45f, 0.45f, 0.90f, 0.80f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.53f, 0.53f, 0.87f, 0.80f);
    colors[ImGuiCol_Separator]              = ImVec4(0.50f, 0.50f, 0.50f, 0.60f);
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.60f, 0.60f, 0.70f, 1.00f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.70f, 0.70f, 0.90f, 1.00f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(1.00f, 1.00f, 1.00f, 0.10f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.78f, 0.82f, 1.00f, 0.60f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.78f, 0.82f, 1.00f, 0.90f);
    colors[ImGuiCol_Tab]                    = ImLerp(colors[ImGuiCol_Header],       colors[ImGuiCol_TitleBgActive], 0.80f);
    colors[ImGuiCol_TabHovered]             = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_TabActive]              = ImLerp(colors[ImGuiCol_HeaderActive], colors[ImGuiCol_TitleBgActive], 0.60f);
    colors[ImGuiCol_TabUnfocused]           = ImLerp(colors[ImGuiCol_Tab],          colors[ImGuiCol_TitleBg], 0.80f);
    colors[ImGuiCol_TabUnfocusedActive]     = ImLerp(colors[ImGuiCol_TabActive],    colors[ImGuiCol_TitleBg], 0.40f);
    colors[ImGuiCol_PlotLines]              = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
    colors[ImGuiCol_TableHeaderBg]          = ImVec4(0.27f, 0.27f, 0.38f, 1.00f);
    colors[ImGuiCol_TableBorderStrong]      = ImVec4(0.31f, 0.31f, 0.45f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableBorderLight]       = ImVec4(0.26f, 0.26f, 0.28f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableRowBg]             = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_TableRowBgAlt]          = ImVec4(1.00f, 1.00f, 1.00f, 0.07f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.00f, 0.00f, 1.00f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(1.00f, 1.00f, 0.00f, 0.90f);
    colors[ImGuiCol_NavHighlight]           = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(1.00f, 1.00f, 1.00f, 0.70f);
    colors[ImGuiCol_NavWindowingDimBg]      = ImVec4(0.80f, 0.80f, 0.80f, 0.20f);
    colors[ImGuiCol_ModalWindowDimBg]       = ImVec4(0.20f, 0.20f, 0.20f, 0.35f);
}

// Those light colors are better suited with a thicker font than the default one + FrameBorder
void ImGui::StyleColorsLight(ImGuiStyle* dst)
{
    ImGuiStyle* style = dst ? dst : &ImGui::GetStyle();
    ImVec4* colors = style->Colors;

    colors[ImGuiCol_Text]                   = ImVec4(0.00f, 0.00f, 0.00f, 1.00f);
    colors[ImGuiCol_TextDisabled]           = ImVec4(0.60f, 0.60f, 0.60f, 1.00f);
    colors[ImGuiCol_WindowBg]               = ImVec4(0.94f, 0.94f, 0.94f, 1.00f);
    colors[ImGuiCol_ChildBg]                = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_PopupBg]                = ImVec4(1.00f, 1.00f, 1.00f, 0.98f);
    colors[ImGuiCol_Border]                 = ImVec4(0.00f, 0.00f, 0.00f, 0.30f);
    colors[ImGuiCol_BorderShadow]           = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_FrameBg]                = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
    colors[ImGuiCol_FrameBgHovered]         = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
    colors[ImGuiCol_FrameBgActive]          = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_TitleBg]                = ImVec4(0.96f, 0.96f, 0.96f, 1.00f);
    colors[ImGuiCol_TitleBgActive]          = ImVec4(0.82f, 0.82f, 0.82f, 1.00f);
    colors[ImGuiCol_TitleBgCollapsed]       = ImVec4(1.00f, 1.00f, 1.00f, 0.51f);
    colors[ImGuiCol_MenuBarBg]              = ImVec4(0.86f, 0.86f, 0.86f, 1.00f);
    colors[ImGuiCol_ScrollbarBg]            = ImVec4(0.98f, 0.98f, 0.98f, 0.53f);
    colors[ImGuiCol_ScrollbarGrab]          = ImVec4(0.69f, 0.69f, 0.69f, 0.80f);
    colors[ImGuiCol_ScrollbarGrabHovered]   = ImVec4(0.49f, 0.49f, 0.49f, 0.80f);
    colors[ImGuiCol_ScrollbarGrabActive]    = ImVec4(0.49f, 0.49f, 0.49f, 1.00f);
    colors[ImGuiCol_CheckMark]              = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_SliderGrab]             = ImVec4(0.26f, 0.59f, 0.98f, 0.78f);
    colors[ImGuiCol_SliderGrabActive]       = ImVec4(0.46f, 0.54f, 0.80f, 0.60f);
    colors[ImGuiCol_Button]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.40f);
    colors[ImGuiCol_ButtonHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_ButtonActive]           = ImVec4(0.06f, 0.53f, 0.98f, 1.00f);
    colors[ImGuiCol_Header]                 = ImVec4(0.26f, 0.59f, 0.98f, 0.31f);
    colors[ImGuiCol_HeaderHovered]          = ImVec4(0.26f, 0.59f, 0.98f, 0.80f);
    colors[ImGuiCol_HeaderActive]           = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
    colors[ImGuiCol_Separator]              = ImVec4(0.39f, 0.39f, 0.39f, 0.62f);
    colors[ImGuiCol_SeparatorHovered]       = ImVec4(0.14f, 0.44f, 0.80f, 0.78f);
    colors[ImGuiCol_SeparatorActive]        = ImVec4(0.14f, 0.44f, 0.80f, 1.00f);
    colors[ImGuiCol_ResizeGrip]             = ImVec4(0.35f, 0.35f, 0.35f, 0.17f);
    colors[ImGuiCol_ResizeGripHovered]      = ImVec4(0.26f, 0.59f, 0.98f, 0.67f);
    colors[ImGuiCol_ResizeGripActive]       = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_Tab]                    = ImLerp(colors[ImGuiCol_Header],       colors[ImGuiCol_TitleBgActive], 0.90f);
    colors[ImGuiCol_TabHovered]             = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_TabActive]              = ImLerp(colors[ImGuiCol_HeaderActive], colors[ImGuiCol_TitleBgActive], 0.60f);
    colors[ImGuiCol_TabUnfocused]           = ImLerp(colors[ImGuiCol_Tab],          colors[ImGuiCol_TitleBg], 0.80f);
    colors[ImGuiCol_TabUnfocusedActive]     = ImLerp(colors[ImGuiCol_TabActive],    colors[ImGuiCol_TitleBg], 0.40f);
    colors[ImGuiCol_PlotLines]              = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
    colors[ImGuiCol_PlotLinesHovered]       = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
    colors[ImGuiCol_PlotHistogram]          = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
    colors[ImGuiCol_PlotHistogramHovered]   = ImVec4(1.00f, 0.45f, 0.00f, 1.00f);
    colors[ImGuiCol_TableHeaderBg]          = ImVec4(0.78f, 0.87f, 0.98f, 1.00f);
    colors[ImGuiCol_TableBorderStrong]      = ImVec4(0.57f, 0.57f, 0.64f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableBorderLight]       = ImVec4(0.68f, 0.68f, 0.74f, 1.00f);   // Prefer using Alpha=1.0 here
    colors[ImGuiCol_TableRowBg]             = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
    colors[ImGuiCol_TableRowBgAlt]          = ImVec4(0.30f, 0.30f, 0.30f, 0.09f);
    colors[ImGuiCol_TextSelectedBg]         = ImVec4(0.26f, 0.59f, 0.98f, 0.35f);
    colors[ImGuiCol_DragDropTarget]         = ImVec4(0.26f, 0.59f, 0.98f, 0.95f);
    colors[ImGuiCol_NavHighlight]           = colors[ImGuiCol_HeaderHovered];
    colors[ImGuiCol_NavWindowingHighlight]  = ImVec4(0.70f, 0.70f, 0.70f, 0.70f);
    colors[ImGuiCol_NavWindowingDimBg]      = ImVec4(0.20f, 0.20f, 0.20f, 0.20f);
    colors[ImGuiCol_ModalWindowDimBg]       = ImVec4(0.20f, 0.20f, 0.20f, 0.35f);
}

//-----------------------------------------------------------------------------
// [SECTION] ImDrawList
//-----------------------------------------------------------------------------

ImDrawListSharedData::ImDrawListSharedData()
{
    memset(this, 0, sizeof(*this));
    for (int i = 0; i < IM_ARRAYSIZE(ArcFastVtx); i++)
    {
        const float a = ((float)i * 2 * IM_PI) / (float)IM_ARRAYSIZE(ArcFastVtx);
        ArcFastVtx[i] = ImVec2(ImCos(a), ImSin(a));
    }
    ArcFastRadiusCutoff = IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(IM_DRAWLIST_ARCFAST_SAMPLE_MAX, CircleSegmentMaxError);
}

void ImDrawListSharedData::SetCircleTessellationMaxError(float max_error)
{
    if (CircleSegmentMaxError == max_error)
        return;

    IM_ASSERT(max_error > 0.0f);
    CircleSegmentMaxError = max_error;
    for (int i = 0; i < IM_ARRAYSIZE(CircleSegmentCounts); i++)
    {
        const float radius = (float)i;
        CircleSegmentCounts[i] = (ImU8)((i > 0) ? IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC(radius, CircleSegmentMaxError) : 0);
    }
    ArcFastRadiusCutoff = IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(IM_DRAWLIST_ARCFAST_SAMPLE_MAX, CircleSegmentMaxError);
}

// Initialize before use in a new frame. We always have a command ready in the buffer.
void ImDrawList::_ResetForNewFrame()
{
    // Verify that the ImDrawCmd fields we want to memcmp() are contiguous in memory.
    // (those should be IM_STATIC_ASSERT() in theory but with our pre C++11 setup the whole check doesn't compile with GCC)
    IM_ASSERT(IM_OFFSETOF(ImDrawCmd, ClipRect) == 0);
    IM_ASSERT(IM_OFFSETOF(ImDrawCmd, TextureId) == sizeof(ImVec4));
    IM_ASSERT(IM_OFFSETOF(ImDrawCmd, VtxOffset) == sizeof(ImVec4) + sizeof(ImTextureID));

    CmdBuffer.resize(0);
    IdxBuffer.resize(0);
    VtxBuffer.resize(0);
    Flags = _Data->InitialFlags;
    memset(&_CmdHeader, 0, sizeof(_CmdHeader));
    _VtxCurrentIdx = 0;
    _VtxWritePtr = NULL;
    _IdxWritePtr = NULL;
    _ClipRectStack.resize(0);
    _TextureIdStack.resize(0);
    _Path.resize(0);
    _Splitter.Clear();
    CmdBuffer.push_back(ImDrawCmd());
    _FringeScale = 1.0f;
}

void ImDrawList::_ClearFreeMemory()
{
    CmdBuffer.clear();
    IdxBuffer.clear();
    VtxBuffer.clear();
    Flags = ImDrawListFlags_None;
    _VtxCurrentIdx = 0;
    _VtxWritePtr = NULL;
    _IdxWritePtr = NULL;
    _ClipRectStack.clear();
    _TextureIdStack.clear();
    _Path.clear();
    _Splitter.ClearFreeMemory();
}

ImDrawList* ImDrawList::CloneOutput() const
{
    ImDrawList* dst = IM_NEW(ImDrawList(_Data));
    dst->CmdBuffer = CmdBuffer;
    dst->IdxBuffer = IdxBuffer;
    dst->VtxBuffer = VtxBuffer;
    dst->Flags = Flags;
    return dst;
}

void ImDrawList::AddDrawCmd()
{
    ImDrawCmd draw_cmd;
    draw_cmd.ClipRect = _CmdHeader.ClipRect;    // Same as calling ImDrawCmd_HeaderCopy()
    draw_cmd.TextureId = _CmdHeader.TextureId;
    draw_cmd.VtxOffset = _CmdHeader.VtxOffset;
    draw_cmd.IdxOffset = IdxBuffer.Size;

    IM_ASSERT(draw_cmd.ClipRect.x <= draw_cmd.ClipRect.z && draw_cmd.ClipRect.y <= draw_cmd.ClipRect.w);
    CmdBuffer.push_back(draw_cmd);
}

// Pop trailing draw command (used before merging or presenting to user)
// Note that this leaves the ImDrawList in a state unfit for further commands, as most code assume that CmdBuffer.Size > 0 && CmdBuffer.back().UserCallback == NULL
void ImDrawList::_PopUnusedDrawCmd()
{
    if (CmdBuffer.Size == 0)
        return;
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    if (curr_cmd->ElemCount == 0 && curr_cmd->UserCallback == NULL)
        CmdBuffer.pop_back();
}

void ImDrawList::AddCallback(ImDrawCallback callback, void* callback_data)
{
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    IM_ASSERT(curr_cmd->UserCallback == NULL);
    if (curr_cmd->ElemCount != 0)
    {
        AddDrawCmd();
        curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    }
    curr_cmd->UserCallback = callback;
    curr_cmd->UserCallbackData = callback_data;

    AddDrawCmd(); // Force a new command after us (see comment below)
}

// Compare ClipRect, TextureId and VtxOffset with a single memcmp()
#define ImDrawCmd_HeaderSize                        (IM_OFFSETOF(ImDrawCmd, VtxOffset) + sizeof(unsigned int))
#define ImDrawCmd_HeaderCompare(CMD_LHS, CMD_RHS)   (memcmp(CMD_LHS, CMD_RHS, ImDrawCmd_HeaderSize))    // Compare ClipRect, TextureId, VtxOffset
#define ImDrawCmd_HeaderCopy(CMD_DST, CMD_SRC)      (memcpy(CMD_DST, CMD_SRC, ImDrawCmd_HeaderSize))    // Copy ClipRect, TextureId, VtxOffset

// Try to merge two last draw commands
void ImDrawList::_TryMergeDrawCmds()
{
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    ImDrawCmd* prev_cmd = curr_cmd - 1;
    if (ImDrawCmd_HeaderCompare(curr_cmd, prev_cmd) == 0 && curr_cmd->UserCallback == NULL && prev_cmd->UserCallback == NULL)
    {
        prev_cmd->ElemCount += curr_cmd->ElemCount;
        CmdBuffer.pop_back();
    }
}

// Our scheme may appears a bit unusual, basically we want the most-common calls AddLine AddRect etc. to not have to perform any check so we always have a command ready in the stack.
// The cost of figuring out if a new command has to be added or if we can merge is paid in those Update** functions only.
void ImDrawList::_OnChangedClipRect()
{
    // If current command is used with different settings we need to add a new command
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    if (curr_cmd->ElemCount != 0 && memcmp(&curr_cmd->ClipRect, &_CmdHeader.ClipRect, sizeof(ImVec4)) != 0)
    {
        AddDrawCmd();
        return;
    }
    IM_ASSERT(curr_cmd->UserCallback == NULL);

    // Try to merge with previous command if it matches, else use current command
    ImDrawCmd* prev_cmd = curr_cmd - 1;
    if (curr_cmd->ElemCount == 0 && CmdBuffer.Size > 1 && ImDrawCmd_HeaderCompare(&_CmdHeader, prev_cmd) == 0 && prev_cmd->UserCallback == NULL)
    {
        CmdBuffer.pop_back();
        return;
    }

    curr_cmd->ClipRect = _CmdHeader.ClipRect;
}

void ImDrawList::_OnChangedTextureID()
{
    // If current command is used with different settings we need to add a new command
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    if (curr_cmd->ElemCount != 0 && curr_cmd->TextureId != _CmdHeader.TextureId)
    {
        AddDrawCmd();
        return;
    }
    IM_ASSERT(curr_cmd->UserCallback == NULL);

    // Try to merge with previous command if it matches, else use current command
    ImDrawCmd* prev_cmd = curr_cmd - 1;
    if (curr_cmd->ElemCount == 0 && CmdBuffer.Size > 1 && ImDrawCmd_HeaderCompare(&_CmdHeader, prev_cmd) == 0 && prev_cmd->UserCallback == NULL)
    {
        CmdBuffer.pop_back();
        return;
    }

    curr_cmd->TextureId = _CmdHeader.TextureId;
}

void ImDrawList::_OnChangedVtxOffset()
{
    // We don't need to compare curr_cmd->VtxOffset != _CmdHeader.VtxOffset because we know it'll be different at the time we call this.
    _VtxCurrentIdx = 0;
    ImDrawCmd* curr_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    //IM_ASSERT(curr_cmd->VtxOffset != _CmdHeader.VtxOffset); // See #3349
    if (curr_cmd->ElemCount != 0)
    {
        AddDrawCmd();
        return;
    }
    IM_ASSERT(curr_cmd->UserCallback == NULL);
    curr_cmd->VtxOffset = _CmdHeader.VtxOffset;
}

int ImDrawList::_CalcCircleAutoSegmentCount(float radius) const
{
    // Automatic segment count
    const int radius_idx = (int)(radius + 0.999999f); // ceil to never reduce accuracy
    if (radius_idx < IM_ARRAYSIZE(_Data->CircleSegmentCounts))
        return _Data->CircleSegmentCounts[radius_idx]; // Use cached value
    else
        return IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC(radius, _Data->CircleSegmentMaxError);
}

// Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling)
void ImDrawList::PushClipRect(ImVec2 cr_min, ImVec2 cr_max, bool intersect_with_current_clip_rect)
{
    ImVec4 cr(cr_min.x, cr_min.y, cr_max.x, cr_max.y);
    if (intersect_with_current_clip_rect)
    {
        ImVec4 current = _CmdHeader.ClipRect;
        if (cr.x < current.x) cr.x = current.x;
        if (cr.y < current.y) cr.y = current.y;
        if (cr.z > current.z) cr.z = current.z;
        if (cr.w > current.w) cr.w = current.w;
    }
    cr.z = ImMax(cr.x, cr.z);
    cr.w = ImMax(cr.y, cr.w);

    _ClipRectStack.push_back(cr);
    _CmdHeader.ClipRect = cr;
    _OnChangedClipRect();
}

void ImDrawList::PushClipRectFullScreen()
{
    PushClipRect(ImVec2(_Data->ClipRectFullscreen.x, _Data->ClipRectFullscreen.y), ImVec2(_Data->ClipRectFullscreen.z, _Data->ClipRectFullscreen.w));
}

void ImDrawList::PopClipRect()
{
    _ClipRectStack.pop_back();
    _CmdHeader.ClipRect = (_ClipRectStack.Size == 0) ? _Data->ClipRectFullscreen : _ClipRectStack.Data[_ClipRectStack.Size - 1];
    _OnChangedClipRect();
}

void ImDrawList::PushTextureID(ImTextureID texture_id)
{
    _TextureIdStack.push_back(texture_id);
    _CmdHeader.TextureId = texture_id;
    _OnChangedTextureID();
}

void ImDrawList::PopTextureID()
{
    _TextureIdStack.pop_back();
    _CmdHeader.TextureId = (_TextureIdStack.Size == 0) ? (ImTextureID)NULL : _TextureIdStack.Data[_TextureIdStack.Size - 1];
    _OnChangedTextureID();
}

// Reserve space for a number of vertices and indices.
// You must finish filling your reserved data before calling PrimReserve() again, as it may reallocate or
// submit the intermediate results. PrimUnreserve() can be used to release unused allocations.
void ImDrawList::PrimReserve(int idx_count, int vtx_count)
{
    // Large mesh support (when enabled)
    IM_ASSERT_PARANOID(idx_count >= 0 && vtx_count >= 0);
    if (sizeof(ImDrawIdx) == 2 && (_VtxCurrentIdx + vtx_count >= (1 << 16)) && (Flags & ImDrawListFlags_AllowVtxOffset))
    {
        // FIXME: In theory we should be testing that vtx_count <64k here.
        // In practice, RenderText() relies on reserving ahead for a worst case scenario so it is currently useful for us
        // to not make that check until we rework the text functions to handle clipping and large horizontal lines better.
        _CmdHeader.VtxOffset = VtxBuffer.Size;
        _OnChangedVtxOffset();
    }

    ImDrawCmd* draw_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    draw_cmd->ElemCount += idx_count;

    int vtx_buffer_old_size = VtxBuffer.Size;
    VtxBuffer.resize(vtx_buffer_old_size + vtx_count);
    _VtxWritePtr = VtxBuffer.Data + vtx_buffer_old_size;

    int idx_buffer_old_size = IdxBuffer.Size;
    IdxBuffer.resize(idx_buffer_old_size + idx_count);
    _IdxWritePtr = IdxBuffer.Data + idx_buffer_old_size;
}

// Release the a number of reserved vertices/indices from the end of the last reservation made with PrimReserve().
void ImDrawList::PrimUnreserve(int idx_count, int vtx_count)
{
    IM_ASSERT_PARANOID(idx_count >= 0 && vtx_count >= 0);

    ImDrawCmd* draw_cmd = &CmdBuffer.Data[CmdBuffer.Size - 1];
    draw_cmd->ElemCount -= idx_count;
    VtxBuffer.shrink(VtxBuffer.Size - vtx_count);
    IdxBuffer.shrink(IdxBuffer.Size - idx_count);
}

// Fully unrolled with inline call to keep our debug builds decently fast.
void ImDrawList::PrimRect(const ImVec2& a, const ImVec2& c, ImU32 col)
{
    ImVec2 b(c.x, a.y), d(a.x, c.y), uv(_Data->TexUvWhitePixel);
    ImDrawIdx idx = (ImDrawIdx)_VtxCurrentIdx;
    _IdxWritePtr[0] = idx; _IdxWritePtr[1] = (ImDrawIdx)(idx+1); _IdxWritePtr[2] = (ImDrawIdx)(idx+2);
    _IdxWritePtr[3] = idx; _IdxWritePtr[4] = (ImDrawIdx)(idx+2); _IdxWritePtr[5] = (ImDrawIdx)(idx+3);
    _VtxWritePtr[0].pos = a; _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;
    _VtxWritePtr[1].pos = b; _VtxWritePtr[1].uv = uv; _VtxWritePtr[1].col = col;
    _VtxWritePtr[2].pos = c; _VtxWritePtr[2].uv = uv; _VtxWritePtr[2].col = col;
    _VtxWritePtr[3].pos = d; _VtxWritePtr[3].uv = uv; _VtxWritePtr[3].col = col;
    _VtxWritePtr += 4;
    _VtxCurrentIdx += 4;
    _IdxWritePtr += 6;
}

void ImDrawList::PrimRectUV(const ImVec2& a, const ImVec2& c, const ImVec2& uv_a, const ImVec2& uv_c, ImU32 col)
{
    ImVec2 b(c.x, a.y), d(a.x, c.y), uv_b(uv_c.x, uv_a.y), uv_d(uv_a.x, uv_c.y);
    ImDrawIdx idx = (ImDrawIdx)_VtxCurrentIdx;
    _IdxWritePtr[0] = idx; _IdxWritePtr[1] = (ImDrawIdx)(idx+1); _IdxWritePtr[2] = (ImDrawIdx)(idx+2);
    _IdxWritePtr[3] = idx; _IdxWritePtr[4] = (ImDrawIdx)(idx+2); _IdxWritePtr[5] = (ImDrawIdx)(idx+3);
    _VtxWritePtr[0].pos = a; _VtxWritePtr[0].uv = uv_a; _VtxWritePtr[0].col = col;
    _VtxWritePtr[1].pos = b; _VtxWritePtr[1].uv = uv_b; _VtxWritePtr[1].col = col;
    _VtxWritePtr[2].pos = c; _VtxWritePtr[2].uv = uv_c; _VtxWritePtr[2].col = col;
    _VtxWritePtr[3].pos = d; _VtxWritePtr[3].uv = uv_d; _VtxWritePtr[3].col = col;
    _VtxWritePtr += 4;
    _VtxCurrentIdx += 4;
    _IdxWritePtr += 6;
}

void ImDrawList::PrimQuadUV(const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& d, const ImVec2& uv_a, const ImVec2& uv_b, const ImVec2& uv_c, const ImVec2& uv_d, ImU32 col)
{
    ImDrawIdx idx = (ImDrawIdx)_VtxCurrentIdx;
    _IdxWritePtr[0] = idx; _IdxWritePtr[1] = (ImDrawIdx)(idx+1); _IdxWritePtr[2] = (ImDrawIdx)(idx+2);
    _IdxWritePtr[3] = idx; _IdxWritePtr[4] = (ImDrawIdx)(idx+2); _IdxWritePtr[5] = (ImDrawIdx)(idx+3);
    _VtxWritePtr[0].pos = a; _VtxWritePtr[0].uv = uv_a; _VtxWritePtr[0].col = col;
    _VtxWritePtr[1].pos = b; _VtxWritePtr[1].uv = uv_b; _VtxWritePtr[1].col = col;
    _VtxWritePtr[2].pos = c; _VtxWritePtr[2].uv = uv_c; _VtxWritePtr[2].col = col;
    _VtxWritePtr[3].pos = d; _VtxWritePtr[3].uv = uv_d; _VtxWritePtr[3].col = col;
    _VtxWritePtr += 4;
    _VtxCurrentIdx += 4;
    _IdxWritePtr += 6;
}

// On AddPolyline() and AddConvexPolyFilled() we intentionally avoid using ImVec2 and superfluous function calls to optimize debug/non-inlined builds.
// - Those macros expects l-values and need to be used as their own statement.
// - Those macros are intentionally not surrounded by the 'do {} while (0)' idiom because even that translates to runtime with debug compilers.
#define IM_NORMALIZE2F_OVER_ZERO(VX,VY)     { float d2 = VX*VX + VY*VY; if (d2 > 0.0f) { float inv_len = ImRsqrt(d2); VX *= inv_len; VY *= inv_len; } } (void)0
#define IM_FIXNORMAL2F_MAX_INVLEN2          100.0f // 500.0f (see #4053, #3366)
#define IM_FIXNORMAL2F(VX,VY)               { float d2 = VX*VX + VY*VY; if (d2 > 0.000001f) { float inv_len2 = 1.0f / d2; if (inv_len2 > IM_FIXNORMAL2F_MAX_INVLEN2) inv_len2 = IM_FIXNORMAL2F_MAX_INVLEN2; VX *= inv_len2; VY *= inv_len2; } } (void)0

// TODO: Thickness anti-aliased lines cap are missing their AA fringe.
// We avoid using the ImVec2 math operators here to reduce cost to a minimum for debug/non-inlined builds.
void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32 col, ImDrawFlags flags, float thickness)
{
    if (points_count < 2)
        return;

    const bool closed = (flags & ImDrawFlags_Closed) != 0;
    const ImVec2 opaque_uv = _Data->TexUvWhitePixel;
    const int count = closed ? points_count : points_count - 1; // The number of line segments we need to draw
    const bool thick_line = (thickness > _FringeScale);

    if (Flags & ImDrawListFlags_AntiAliasedLines)
    {
        // Anti-aliased stroke
        const float AA_SIZE = _FringeScale;
        const ImU32 col_trans = col & ~IM_COL32_A_MASK;

        // Thicknesses <1.0 should behave like thickness 1.0
        thickness = ImMax(thickness, 1.0f);
        const int integer_thickness = (int)thickness;
        const float fractional_thickness = thickness - integer_thickness;

        // Do we want to draw this line using a texture?
        // - For now, only draw integer-width lines using textures to avoid issues with the way scaling occurs, could be improved.
        // - If AA_SIZE is not 1.0f we cannot use the texture path.
        const bool use_texture = (Flags & ImDrawListFlags_AntiAliasedLinesUseTex) && (integer_thickness < IM_DRAWLIST_TEX_LINES_WIDTH_MAX) && (fractional_thickness <= 0.00001f) && (AA_SIZE == 1.0f);

        // We should never hit this, because NewFrame() doesn't set ImDrawListFlags_AntiAliasedLinesUseTex unless ImFontAtlasFlags_NoBakedLines is off
        IM_ASSERT_PARANOID(!use_texture || !(_Data->Font->ContainerAtlas->Flags & ImFontAtlasFlags_NoBakedLines));

        const int idx_count = use_texture ? (count * 6) : (thick_line ? count * 18 : count * 12);
        const int vtx_count = use_texture ? (points_count * 2) : (thick_line ? points_count * 4 : points_count * 3);
        PrimReserve(idx_count, vtx_count);

        // Temporary buffer
        // The first <points_count> items are normals at each line point, then after that there are either 2 or 4 temp points for each line point
        ImVec2* temp_normals = (ImVec2*)alloca(points_count * ((use_texture || !thick_line) ? 3 : 5) * sizeof(ImVec2)); //-V630
        ImVec2* temp_points = temp_normals + points_count;

        // Calculate normals (tangents) for each line segment
        for (int i1 = 0; i1 < count; i1++)
        {
            const int i2 = (i1 + 1) == points_count ? 0 : i1 + 1;
            float dx = points[i2].x - points[i1].x;
            float dy = points[i2].y - points[i1].y;
            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
            temp_normals[i1].x = dy;
            temp_normals[i1].y = -dx;
        }
        if (!closed)
            temp_normals[points_count - 1] = temp_normals[points_count - 2];

        // If we are drawing a one-pixel-wide line without a texture, or a textured line of any width, we only need 2 or 3 vertices per point
        if (use_texture || !thick_line)
        {
            // [PATH 1] Texture-based lines (thick or non-thick)
            // [PATH 2] Non texture-based lines (non-thick)

            // The width of the geometry we need to draw - this is essentially <thickness> pixels for the line itself, plus "one pixel" for AA.
            // - In the texture-based path, we don't use AA_SIZE here because the +1 is tied to the generated texture
            //   (see ImFontAtlasBuildRenderLinesTexData() function), and so alternate values won't work without changes to that code.
            // - In the non texture-based paths, we would allow AA_SIZE to potentially be != 1.0f with a patch (e.g. fringe_scale patch to
            //   allow scaling geometry while preserving one-screen-pixel AA fringe).
            const float half_draw_size = use_texture ? ((thickness * 0.5f) + 1) : AA_SIZE;

            // If line is not closed, the first and last points need to be generated differently as there are no normals to blend
            if (!closed)
            {
                temp_points[0] = points[0] + temp_normals[0] * half_draw_size;
                temp_points[1] = points[0] - temp_normals[0] * half_draw_size;
                temp_points[(points_count-1)*2+0] = points[points_count-1] + temp_normals[points_count-1] * half_draw_size;
                temp_points[(points_count-1)*2+1] = points[points_count-1] - temp_normals[points_count-1] * half_draw_size;
            }

            // Generate the indices to form a number of triangles for each line segment, and the vertices for the line edges
            // This takes points n and n+1 and writes into n+1, with the first point in a closed line being generated from the final one (as n+1 wraps)
            // FIXME-OPT: Merge the different loops, possibly remove the temporary buffer.
            unsigned int idx1 = _VtxCurrentIdx; // Vertex index for start of line segment
            for (int i1 = 0; i1 < count; i1++) // i1 is the first point of the line segment
            {
                const int i2 = (i1 + 1) == points_count ? 0 : i1 + 1; // i2 is the second point of the line segment
                const unsigned int idx2 = ((i1 + 1) == points_count) ? _VtxCurrentIdx : (idx1 + (use_texture ? 2 : 3)); // Vertex index for end of segment

                // Average normals
                float dm_x = (temp_normals[i1].x + temp_normals[i2].x) * 0.5f;
                float dm_y = (temp_normals[i1].y + temp_normals[i2].y) * 0.5f;
                IM_FIXNORMAL2F(dm_x, dm_y);
                dm_x *= half_draw_size; // dm_x, dm_y are offset to the outer edge of the AA area
                dm_y *= half_draw_size;

                // Add temporary vertexes for the outer edges
                ImVec2* out_vtx = &temp_points[i2 * 2];
                out_vtx[0].x = points[i2].x + dm_x;
                out_vtx[0].y = points[i2].y + dm_y;
                out_vtx[1].x = points[i2].x - dm_x;
                out_vtx[1].y = points[i2].y - dm_y;

                if (use_texture)
                {
                    // Add indices for two triangles
                    _IdxWritePtr[0] = (ImDrawIdx)(idx2 + 0); _IdxWritePtr[1] = (ImDrawIdx)(idx1 + 0); _IdxWritePtr[2] = (ImDrawIdx)(idx1 + 1); // Right tri
                    _IdxWritePtr[3] = (ImDrawIdx)(idx2 + 1); _IdxWritePtr[4] = (ImDrawIdx)(idx1 + 1); _IdxWritePtr[5] = (ImDrawIdx)(idx2 + 0); // Left tri
                    _IdxWritePtr += 6;
                }
                else
                {
                    // Add indexes for four triangles
                    _IdxWritePtr[0] = (ImDrawIdx)(idx2 + 0); _IdxWritePtr[1] = (ImDrawIdx)(idx1 + 0); _IdxWritePtr[2] = (ImDrawIdx)(idx1 + 2); // Right tri 1
                    _IdxWritePtr[3] = (ImDrawIdx)(idx1 + 2); _IdxWritePtr[4] = (ImDrawIdx)(idx2 + 2); _IdxWritePtr[5] = (ImDrawIdx)(idx2 + 0); // Right tri 2
                    _IdxWritePtr[6] = (ImDrawIdx)(idx2 + 1); _IdxWritePtr[7] = (ImDrawIdx)(idx1 + 1); _IdxWritePtr[8] = (ImDrawIdx)(idx1 + 0); // Left tri 1
                    _IdxWritePtr[9] = (ImDrawIdx)(idx1 + 0); _IdxWritePtr[10] = (ImDrawIdx)(idx2 + 0); _IdxWritePtr[11] = (ImDrawIdx)(idx2 + 1); // Left tri 2
                    _IdxWritePtr += 12;
                }

                idx1 = idx2;
            }

            // Add vertexes for each point on the line
            if (use_texture)
            {
                // If we're using textures we only need to emit the left/right edge vertices
                ImVec4 tex_uvs = _Data->TexUvLines[integer_thickness];
                /*if (fractional_thickness != 0.0f) // Currently always zero when use_texture==false!
                {
                    const ImVec4 tex_uvs_1 = _Data->TexUvLines[integer_thickness + 1];
                    tex_uvs.x = tex_uvs.x + (tex_uvs_1.x - tex_uvs.x) * fractional_thickness; // inlined ImLerp()
                    tex_uvs.y = tex_uvs.y + (tex_uvs_1.y - tex_uvs.y) * fractional_thickness;
                    tex_uvs.z = tex_uvs.z + (tex_uvs_1.z - tex_uvs.z) * fractional_thickness;
                    tex_uvs.w = tex_uvs.w + (tex_uvs_1.w - tex_uvs.w) * fractional_thickness;
                }*/
                ImVec2 tex_uv0(tex_uvs.x, tex_uvs.y);
                ImVec2 tex_uv1(tex_uvs.z, tex_uvs.w);
                for (int i = 0; i < points_count; i++)
                {
                    _VtxWritePtr[0].pos = temp_points[i * 2 + 0]; _VtxWritePtr[0].uv = tex_uv0; _VtxWritePtr[0].col = col; // Left-side outer edge
                    _VtxWritePtr[1].pos = temp_points[i * 2 + 1]; _VtxWritePtr[1].uv = tex_uv1; _VtxWritePtr[1].col = col; // Right-side outer edge
                    _VtxWritePtr += 2;
                }
            }
            else
            {
                // If we're not using a texture, we need the center vertex as well
                for (int i = 0; i < points_count; i++)
                {
                    _VtxWritePtr[0].pos = points[i];              _VtxWritePtr[0].uv = opaque_uv; _VtxWritePtr[0].col = col;       // Center of line
                    _VtxWritePtr[1].pos = temp_points[i * 2 + 0]; _VtxWritePtr[1].uv = opaque_uv; _VtxWritePtr[1].col = col_trans; // Left-side outer edge
                    _VtxWritePtr[2].pos = temp_points[i * 2 + 1]; _VtxWritePtr[2].uv = opaque_uv; _VtxWritePtr[2].col = col_trans; // Right-side outer edge
                    _VtxWritePtr += 3;
                }
            }
        }
        else
        {
            // [PATH 2] Non texture-based lines (thick): we need to draw the solid line core and thus require four vertices per point
            const float half_inner_thickness = (thickness - AA_SIZE) * 0.5f;

            // If line is not closed, the first and last points need to be generated differently as there are no normals to blend
            if (!closed)
            {
                const int points_last = points_count - 1;
                temp_points[0] = points[0] + temp_normals[0] * (half_inner_thickness + AA_SIZE);
                temp_points[1] = points[0] + temp_normals[0] * (half_inner_thickness);
                temp_points[2] = points[0] - temp_normals[0] * (half_inner_thickness);
                temp_points[3] = points[0] - temp_normals[0] * (half_inner_thickness + AA_SIZE);
                temp_points[points_last * 4 + 0] = points[points_last] + temp_normals[points_last] * (half_inner_thickness + AA_SIZE);
                temp_points[points_last * 4 + 1] = points[points_last] + temp_normals[points_last] * (half_inner_thickness);
                temp_points[points_last * 4 + 2] = points[points_last] - temp_normals[points_last] * (half_inner_thickness);
                temp_points[points_last * 4 + 3] = points[points_last] - temp_normals[points_last] * (half_inner_thickness + AA_SIZE);
            }

            // Generate the indices to form a number of triangles for each line segment, and the vertices for the line edges
            // This takes points n and n+1 and writes into n+1, with the first point in a closed line being generated from the final one (as n+1 wraps)
            // FIXME-OPT: Merge the different loops, possibly remove the temporary buffer.
            unsigned int idx1 = _VtxCurrentIdx; // Vertex index for start of line segment
            for (int i1 = 0; i1 < count; i1++) // i1 is the first point of the line segment
            {
                const int i2 = (i1 + 1) == points_count ? 0 : (i1 + 1); // i2 is the second point of the line segment
                const unsigned int idx2 = (i1 + 1) == points_count ? _VtxCurrentIdx : (idx1 + 4); // Vertex index for end of segment

                // Average normals
                float dm_x = (temp_normals[i1].x + temp_normals[i2].x) * 0.5f;
                float dm_y = (temp_normals[i1].y + temp_normals[i2].y) * 0.5f;
                IM_FIXNORMAL2F(dm_x, dm_y);
                float dm_out_x = dm_x * (half_inner_thickness + AA_SIZE);
                float dm_out_y = dm_y * (half_inner_thickness + AA_SIZE);
                float dm_in_x = dm_x * half_inner_thickness;
                float dm_in_y = dm_y * half_inner_thickness;

                // Add temporary vertices
                ImVec2* out_vtx = &temp_points[i2 * 4];
                out_vtx[0].x = points[i2].x + dm_out_x;
                out_vtx[0].y = points[i2].y + dm_out_y;
                out_vtx[1].x = points[i2].x + dm_in_x;
                out_vtx[1].y = points[i2].y + dm_in_y;
                out_vtx[2].x = points[i2].x - dm_in_x;
                out_vtx[2].y = points[i2].y - dm_in_y;
                out_vtx[3].x = points[i2].x - dm_out_x;
                out_vtx[3].y = points[i2].y - dm_out_y;

                // Add indexes
                _IdxWritePtr[0]  = (ImDrawIdx)(idx2 + 1); _IdxWritePtr[1]  = (ImDrawIdx)(idx1 + 1); _IdxWritePtr[2]  = (ImDrawIdx)(idx1 + 2);
                _IdxWritePtr[3]  = (ImDrawIdx)(idx1 + 2); _IdxWritePtr[4]  = (ImDrawIdx)(idx2 + 2); _IdxWritePtr[5]  = (ImDrawIdx)(idx2 + 1);
                _IdxWritePtr[6]  = (ImDrawIdx)(idx2 + 1); _IdxWritePtr[7]  = (ImDrawIdx)(idx1 + 1); _IdxWritePtr[8]  = (ImDrawIdx)(idx1 + 0);
                _IdxWritePtr[9]  = (ImDrawIdx)(idx1 + 0); _IdxWritePtr[10] = (ImDrawIdx)(idx2 + 0); _IdxWritePtr[11] = (ImDrawIdx)(idx2 + 1);
                _IdxWritePtr[12] = (ImDrawIdx)(idx2 + 2); _IdxWritePtr[13] = (ImDrawIdx)(idx1 + 2); _IdxWritePtr[14] = (ImDrawIdx)(idx1 + 3);
                _IdxWritePtr[15] = (ImDrawIdx)(idx1 + 3); _IdxWritePtr[16] = (ImDrawIdx)(idx2 + 3); _IdxWritePtr[17] = (ImDrawIdx)(idx2 + 2);
                _IdxWritePtr += 18;

                idx1 = idx2;
            }

            // Add vertices
            for (int i = 0; i < points_count; i++)
            {
                _VtxWritePtr[0].pos = temp_points[i * 4 + 0]; _VtxWritePtr[0].uv = opaque_uv; _VtxWritePtr[0].col = col_trans;
                _VtxWritePtr[1].pos = temp_points[i * 4 + 1]; _VtxWritePtr[1].uv = opaque_uv; _VtxWritePtr[1].col = col;
                _VtxWritePtr[2].pos = temp_points[i * 4 + 2]; _VtxWritePtr[2].uv = opaque_uv; _VtxWritePtr[2].col = col;
                _VtxWritePtr[3].pos = temp_points[i * 4 + 3]; _VtxWritePtr[3].uv = opaque_uv; _VtxWritePtr[3].col = col_trans;
                _VtxWritePtr += 4;
            }
        }
        _VtxCurrentIdx += (ImDrawIdx)vtx_count;
    }
    else
    {
        // [PATH 4] Non texture-based, Non anti-aliased lines
        const int idx_count = count * 6;
        const int vtx_count = count * 4;    // FIXME-OPT: Not sharing edges
        PrimReserve(idx_count, vtx_count);

        for (int i1 = 0; i1 < count; i1++)
        {
            const int i2 = (i1 + 1) == points_count ? 0 : i1 + 1;
            const ImVec2& p1 = points[i1];
            const ImVec2& p2 = points[i2];

            float dx = p2.x - p1.x;
            float dy = p2.y - p1.y;
            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
            dx *= (thickness * 0.5f);
            dy *= (thickness * 0.5f);

            _VtxWritePtr[0].pos.x = p1.x + dy; _VtxWritePtr[0].pos.y = p1.y - dx; _VtxWritePtr[0].uv = opaque_uv; _VtxWritePtr[0].col = col;
            _VtxWritePtr[1].pos.x = p2.x + dy; _VtxWritePtr[1].pos.y = p2.y - dx; _VtxWritePtr[1].uv = opaque_uv; _VtxWritePtr[1].col = col;
            _VtxWritePtr[2].pos.x = p2.x - dy; _VtxWritePtr[2].pos.y = p2.y + dx; _VtxWritePtr[2].uv = opaque_uv; _VtxWritePtr[2].col = col;
            _VtxWritePtr[3].pos.x = p1.x - dy; _VtxWritePtr[3].pos.y = p1.y + dx; _VtxWritePtr[3].uv = opaque_uv; _VtxWritePtr[3].col = col;
            _VtxWritePtr += 4;

            _IdxWritePtr[0] = (ImDrawIdx)(_VtxCurrentIdx); _IdxWritePtr[1] = (ImDrawIdx)(_VtxCurrentIdx + 1); _IdxWritePtr[2] = (ImDrawIdx)(_VtxCurrentIdx + 2);
            _IdxWritePtr[3] = (ImDrawIdx)(_VtxCurrentIdx); _IdxWritePtr[4] = (ImDrawIdx)(_VtxCurrentIdx + 2); _IdxWritePtr[5] = (ImDrawIdx)(_VtxCurrentIdx + 3);
            _IdxWritePtr += 6;
            _VtxCurrentIdx += 4;
        }
    }
}

// We intentionally avoid using ImVec2 and its math operators here to reduce cost to a minimum for debug/non-inlined builds.
void ImDrawList::AddConvexPolyFilled(const ImVec2* points, const int points_count, ImU32 col)
{
    if (points_count < 3)
        return;

    const ImVec2 uv = _Data->TexUvWhitePixel;

    if (Flags & ImDrawListFlags_AntiAliasedFill)
    {
        // Anti-aliased Fill
        const float AA_SIZE = _FringeScale;
        const ImU32 col_trans = col & ~IM_COL32_A_MASK;
        const int idx_count = (points_count - 2)*3 + points_count * 6;
        const int vtx_count = (points_count * 2);
        PrimReserve(idx_count, vtx_count);

        // Add indexes for fill
        unsigned int vtx_inner_idx = _VtxCurrentIdx;
        unsigned int vtx_outer_idx = _VtxCurrentIdx + 1;
        for (int i = 2; i < points_count; i++)
        {
            _IdxWritePtr[0] = (ImDrawIdx)(vtx_inner_idx); _IdxWritePtr[1] = (ImDrawIdx)(vtx_inner_idx + ((i - 1) << 1)); _IdxWritePtr[2] = (ImDrawIdx)(vtx_inner_idx + (i << 1));
            _IdxWritePtr += 3;
        }

        // Compute normals
        ImVec2* temp_normals = (ImVec2*)alloca(points_count * sizeof(ImVec2)); //-V630
        for (int i0 = points_count - 1, i1 = 0; i1 < points_count; i0 = i1++)
        {
            const ImVec2& p0 = points[i0];
            const ImVec2& p1 = points[i1];
            float dx = p1.x - p0.x;
            float dy = p1.y - p0.y;
            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
            temp_normals[i0].x = dy;
            temp_normals[i0].y = -dx;
        }

        for (int i0 = points_count - 1, i1 = 0; i1 < points_count; i0 = i1++)
        {
            // Average normals
            const ImVec2& n0 = temp_normals[i0];
            const ImVec2& n1 = temp_normals[i1];
            float dm_x = (n0.x + n1.x) * 0.5f;
            float dm_y = (n0.y + n1.y) * 0.5f;
            IM_FIXNORMAL2F(dm_x, dm_y);
            dm_x *= AA_SIZE * 0.5f;
            dm_y *= AA_SIZE * 0.5f;

            // Add vertices
            _VtxWritePtr[0].pos.x = (points[i1].x - dm_x); _VtxWritePtr[0].pos.y = (points[i1].y - dm_y); _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;        // Inner
            _VtxWritePtr[1].pos.x = (points[i1].x + dm_x); _VtxWritePtr[1].pos.y = (points[i1].y + dm_y); _VtxWritePtr[1].uv = uv; _VtxWritePtr[1].col = col_trans;  // Outer
            _VtxWritePtr += 2;

            // Add indexes for fringes
            _IdxWritePtr[0] = (ImDrawIdx)(vtx_inner_idx + (i1 << 1)); _IdxWritePtr[1] = (ImDrawIdx)(vtx_inner_idx + (i0 << 1)); _IdxWritePtr[2] = (ImDrawIdx)(vtx_outer_idx + (i0 << 1));
            _IdxWritePtr[3] = (ImDrawIdx)(vtx_outer_idx + (i0 << 1)); _IdxWritePtr[4] = (ImDrawIdx)(vtx_outer_idx + (i1 << 1)); _IdxWritePtr[5] = (ImDrawIdx)(vtx_inner_idx + (i1 << 1));
            _IdxWritePtr += 6;
        }
        _VtxCurrentIdx += (ImDrawIdx)vtx_count;
    }
    else
    {
        // Non Anti-aliased Fill
        const int idx_count = (points_count - 2)*3;
        const int vtx_count = points_count;
        PrimReserve(idx_count, vtx_count);
        for (int i = 0; i < vtx_count; i++)
        {
            _VtxWritePtr[0].pos = points[i]; _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;
            _VtxWritePtr++;
        }
        for (int i = 2; i < points_count; i++)
        {
            _IdxWritePtr[0] = (ImDrawIdx)(_VtxCurrentIdx); _IdxWritePtr[1] = (ImDrawIdx)(_VtxCurrentIdx + i - 1); _IdxWritePtr[2] = (ImDrawIdx)(_VtxCurrentIdx + i);
            _IdxWritePtr += 3;
        }
        _VtxCurrentIdx += (ImDrawIdx)vtx_count;
    }
}

void ImDrawList::_PathArcToFastEx(const ImVec2& center, float radius, int a_min_sample, int a_max_sample, int a_step)
{
    if (radius <= 0.0f)
    {
        _Path.push_back(center);
        return;
    }

    // Calculate arc auto segment step size
    if (a_step <= 0)
        a_step = IM_DRAWLIST_ARCFAST_SAMPLE_MAX / _CalcCircleAutoSegmentCount(radius);

    // Make sure we never do steps larger than one quarter of the circle
    a_step = ImClamp(a_step, 1, IM_DRAWLIST_ARCFAST_TABLE_SIZE / 4);

    const int sample_range = ImAbs(a_max_sample - a_min_sample);
    const int a_next_step = a_step;

    int samples = sample_range + 1;
    bool extra_max_sample = false;
    if (a_step > 1)
    {
        samples            = sample_range / a_step + 1;
        const int overstep = sample_range % a_step;

        if (overstep > 0)
        {
            extra_max_sample = true;
            samples++;

            // When we have overstep to avoid awkwardly looking one long line and one tiny one at the end,
            // distribute first step range evenly between them by reducing first step size.
            if (sample_range > 0)
                a_step -= (a_step - overstep) / 2;
        }
    }

    _Path.resize(_Path.Size + samples);
    ImVec2* out_ptr = _Path.Data + (_Path.Size - samples);

    int sample_index = a_min_sample;
    if (sample_index < 0 || sample_index >= IM_DRAWLIST_ARCFAST_SAMPLE_MAX)
    {
        sample_index = sample_index % IM_DRAWLIST_ARCFAST_SAMPLE_MAX;
        if (sample_index < 0)
            sample_index += IM_DRAWLIST_ARCFAST_SAMPLE_MAX;
    }

    if (a_max_sample >= a_min_sample)
    {
        for (int a = a_min_sample; a <= a_max_sample; a += a_step, sample_index += a_step, a_step = a_next_step)
        {
            // a_step is clamped to IM_DRAWLIST_ARCFAST_SAMPLE_MAX, so we have guaranteed that it will not wrap over range twice or more
            if (sample_index >= IM_DRAWLIST_ARCFAST_SAMPLE_MAX)
                sample_index -= IM_DRAWLIST_ARCFAST_SAMPLE_MAX;

            const ImVec2 s = _Data->ArcFastVtx[sample_index];
            out_ptr->x = center.x + s.x * radius;
            out_ptr->y = center.y + s.y * radius;
            out_ptr++;
        }
    }
    else
    {
        for (int a = a_min_sample; a >= a_max_sample; a -= a_step, sample_index -= a_step, a_step = a_next_step)
        {
            // a_step is clamped to IM_DRAWLIST_ARCFAST_SAMPLE_MAX, so we have guaranteed that it will not wrap over range twice or more
            if (sample_index < 0)
                sample_index += IM_DRAWLIST_ARCFAST_SAMPLE_MAX;

            const ImVec2 s = _Data->ArcFastVtx[sample_index];
            out_ptr->x = center.x + s.x * radius;
            out_ptr->y = center.y + s.y * radius;
            out_ptr++;
        }
    }

    if (extra_max_sample)
    {
        int normalized_max_sample = a_max_sample % IM_DRAWLIST_ARCFAST_SAMPLE_MAX;
        if (normalized_max_sample < 0)
            normalized_max_sample += IM_DRAWLIST_ARCFAST_SAMPLE_MAX;

        const ImVec2 s = _Data->ArcFastVtx[normalized_max_sample];
        out_ptr->x = center.x + s.x * radius;
        out_ptr->y = center.y + s.y * radius;
        out_ptr++;
    }

    IM_ASSERT_PARANOID(_Path.Data + _Path.Size == out_ptr);
}

void ImDrawList::_PathArcToN(const ImVec2& center, float radius, float a_min, float a_max, int num_segments)
{
    if (radius <= 0.0f)
    {
        _Path.push_back(center);
        return;
    }

    // Note that we are adding a point at both a_min and a_max.
    // If you are trying to draw a full closed circle you don't want the overlapping points!
    _Path.reserve(_Path.Size + (num_segments + 1));
    for (int i = 0; i <= num_segments; i++)
    {
        const float a = a_min + ((float)i / (float)num_segments) * (a_max - a_min);
        _Path.push_back(ImVec2(center.x + ImCos(a) * radius, center.y + ImSin(a) * radius));
    }
}

// 0: East, 3: South, 6: West, 9: North, 12: East
void ImDrawList::PathArcToFast(const ImVec2& center, float radius, int a_min_of_12, int a_max_of_12)
{
    if (radius <= 0.0f)
    {
        _Path.push_back(center);
        return;
    }
    _PathArcToFastEx(center, radius, a_min_of_12 * IM_DRAWLIST_ARCFAST_SAMPLE_MAX / 12, a_max_of_12 * IM_DRAWLIST_ARCFAST_SAMPLE_MAX / 12, 0);
}

void ImDrawList::PathArcTo(const ImVec2& center, float radius, float a_min, float a_max, int num_segments)
{
    if (radius <= 0.0f)
    {
        _Path.push_back(center);
        return;
    }

    if (num_segments > 0)
    {
        _PathArcToN(center, radius, a_min, a_max, num_segments);
        return;
    }

    // Automatic segment count
    if (radius <= _Data->ArcFastRadiusCutoff)
    {
        const bool a_is_reverse = a_max < a_min;

        // We are going to use precomputed values for mid samples.
        // Determine first and last sample in lookup table that belong to the arc.
        const float a_min_sample_f = IM_DRAWLIST_ARCFAST_SAMPLE_MAX * a_min / (IM_PI * 2.0f);
        const float a_max_sample_f = IM_DRAWLIST_ARCFAST_SAMPLE_MAX * a_max / (IM_PI * 2.0f);

        const int a_min_sample = a_is_reverse ? (int)ImFloorSigned(a_min_sample_f) : (int)ImCeil(a_min_sample_f);
        const int a_max_sample = a_is_reverse ? (int)ImCeil(a_max_sample_f) : (int)ImFloorSigned(a_max_sample_f);
        const int a_mid_samples = a_is_reverse ? ImMax(a_min_sample - a_max_sample, 0) : ImMax(a_max_sample - a_min_sample, 0);

        const float a_min_segment_angle = a_min_sample * IM_PI * 2.0f / IM_DRAWLIST_ARCFAST_SAMPLE_MAX;
        const float a_max_segment_angle = a_max_sample * IM_PI * 2.0f / IM_DRAWLIST_ARCFAST_SAMPLE_MAX;
        const bool a_emit_start = (a_min_segment_angle - a_min) != 0.0f;
        const bool a_emit_end = (a_max - a_max_segment_angle) != 0.0f;

        _Path.reserve(_Path.Size + (a_mid_samples + 1 + (a_emit_start ? 1 : 0) + (a_emit_end ? 1 : 0)));
        if (a_emit_start)
            _Path.push_back(ImVec2(center.x + ImCos(a_min) * radius, center.y + ImSin(a_min) * radius));
        if (a_mid_samples > 0)
            _PathArcToFastEx(center, radius, a_min_sample, a_max_sample, 0);
        if (a_emit_end)
            _Path.push_back(ImVec2(center.x + ImCos(a_max) * radius, center.y + ImSin(a_max) * radius));
    }
    else
    {
        const float arc_length = ImAbs(a_max - a_min);
        const int circle_segment_count = _CalcCircleAutoSegmentCount(radius);
        const int arc_segment_count = ImMax((int)ImCeil(circle_segment_count * arc_length / (IM_PI * 2.0f)), (int)(2.0f * IM_PI / arc_length));
        _PathArcToN(center, radius, a_min, a_max, arc_segment_count);
    }
}

ImVec2 ImBezierCubicCalc(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, float t)
{
    float u = 1.0f - t;
    float w1 = u * u * u;
    float w2 = 3 * u * u * t;
    float w3 = 3 * u * t * t;
    float w4 = t * t * t;
    return ImVec2(w1 * p1.x + w2 * p2.x + w3 * p3.x + w4 * p4.x, w1 * p1.y + w2 * p2.y + w3 * p3.y + w4 * p4.y);
}

ImVec2 ImBezierQuadraticCalc(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, float t)
{
    float u = 1.0f - t;
    float w1 = u * u;
    float w2 = 2 * u * t;
    float w3 = t * t;
    return ImVec2(w1 * p1.x + w2 * p2.x + w3 * p3.x, w1 * p1.y + w2 * p2.y + w3 * p3.y);
}

// Closely mimics ImBezierCubicClosestPointCasteljau() in imgui.cpp
static void PathBezierCubicCurveToCasteljau(ImVector<ImVec2>* path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, float tess_tol, int level)
{
    float dx = x4 - x1;
    float dy = y4 - y1;
    float d2 = (x2 - x4) * dy - (y2 - y4) * dx;
    float d3 = (x3 - x4) * dy - (y3 - y4) * dx;
    d2 = (d2 >= 0) ? d2 : -d2;
    d3 = (d3 >= 0) ? d3 : -d3;
    if ((d2 + d3) * (d2 + d3) < tess_tol * (dx * dx + dy * dy))
    {
        path->push_back(ImVec2(x4, y4));
    }
    else if (level < 10)
    {
        float x12 = (x1 + x2) * 0.5f, y12 = (y1 + y2) * 0.5f;
        float x23 = (x2 + x3) * 0.5f, y23 = (y2 + y3) * 0.5f;
        float x34 = (x3 + x4) * 0.5f, y34 = (y3 + y4) * 0.5f;
        float x123 = (x12 + x23) * 0.5f, y123 = (y12 + y23) * 0.5f;
        float x234 = (x23 + x34) * 0.5f, y234 = (y23 + y34) * 0.5f;
        float x1234 = (x123 + x234) * 0.5f, y1234 = (y123 + y234) * 0.5f;
        PathBezierCubicCurveToCasteljau(path, x1, y1, x12, y12, x123, y123, x1234, y1234, tess_tol, level + 1);
        PathBezierCubicCurveToCasteljau(path, x1234, y1234, x234, y234, x34, y34, x4, y4, tess_tol, level + 1);
    }
}

static void PathBezierQuadraticCurveToCasteljau(ImVector<ImVec2>* path, float x1, float y1, float x2, float y2, float x3, float y3, float tess_tol, int level)
{
    float dx = x3 - x1, dy = y3 - y1;
    float det = (x2 - x3) * dy - (y2 - y3) * dx;
    if (det * det * 4.0f < tess_tol * (dx * dx + dy * dy))
    {
        path->push_back(ImVec2(x3, y3));
    }
    else if (level < 10)
    {
        float x12 = (x1 + x2) * 0.5f, y12 = (y1 + y2) * 0.5f;
        float x23 = (x2 + x3) * 0.5f, y23 = (y2 + y3) * 0.5f;
        float x123 = (x12 + x23) * 0.5f, y123 = (y12 + y23) * 0.5f;
        PathBezierQuadraticCurveToCasteljau(path, x1, y1, x12, y12, x123, y123, tess_tol, level + 1);
        PathBezierQuadraticCurveToCasteljau(path, x123, y123, x23, y23, x3, y3, tess_tol, level + 1);
    }
}

void ImDrawList::PathBezierCubicCurveTo(const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, int num_segments)
{
    ImVec2 p1 = _Path.back();
    if (num_segments == 0)
    {
        PathBezierCubicCurveToCasteljau(&_Path, p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, p4.x, p4.y, _Data->CurveTessellationTol, 0); // Auto-tessellated
    }
    else
    {
        float t_step = 1.0f / (float)num_segments;
        for (int i_step = 1; i_step <= num_segments; i_step++)
            _Path.push_back(ImBezierCubicCalc(p1, p2, p3, p4, t_step * i_step));
    }
}

void ImDrawList::PathBezierQuadraticCurveTo(const ImVec2& p2, const ImVec2& p3, int num_segments)
{
    ImVec2 p1 = _Path.back();
    if (num_segments == 0)
    {
        PathBezierQuadraticCurveToCasteljau(&_Path, p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, _Data->CurveTessellationTol, 0);// Auto-tessellated
    }
    else
    {
        float t_step = 1.0f / (float)num_segments;
        for (int i_step = 1; i_step <= num_segments; i_step++)
            _Path.push_back(ImBezierQuadraticCalc(p1, p2, p3, t_step * i_step));
    }
}

IM_STATIC_ASSERT(ImDrawFlags_RoundCornersTopLeft == (1 << 4));
static inline ImDrawFlags FixRectCornerFlags(ImDrawFlags flags)
{
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
    // Legacy Support for hard coded ~0 (used to be a suggested equivalent to ImDrawCornerFlags_All)
    //   ~0   --> ImDrawFlags_RoundCornersAll or 0
    if (flags == ~0)
        return ImDrawFlags_RoundCornersAll;

    // Legacy Support for hard coded 0x01 to 0x0F (matching 15 out of 16 old flags combinations)
    //   0x01 --> ImDrawFlags_RoundCornersTopLeft (VALUE 0x01 OVERLAPS ImDrawFlags_Closed but ImDrawFlags_Closed is never valid in this path!)
    //   0x02 --> ImDrawFlags_RoundCornersTopRight
    //   0x03 --> ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight
    //   0x04 --> ImDrawFlags_RoundCornersBotLeft
    //   0x05 --> ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersBotLeft
    //   ...
    //   0x0F --> ImDrawFlags_RoundCornersAll or 0
    // (See all values in ImDrawCornerFlags_)
    if (flags >= 0x01 && flags <= 0x0F)
        return (flags << 4);

    // We cannot support hard coded 0x00 with 'float rounding > 0.0f' --> replace with ImDrawFlags_RoundCornersNone or use 'float rounding = 0.0f'
#endif

    // If this triggers, please update your code replacing hardcoded values with new ImDrawFlags_RoundCorners* values.
    // Note that ImDrawFlags_Closed (== 0x01) is an invalid flag for AddRect(), AddRectFilled(), PathRect() etc...
    IM_ASSERT((flags & 0x0F) == 0 && "Misuse of legacy hardcoded ImDrawCornerFlags values!");

    if ((flags & ImDrawFlags_RoundCornersMask_) == 0)
        flags |= ImDrawFlags_RoundCornersAll;

    return flags;
}

void ImDrawList::PathRect(const ImVec2& a, const ImVec2& b, float rounding, ImDrawFlags flags)
{
    flags = FixRectCornerFlags(flags);
    rounding = ImMin(rounding, ImFabs(b.x - a.x) * ( ((flags & ImDrawFlags_RoundCornersTop)  == ImDrawFlags_RoundCornersTop)  || ((flags & ImDrawFlags_RoundCornersBottom) == ImDrawFlags_RoundCornersBottom) ? 0.5f : 1.0f ) - 1.0f);
    rounding = ImMin(rounding, ImFabs(b.y - a.y) * ( ((flags & ImDrawFlags_RoundCornersLeft) == ImDrawFlags_RoundCornersLeft) || ((flags & ImDrawFlags_RoundCornersRight)  == ImDrawFlags_RoundCornersRight)  ? 0.5f : 1.0f ) - 1.0f);

    if (rounding <= 0.0f || (flags & ImDrawFlags_RoundCornersMask_) == ImDrawFlags_RoundCornersNone)
    {
        PathLineTo(a);
        PathLineTo(ImVec2(b.x, a.y));
        PathLineTo(b);
        PathLineTo(ImVec2(a.x, b.y));
    }
    else
    {
        const float rounding_tl = (flags & ImDrawFlags_RoundCornersTopLeft)     ? rounding : 0.0f;
        const float rounding_tr = (flags & ImDrawFlags_RoundCornersTopRight)    ? rounding : 0.0f;
        const float rounding_br = (flags & ImDrawFlags_RoundCornersBottomRight) ? rounding : 0.0f;
        const float rounding_bl = (flags & ImDrawFlags_RoundCornersBottomLeft)  ? rounding : 0.0f;
        PathArcToFast(ImVec2(a.x + rounding_tl, a.y + rounding_tl), rounding_tl, 6, 9);
        PathArcToFast(ImVec2(b.x - rounding_tr, a.y + rounding_tr), rounding_tr, 9, 12);
        PathArcToFast(ImVec2(b.x - rounding_br, b.y - rounding_br), rounding_br, 0, 3);
        PathArcToFast(ImVec2(a.x + rounding_bl, b.y - rounding_bl), rounding_bl, 3, 6);
    }
}

void ImDrawList::AddLine(const ImVec2& p1, const ImVec2& p2, ImU32 col, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;
    PathLineTo(p1 + ImVec2(0.5f, 0.5f));
    PathLineTo(p2 + ImVec2(0.5f, 0.5f));
    PathStroke(col, 0, thickness);
}

// p_min = upper-left, p_max = lower-right
// Note we don't render 1 pixels sized rectangles properly.
void ImDrawList::AddRect(const ImVec2& p_min, const ImVec2& p_max, ImU32 col, float rounding, ImDrawFlags flags, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;
    if (Flags & ImDrawListFlags_AntiAliasedLines)
        PathRect(p_min + ImVec2(0.50f, 0.50f), p_max - ImVec2(0.50f, 0.50f), rounding, flags);
    else
        PathRect(p_min + ImVec2(0.50f, 0.50f), p_max - ImVec2(0.49f, 0.49f), rounding, flags); // Better looking lower-right corner and rounded non-AA shapes.
    PathStroke(col, ImDrawFlags_Closed, thickness);
}

void ImDrawList::AddRectFilled(const ImVec2& p_min, const ImVec2& p_max, ImU32 col, float rounding, ImDrawFlags flags)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;
    if (rounding <= 0.0f || (flags & ImDrawFlags_RoundCornersMask_) == ImDrawFlags_RoundCornersNone)
    {
        PrimReserve(6, 4);
        PrimRect(p_min, p_max, col);
    }
    else
    {
        PathRect(p_min, p_max, rounding, flags);
        PathFillConvex(col);
    }
}

// p_min = upper-left, p_max = lower-right
void ImDrawList::AddRectFilledMultiColor(const ImVec2& p_min, const ImVec2& p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
{
    if (((col_upr_left | col_upr_right | col_bot_right | col_bot_left) & IM_COL32_A_MASK) == 0)
        return;

    const ImVec2 uv = _Data->TexUvWhitePixel;
    PrimReserve(6, 4);
    PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx)); PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx + 1)); PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx + 2));
    PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx)); PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx + 2)); PrimWriteIdx((ImDrawIdx)(_VtxCurrentIdx + 3));
    PrimWriteVtx(p_min, uv, col_upr_left);
    PrimWriteVtx(ImVec2(p_max.x, p_min.y), uv, col_upr_right);
    PrimWriteVtx(p_max, uv, col_bot_right);
    PrimWriteVtx(ImVec2(p_min.x, p_max.y), uv, col_bot_left);
}

void ImDrawList::AddQuad(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathLineTo(p2);
    PathLineTo(p3);
    PathLineTo(p4);
    PathStroke(col, ImDrawFlags_Closed, thickness);
}

void ImDrawList::AddQuadFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathLineTo(p2);
    PathLineTo(p3);
    PathLineTo(p4);
    PathFillConvex(col);
}

void ImDrawList::AddTriangle(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathLineTo(p2);
    PathLineTo(p3);
    PathStroke(col, ImDrawFlags_Closed, thickness);
}

void ImDrawList::AddTriangleFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathLineTo(p2);
    PathLineTo(p3);
    PathFillConvex(col);
}

void ImDrawList::AddCircle(const ImVec2& center, float radius, ImU32 col, int num_segments, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0 || radius <= 0.0f)
        return;

    if (num_segments <= 0)
    {
        // Use arc with automatic segment count
        _PathArcToFastEx(center, radius - 0.5f, 0, IM_DRAWLIST_ARCFAST_SAMPLE_MAX, 0);
        _Path.Size--;
    }
    else
    {
        // Explicit segment count (still clamp to avoid drawing insanely tessellated shapes)
        num_segments = ImClamp(num_segments, 3, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX);

        // Because we are filling a closed shape we remove 1 from the count of segments/points
        const float a_max = (IM_PI * 2.0f) * ((float)num_segments - 1.0f) / (float)num_segments;
        PathArcTo(center, radius - 0.5f, 0.0f, a_max, num_segments - 1);
    }

    PathStroke(col, ImDrawFlags_Closed, thickness);
}

void ImDrawList::AddCircleFilled(const ImVec2& center, float radius, ImU32 col, int num_segments)
{
    if ((col & IM_COL32_A_MASK) == 0 || radius <= 0.0f)
        return;

    if (num_segments <= 0)
    {
        // Use arc with automatic segment count
        _PathArcToFastEx(center, radius, 0, IM_DRAWLIST_ARCFAST_SAMPLE_MAX, 0);
        _Path.Size--;
    }
    else
    {
        // Explicit segment count (still clamp to avoid drawing insanely tessellated shapes)
        num_segments = ImClamp(num_segments, 3, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX);

        // Because we are filling a closed shape we remove 1 from the count of segments/points
        const float a_max = (IM_PI * 2.0f) * ((float)num_segments - 1.0f) / (float)num_segments;
        PathArcTo(center, radius, 0.0f, a_max, num_segments - 1);
    }

    PathFillConvex(col);
}

// Guaranteed to honor 'num_segments'
void ImDrawList::AddNgon(const ImVec2& center, float radius, ImU32 col, int num_segments, float thickness)
{
    if ((col & IM_COL32_A_MASK) == 0 || num_segments <= 2)
        return;

    // Because we are filling a closed shape we remove 1 from the count of segments/points
    const float a_max = (IM_PI * 2.0f) * ((float)num_segments - 1.0f) / (float)num_segments;
    PathArcTo(center, radius - 0.5f, 0.0f, a_max, num_segments - 1);
    PathStroke(col, ImDrawFlags_Closed, thickness);
}

// Guaranteed to honor 'num_segments'
void ImDrawList::AddNgonFilled(const ImVec2& center, float radius, ImU32 col, int num_segments)
{
    if ((col & IM_COL32_A_MASK) == 0 || num_segments <= 2)
        return;

    // Because we are filling a closed shape we remove 1 from the count of segments/points
    const float a_max = (IM_PI * 2.0f) * ((float)num_segments - 1.0f) / (float)num_segments;
    PathArcTo(center, radius, 0.0f, a_max, num_segments - 1);
    PathFillConvex(col);
}

// Cubic Bezier takes 4 controls points
void ImDrawList::AddBezierCubic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness, int num_segments)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathBezierCubicCurveTo(p2, p3, p4, num_segments);
    PathStroke(col, 0, thickness);
}

// Quadratic Bezier takes 3 controls points
void ImDrawList::AddBezierQuadratic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col, float thickness, int num_segments)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    PathLineTo(p1);
    PathBezierQuadraticCurveTo(p2, p3, num_segments);
    PathStroke(col, 0, thickness);
}

void ImDrawList::AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    if (text_end == NULL)
        text_end = text_begin + strlen(text_begin);
    if (text_begin == text_end)
        return;

    // Pull default font/size from the shared ImDrawListSharedData instance
    if (font == NULL)
        font = _Data->Font;
    if (font_size == 0.0f)
        font_size = _Data->FontSize;

    IM_ASSERT(font->ContainerAtlas->TexID == _CmdHeader.TextureId);  // Use high-level ImGui::PushFont() or low-level ImDrawList::PushTextureId() to change font.

    ImVec4 clip_rect = _CmdHeader.ClipRect;
    if (cpu_fine_clip_rect)
    {
        clip_rect.x = ImMax(clip_rect.x, cpu_fine_clip_rect->x);
        clip_rect.y = ImMax(clip_rect.y, cpu_fine_clip_rect->y);
        clip_rect.z = ImMin(clip_rect.z, cpu_fine_clip_rect->z);
        clip_rect.w = ImMin(clip_rect.w, cpu_fine_clip_rect->w);
    }
    font->RenderText(this, font_size, pos, col, clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip_rect != NULL);
}

void ImDrawList::AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end)
{
    AddText(NULL, 0.0f, pos, col, text_begin, text_end);
}

void ImDrawList::AddImage(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min, const ImVec2& uv_max, ImU32 col)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    const bool push_texture_id = user_texture_id != _CmdHeader.TextureId;
    if (push_texture_id)
        PushTextureID(user_texture_id);

    PrimReserve(6, 4);
    PrimRectUV(p_min, p_max, uv_min, uv_max, col);

    if (push_texture_id)
        PopTextureID();
}

void ImDrawList::AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1, const ImVec2& uv2, const ImVec2& uv3, const ImVec2& uv4, ImU32 col)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    const bool push_texture_id = user_texture_id != _CmdHeader.TextureId;
    if (push_texture_id)
        PushTextureID(user_texture_id);

    PrimReserve(6, 4);
    PrimQuadUV(p1, p2, p3, p4, uv1, uv2, uv3, uv4, col);

    if (push_texture_id)
        PopTextureID();
}

void ImDrawList::AddImageRounded(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min, const ImVec2& uv_max, ImU32 col, float rounding, ImDrawFlags flags)
{
    if ((col & IM_COL32_A_MASK) == 0)
        return;

    flags = FixRectCornerFlags(flags);
    if (rounding <= 0.0f || (flags & ImDrawFlags_RoundCornersMask_) == ImDrawFlags_RoundCornersNone)
    {
        AddImage(user_texture_id, p_min, p_max, uv_min, uv_max, col);
        return;
    }

    const bool push_texture_id = user_texture_id != _CmdHeader.TextureId;
    if (push_texture_id)
        PushTextureID(user_texture_id);

    int vert_start_idx = VtxBuffer.Size;
    PathRect(p_min, p_max, rounding, flags);
    PathFillConvex(col);
    int vert_end_idx = VtxBuffer.Size;
    ImGui::ShadeVertsLinearUV(this, vert_start_idx, vert_end_idx, p_min, p_max, uv_min, uv_max, true);

    if (push_texture_id)
        PopTextureID();
}


//-----------------------------------------------------------------------------
// [SECTION] ImDrawListSplitter
//-----------------------------------------------------------------------------
// FIXME: This may be a little confusing, trying to be a little too low-level/optimal instead of just doing vector swap..
//-----------------------------------------------------------------------------

void ImDrawListSplitter::ClearFreeMemory()
{
    for (int i = 0; i < _Channels.Size; i++)
    {
        if (i == _Current)
            memset(&_Channels[i], 0, sizeof(_Channels[i]));  // Current channel is a copy of CmdBuffer/IdxBuffer, don't destruct again
        _Channels[i]._CmdBuffer.clear();
        _Channels[i]._IdxBuffer.clear();
    }
    _Current = 0;
    _Count = 1;
    _Channels.clear();
}

void ImDrawListSplitter::Split(ImDrawList* draw_list, int channels_count)
{
    IM_UNUSED(draw_list);
    IM_ASSERT(_Current == 0 && _Count <= 1 && "Nested channel splitting is not supported. Please use separate instances of ImDrawListSplitter.");
    int old_channels_count = _Channels.Size;
    if (old_channels_count < channels_count)
    {
        _Channels.reserve(channels_count); // Avoid over reserving since this is likely to stay stable
        _Channels.resize(channels_count);
    }
    _Count = channels_count;

    // Channels[] (24/32 bytes each) hold storage that we'll swap with draw_list->_CmdBuffer/_IdxBuffer
    // The content of Channels[0] at this point doesn't matter. We clear it to make state tidy in a debugger but we don't strictly need to.
    // When we switch to the next channel, we'll copy draw_list->_CmdBuffer/_IdxBuffer into Channels[0] and then Channels[1] into draw_list->CmdBuffer/_IdxBuffer
    memset(&_Channels[0], 0, sizeof(ImDrawChannel));
    for (int i = 1; i < channels_count; i++)
    {
        if (i >= old_channels_count)
        {
            IM_PLACEMENT_NEW(&_Channels[i]) ImDrawChannel();
        }
        else
        {
            _Channels[i]._CmdBuffer.resize(0);
            _Channels[i]._IdxBuffer.resize(0);
        }
    }
}

void ImDrawListSplitter::Merge(ImDrawList* draw_list)
{
    // Note that we never use or rely on _Channels.Size because it is merely a buffer that we never shrink back to 0 to keep all sub-buffers ready for use.
    if (_Count <= 1)
        return;

    SetCurrentChannel(draw_list, 0);
    draw_list->_PopUnusedDrawCmd();

    // Calculate our final buffer sizes. Also fix the incorrect IdxOffset values in each command.
    int new_cmd_buffer_count = 0;
    int new_idx_buffer_count = 0;
    ImDrawCmd* last_cmd = (_Count > 0 && draw_list->CmdBuffer.Size > 0) ? &draw_list->CmdBuffer.back() : NULL;
    int idx_offset = last_cmd ? last_cmd->IdxOffset + last_cmd->ElemCount : 0;
    for (int i = 1; i < _Count; i++)
    {
        ImDrawChannel& ch = _Channels[i];

        // Equivalent of PopUnusedDrawCmd() for this channel's cmdbuffer and except we don't need to test for UserCallback.
        if (ch._CmdBuffer.Size > 0 && ch._CmdBuffer.back().ElemCount == 0)
            ch._CmdBuffer.pop_back();

        if (ch._CmdBuffer.Size > 0 && last_cmd != NULL)
        {
            ImDrawCmd* next_cmd = &ch._CmdBuffer[0];
            if (ImDrawCmd_HeaderCompare(last_cmd, next_cmd) == 0 && last_cmd->UserCallback == NULL && next_cmd->UserCallback == NULL)
            {
                // Merge previous channel last draw command with current channel first draw command if matching.
                last_cmd->ElemCount += next_cmd->ElemCount;
                idx_offset += next_cmd->ElemCount;
                ch._CmdBuffer.erase(ch._CmdBuffer.Data); // FIXME-OPT: Improve for multiple merges.
            }
        }
        if (ch._CmdBuffer.Size > 0)
            last_cmd = &ch._CmdBuffer.back();
        new_cmd_buffer_count += ch._CmdBuffer.Size;
        new_idx_buffer_count += ch._IdxBuffer.Size;
        for (int cmd_n = 0; cmd_n < ch._CmdBuffer.Size; cmd_n++)
        {
            ch._CmdBuffer.Data[cmd_n].IdxOffset = idx_offset;
            idx_offset += ch._CmdBuffer.Data[cmd_n].ElemCount;
        }
    }
    draw_list->CmdBuffer.resize(draw_list->CmdBuffer.Size + new_cmd_buffer_count);
    draw_list->IdxBuffer.resize(draw_list->IdxBuffer.Size + new_idx_buffer_count);

    // Write commands and indices in order (they are fairly small structures, we don't copy vertices only indices)
    ImDrawCmd* cmd_write = draw_list->CmdBuffer.Data + draw_list->CmdBuffer.Size - new_cmd_buffer_count;
    ImDrawIdx* idx_write = draw_list->IdxBuffer.Data + draw_list->IdxBuffer.Size - new_idx_buffer_count;
    for (int i = 1; i < _Count; i++)
    {
        ImDrawChannel& ch = _Channels[i];
        if (int sz = ch._CmdBuffer.Size) { memcpy(cmd_write, ch._CmdBuffer.Data, sz * sizeof(ImDrawCmd)); cmd_write += sz; }
        if (int sz = ch._IdxBuffer.Size) { memcpy(idx_write, ch._IdxBuffer.Data, sz * sizeof(ImDrawIdx)); idx_write += sz; }
    }
    draw_list->_IdxWritePtr = idx_write;

    // Ensure there's always a non-callback draw command trailing the command-buffer
    if (draw_list->CmdBuffer.Size == 0 || draw_list->CmdBuffer.back().UserCallback != NULL)
        draw_list->AddDrawCmd();

    // If current command is used with different settings we need to add a new command
    ImDrawCmd* curr_cmd = &draw_list->CmdBuffer.Data[draw_list->CmdBuffer.Size - 1];
    if (curr_cmd->ElemCount == 0)
        ImDrawCmd_HeaderCopy(curr_cmd, &draw_list->_CmdHeader); // Copy ClipRect, TextureId, VtxOffset
    else if (ImDrawCmd_HeaderCompare(curr_cmd, &draw_list->_CmdHeader) != 0)
        draw_list->AddDrawCmd();

    _Count = 1;
}

void ImDrawListSplitter::SetCurrentChannel(ImDrawList* draw_list, int idx)
{
    IM_ASSERT(idx >= 0 && idx < _Count);
    if (_Current == idx)
        return;

    // Overwrite ImVector (12/16 bytes), four times. This is merely a silly optimization instead of doing .swap()
    memcpy(&_Channels.Data[_Current]._CmdBuffer, &draw_list->CmdBuffer, sizeof(draw_list->CmdBuffer));
    memcpy(&_Channels.Data[_Current]._IdxBuffer, &draw_list->IdxBuffer, sizeof(draw_list->IdxBuffer));
    _Current = idx;
    memcpy(&draw_list->CmdBuffer, &_Channels.Data[idx]._CmdBuffer, sizeof(draw_list->CmdBuffer));
    memcpy(&draw_list->IdxBuffer, &_Channels.Data[idx]._IdxBuffer, sizeof(draw_list->IdxBuffer));
    draw_list->_IdxWritePtr = draw_list->IdxBuffer.Data + draw_list->IdxBuffer.Size;

    // If current command is used with different settings we need to add a new command
    ImDrawCmd* curr_cmd = (draw_list->CmdBuffer.Size == 0) ? NULL : &draw_list->CmdBuffer.Data[draw_list->CmdBuffer.Size - 1];
    if (curr_cmd == NULL)
        draw_list->AddDrawCmd();
    else if (curr_cmd->ElemCount == 0)
        ImDrawCmd_HeaderCopy(curr_cmd, &draw_list->_CmdHeader); // Copy ClipRect, TextureId, VtxOffset
    else if (ImDrawCmd_HeaderCompare(curr_cmd, &draw_list->_CmdHeader) != 0)
        draw_list->AddDrawCmd();
}

//-----------------------------------------------------------------------------
// [SECTION] ImDrawData
//-----------------------------------------------------------------------------

// For backward compatibility: convert all buffers from indexed to de-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering!
void ImDrawData::DeIndexAllBuffers()
{
    ImVector<ImDrawVert> new_vtx_buffer;
    TotalVtxCount = TotalIdxCount = 0;
    for (int i = 0; i < CmdListsCount; i++)
    {
        ImDrawList* cmd_list = CmdLists[i];
        if (cmd_list->IdxBuffer.empty())
            continue;
        new_vtx_buffer.resize(cmd_list->IdxBuffer.Size);
        for (int j = 0; j < cmd_list->IdxBuffer.Size; j++)
            new_vtx_buffer[j] = cmd_list->VtxBuffer[cmd_list->IdxBuffer[j]];
        cmd_list->VtxBuffer.swap(new_vtx_buffer);
        cmd_list->IdxBuffer.resize(0);
        TotalVtxCount += cmd_list->VtxBuffer.Size;
    }
}

// Helper to scale the ClipRect field of each ImDrawCmd.
// Use if your final output buffer is at a different scale than draw_data->DisplaySize,
// or if there is a difference between your window resolution and framebuffer resolution.
void ImDrawData::ScaleClipRects(const ImVec2& fb_scale)
{
    for (int i = 0; i < CmdListsCount; i++)
    {
        ImDrawList* cmd_list = CmdLists[i];
        for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
        {
            ImDrawCmd* cmd = &cmd_list->CmdBuffer[cmd_i];
            cmd->ClipRect = ImVec4(cmd->ClipRect.x * fb_scale.x, cmd->ClipRect.y * fb_scale.y, cmd->ClipRect.z * fb_scale.x, cmd->ClipRect.w * fb_scale.y);
        }
    }
}

//-----------------------------------------------------------------------------
// [SECTION] Helpers ShadeVertsXXX functions
//-----------------------------------------------------------------------------

// Generic linear color gradient, write to RGB fields, leave A untouched.
void ImGui::ShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1)
{
    ImVec2 gradient_extent = gradient_p1 - gradient_p0;
    float gradient_inv_length2 = 1.0f / ImLengthSqr(gradient_extent);
    ImDrawVert* vert_start = draw_list->VtxBuffer.Data + vert_start_idx;
    ImDrawVert* vert_end = draw_list->VtxBuffer.Data + vert_end_idx;
    const int col0_r = (int)(col0 >> IM_COL32_R_SHIFT) & 0xFF;
    const int col0_g = (int)(col0 >> IM_COL32_G_SHIFT) & 0xFF;
    const int col0_b = (int)(col0 >> IM_COL32_B_SHIFT) & 0xFF;
    const int col_delta_r = ((int)(col1 >> IM_COL32_R_SHIFT) & 0xFF) - col0_r;
    const int col_delta_g = ((int)(col1 >> IM_COL32_G_SHIFT) & 0xFF) - col0_g;
    const int col_delta_b = ((int)(col1 >> IM_COL32_B_SHIFT) & 0xFF) - col0_b;
    for (ImDrawVert* vert = vert_start; vert < vert_end; vert++)
    {
        float d = ImDot(vert->pos - gradient_p0, gradient_extent);
        float t = ImClamp(d * gradient_inv_length2, 0.0f, 1.0f);
        int r = (int)(col0_r + col_delta_r * t);
        int g = (int)(col0_g + col_delta_g * t);
        int b = (int)(col0_b + col_delta_b * t);
        vert->col = (r << IM_COL32_R_SHIFT) | (g << IM_COL32_G_SHIFT) | (b << IM_COL32_B_SHIFT) | (vert->col & IM_COL32_A_MASK);
    }
}

// Distribute UV over (a, b) rectangle
void ImGui::ShadeVertsLinearUV(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, const ImVec2& a, const ImVec2& b, const ImVec2& uv_a, const ImVec2& uv_b, bool clamp)
{
    const ImVec2 size = b - a;
    const ImVec2 uv_size = uv_b - uv_a;
    const ImVec2 scale = ImVec2(
        size.x != 0.0f ? (uv_size.x / size.x) : 0.0f,
        size.y != 0.0f ? (uv_size.y / size.y) : 0.0f);

    ImDrawVert* vert_start = draw_list->VtxBuffer.Data + vert_start_idx;
    ImDrawVert* vert_end = draw_list->VtxBuffer.Data + vert_end_idx;
    if (clamp)
    {
        const ImVec2 min = ImMin(uv_a, uv_b);
        const ImVec2 max = ImMax(uv_a, uv_b);
        for (ImDrawVert* vertex = vert_start; vertex < vert_end; ++vertex)
            vertex->uv = ImClamp(uv_a + ImMul(ImVec2(vertex->pos.x, vertex->pos.y) - a, scale), min, max);
    }
    else
    {
        for (ImDrawVert* vertex = vert_start; vertex < vert_end; ++vertex)
            vertex->uv = uv_a + ImMul(ImVec2(vertex->pos.x, vertex->pos.y) - a, scale);
    }
}

//-----------------------------------------------------------------------------
// [SECTION] ImFontConfig
//-----------------------------------------------------------------------------

ImFontConfig::ImFontConfig()
{
    memset(this, 0, sizeof(*this));
    FontDataOwnedByAtlas = true;
    OversampleH = 3; // FIXME: 2 may be a better default?
    OversampleV = 1;
    GlyphMaxAdvanceX = FLT_MAX;
    RasterizerMultiply = 1.0f;
    EllipsisChar = (ImWchar)-1;
}

//-----------------------------------------------------------------------------
// [SECTION] ImFontAtlas
//-----------------------------------------------------------------------------

// A work of art lies ahead! (. = white layer, X = black layer, others are blank)
// The 2x2 white texels on the top left are the ones we'll use everywhere in Dear ImGui to render filled shapes.
const int FONT_ATLAS_DEFAULT_TEX_DATA_W = 108; // Actual texture will be 2 times that + 1 spacing.
const int FONT_ATLAS_DEFAULT_TEX_DATA_H = 27;
static const char FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS[FONT_ATLAS_DEFAULT_TEX_DATA_W * FONT_ATLAS_DEFAULT_TEX_DATA_H + 1] =
{
    "..-         -XXXXXXX-    X    -           X           -XXXXXXX          -          XXXXXXX-     XX          "
    "..-         -X.....X-   X.X   -          X.X          -X.....X          -          X.....X-    X..X         "
    "---         -XXX.XXX-  X...X  -         X...X         -X....X           -           X....X-    X..X         "
    "X           -  X.X  - X.....X -        X.....X        -X...X            -            X...X-    X..X         "
    "XX          -  X.X  -X.......X-       X.......X       -X..X.X           -           X.X..X-    X..X         "
    "X.X         -  X.X  -XXXX.XXXX-       XXXX.XXXX       -X.X X.X          -          X.X X.X-    X..XXX       "
    "X..X        -  X.X  -   X.X   -          X.X          -XX   X.X         -         X.X   XX-    X..X..XXX    "
    "X...X       -  X.X  -   X.X   -    XX    X.X    XX    -      X.X        -        X.X      -    X..X..X..XX  "
    "X....X      -  X.X  -   X.X   -   X.X    X.X    X.X   -       X.X       -       X.X       -    X..X..X..X.X "
    "X.....X     -  X.X  -   X.X   -  X..X    X.X    X..X  -        X.X      -      X.X        -XXX X..X..X..X..X"
    "X......X    -  X.X  -   X.X   - X...XXXXXX.XXXXXX...X -         X.X   XX-XX   X.X         -X..XX........X..X"
    "X.......X   -  X.X  -   X.X   -X.....................X-          X.X X.X-X.X X.X          -X...X...........X"
    "X........X  -  X.X  -   X.X   - X...XXXXXX.XXXXXX...X -           X.X..X-X..X.X           - X..............X"
    "X.........X -XXX.XXX-   X.X   -  X..X    X.X    X..X  -            X...X-X...X            -  X.............X"
    "X..........X-X.....X-   X.X   -   X.X    X.X    X.X   -           X....X-X....X           -  X.............X"
    "X......XXXXX-XXXXXXX-   X.X   -    XX    X.X    XX    -          X.....X-X.....X          -   X............X"
    "X...X..X    ---------   X.X   -          X.X          -          XXXXXXX-XXXXXXX          -   X...........X "
    "X..X X..X   -       -XXXX.XXXX-       XXXX.XXXX       -------------------------------------    X..........X "
    "X.X  X..X   -       -X.......X-       X.......X       -    XX           XX    -           -    X..........X "
    "XX    X..X  -       - X.....X -        X.....X        -   X.X           X.X   -           -     X........X  "
    "      X..X          -  X...X  -         X...X         -  X..X           X..X  -           -     X........X  "
    "       XX           -   X.X   -          X.X          - X...XXXXXXXXXXXXX...X -           -     XXXXXXXXXX  "
    "------------        -    X    -           X           -X.....................X-           ------------------"
    "                    ----------------------------------- X...XXXXXXXXXXXXX...X -                             "
    "                                                      -  X..X           X..X  -                             "
    "                                                      -   X.X           X.X   -                             "
    "                                                      -    XX           XX    -                             "
};

static const ImVec2 FONT_ATLAS_DEFAULT_TEX_CURSOR_DATA[ImGuiMouseCursor_COUNT][3] =
{
    // Pos ........ Size ......... Offset ......
    { ImVec2( 0,3), ImVec2(12,19), ImVec2( 0, 0) }, // ImGuiMouseCursor_Arrow
    { ImVec2(13,0), ImVec2( 7,16), ImVec2( 1, 8) }, // ImGuiMouseCursor_TextInput
    { ImVec2(31,0), ImVec2(23,23), ImVec2(11,11) }, // ImGuiMouseCursor_ResizeAll
    { ImVec2(21,0), ImVec2( 9,23), ImVec2( 4,11) }, // ImGuiMouseCursor_ResizeNS
    { ImVec2(55,18),ImVec2(23, 9), ImVec2(11, 4) }, // ImGuiMouseCursor_ResizeEW
    { ImVec2(73,0), ImVec2(17,17), ImVec2( 8, 8) }, // ImGuiMouseCursor_ResizeNESW
    { ImVec2(55,0), ImVec2(17,17), ImVec2( 8, 8) }, // ImGuiMouseCursor_ResizeNWSE
    { ImVec2(91,0), ImVec2(17,22), ImVec2( 5, 0) }, // ImGuiMouseCursor_Hand
};

ImFontAtlas::ImFontAtlas()
{
    memset(this, 0, sizeof(*this));
    TexGlyphPadding = 1;
    PackIdMouseCursors = PackIdLines = -1;
}

ImFontAtlas::~ImFontAtlas()
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    Clear();
}

void    ImFontAtlas::ClearInputData()
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    for (int i = 0; i < ConfigData.Size; i++)
        if (ConfigData[i].FontData && ConfigData[i].FontDataOwnedByAtlas)
        {
            IM_FREE(ConfigData[i].FontData);
            ConfigData[i].FontData = NULL;
        }

    // When clearing this we lose access to the font name and other information used to build the font.
    for (int i = 0; i < Fonts.Size; i++)
        if (Fonts[i]->ConfigData >= ConfigData.Data && Fonts[i]->ConfigData < ConfigData.Data + ConfigData.Size)
        {
            Fonts[i]->ConfigData = NULL;
            Fonts[i]->ConfigDataCount = 0;
        }
    ConfigData.clear();
    CustomRects.clear();
    PackIdMouseCursors = PackIdLines = -1;
    // Important: we leave TexReady untouched
}

void    ImFontAtlas::ClearTexData()
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    if (TexPixelsAlpha8)
        IM_FREE(TexPixelsAlpha8);
    if (TexPixelsRGBA32)
        IM_FREE(TexPixelsRGBA32);
    TexPixelsAlpha8 = NULL;
    TexPixelsRGBA32 = NULL;
    TexPixelsUseColors = false;
    // Important: we leave TexReady untouched
}

void    ImFontAtlas::ClearFonts()
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    Fonts.clear_delete();
    TexReady = false;
}

void    ImFontAtlas::Clear()
{
    ClearInputData();
    ClearTexData();
    ClearFonts();
}

void    ImFontAtlas::GetTexDataAsAlpha8(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
{
    // Build atlas on demand
    if (TexPixelsAlpha8 == NULL)
        Build();

    *out_pixels = TexPixelsAlpha8;
    if (out_width) *out_width = TexWidth;
    if (out_height) *out_height = TexHeight;
    if (out_bytes_per_pixel) *out_bytes_per_pixel = 1;
}

void    ImFontAtlas::GetTexDataAsRGBA32(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
{
    // Convert to RGBA32 format on demand
    // Although it is likely to be the most commonly used format, our font rendering is 1 channel / 8 bpp
    if (!TexPixelsRGBA32)
    {
        unsigned char* pixels = NULL;
        GetTexDataAsAlpha8(&pixels, NULL, NULL);
        if (pixels)
        {
            TexPixelsRGBA32 = (unsigned int*)IM_ALLOC((size_t)TexWidth * (size_t)TexHeight * 4);
            const unsigned char* src = pixels;
            unsigned int* dst = TexPixelsRGBA32;
            for (int n = TexWidth * TexHeight; n > 0; n--)
                *dst++ = IM_COL32(255, 255, 255, (unsigned int)(*src++));
        }
    }

    *out_pixels = (unsigned char*)TexPixelsRGBA32;
    if (out_width) *out_width = TexWidth;
    if (out_height) *out_height = TexHeight;
    if (out_bytes_per_pixel) *out_bytes_per_pixel = 4;
}

ImFont* ImFontAtlas::AddFont(const ImFontConfig* font_cfg)
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    IM_ASSERT(font_cfg->FontData != NULL && font_cfg->FontDataSize > 0);
    IM_ASSERT(font_cfg->SizePixels > 0.0f);

    // Create new font
    if (!font_cfg->MergeMode)
        Fonts.push_back(IM_NEW(ImFont));
    else
        IM_ASSERT(!Fonts.empty() && "Cannot use MergeMode for the first font"); // When using MergeMode make sure that a font has already been added before. You can use ImGui::GetIO().Fonts->AddFontDefault() to add the default imgui font.

    ConfigData.push_back(*font_cfg);
    ImFontConfig& new_font_cfg = ConfigData.back();
    if (new_font_cfg.DstFont == NULL)
        new_font_cfg.DstFont = Fonts.back();
    if (!new_font_cfg.FontDataOwnedByAtlas)
    {
        new_font_cfg.FontData = IM_ALLOC(new_font_cfg.FontDataSize);
        new_font_cfg.FontDataOwnedByAtlas = true;
        memcpy(new_font_cfg.FontData, font_cfg->FontData, (size_t)new_font_cfg.FontDataSize);
    }

    if (new_font_cfg.DstFont->EllipsisChar == (ImWchar)-1)
        new_font_cfg.DstFont->EllipsisChar = font_cfg->EllipsisChar;

    // Invalidate texture
    TexReady = false;
    ClearTexData();
    return new_font_cfg.DstFont;
}

// Default font TTF is compressed with stb_compress then base85 encoded (see misc/fonts/binary_to_compressed_c.cpp for encoder)
static unsigned int stb_decompress_length(const unsigned char* input);
static unsigned int stb_decompress(unsigned char* output, const unsigned char* input, unsigned int length);
static const char*  GetDefaultCompressedFontDataTTFBase85();
static unsigned int Decode85Byte(char c)                                    { return c >= '\\' ? c-36 : c-35; }
static void         Decode85(const unsigned char* src, unsigned char* dst)
{
    while (*src)
    {
        unsigned int tmp = Decode85Byte(src[0]) + 85 * (Decode85Byte(src[1]) + 85 * (Decode85Byte(src[2]) + 85 * (Decode85Byte(src[3]) + 85 * Decode85Byte(src[4]))));
        dst[0] = ((tmp >> 0) & 0xFF); dst[1] = ((tmp >> 8) & 0xFF); dst[2] = ((tmp >> 16) & 0xFF); dst[3] = ((tmp >> 24) & 0xFF);   // We can't assume little-endianness.
        src += 5;
        dst += 4;
    }
}

// Load embedded ProggyClean.ttf at size 13, disable oversampling
ImFont* ImFontAtlas::AddFontDefault(const ImFontConfig* font_cfg_template)
{
    ImFontConfig font_cfg = font_cfg_template ? *font_cfg_template : ImFontConfig();
    if (!font_cfg_template)
    {
        font_cfg.OversampleH = font_cfg.OversampleV = 1;
        font_cfg.PixelSnapH = true;
    }
    if (font_cfg.SizePixels <= 0.0f)
        font_cfg.SizePixels = 13.0f * 1.0f;
    if (font_cfg.Name[0] == '\0')
        ImFormatString(font_cfg.Name, IM_ARRAYSIZE(font_cfg.Name), "ProggyClean.ttf, %dpx", (int)font_cfg.SizePixels);
    font_cfg.EllipsisChar = (ImWchar)0x0085;
    font_cfg.GlyphOffset.y = 1.0f * IM_FLOOR(font_cfg.SizePixels / 13.0f);  // Add +1 offset per 13 units

    const char* ttf_compressed_base85 = GetDefaultCompressedFontDataTTFBase85();
    const ImWchar* glyph_ranges = font_cfg.GlyphRanges != NULL ? font_cfg.GlyphRanges : GetGlyphRangesDefault();
    ImFont* font = AddFontFromMemoryCompressedBase85TTF(ttf_compressed_base85, font_cfg.SizePixels, &font_cfg, glyph_ranges);
    return font;
}

ImFont* ImFontAtlas::AddFontFromFileTTF(const char* filename, float size_pixels, const ImFontConfig* font_cfg_template, const ImWchar* glyph_ranges)
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    size_t data_size = 0;
    void* data = ImFileLoadToMemory(filename, "rb", &data_size, 0);
    if (!data)
    {
        IM_ASSERT_USER_ERROR(0, "Could not load font file!");
        return NULL;
    }
    ImFontConfig font_cfg = font_cfg_template ? *font_cfg_template : ImFontConfig();
    if (font_cfg.Name[0] == '\0')
    {
        // Store a short copy of filename into into the font name for convenience
        const char* p;
        for (p = filename + strlen(filename); p > filename && p[-1] != '/' && p[-1] != '\\'; p--) {}
        ImFormatString(font_cfg.Name, IM_ARRAYSIZE(font_cfg.Name), "%s, %.0fpx", p, size_pixels);
    }
    return AddFontFromMemoryTTF(data, (int)data_size, size_pixels, &font_cfg, glyph_ranges);
}

// NB: Transfer ownership of 'ttf_data' to ImFontAtlas, unless font_cfg_template->FontDataOwnedByAtlas == false. Owned TTF buffer will be deleted after Build().
ImFont* ImFontAtlas::AddFontFromMemoryTTF(void* ttf_data, int ttf_size, float size_pixels, const ImFontConfig* font_cfg_template, const ImWchar* glyph_ranges)
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");
    ImFontConfig font_cfg = font_cfg_template ? *font_cfg_template : ImFontConfig();
    IM_ASSERT(font_cfg.FontData == NULL);
    font_cfg.FontData = ttf_data;
    font_cfg.FontDataSize = ttf_size;
    font_cfg.SizePixels = size_pixels > 0.0f ? size_pixels : font_cfg.SizePixels;
    if (glyph_ranges)
        font_cfg.GlyphRanges = glyph_ranges;
    return AddFont(&font_cfg);
}

ImFont* ImFontAtlas::AddFontFromMemoryCompressedTTF(const void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, const ImFontConfig* font_cfg_template, const ImWchar* glyph_ranges)
{
    const unsigned int buf_decompressed_size = stb_decompress_length((const unsigned char*)compressed_ttf_data);
    unsigned char* buf_decompressed_data = (unsigned char*)IM_ALLOC(buf_decompressed_size);
    stb_decompress(buf_decompressed_data, (const unsigned char*)compressed_ttf_data, (unsigned int)compressed_ttf_size);

    ImFontConfig font_cfg = font_cfg_template ? *font_cfg_template : ImFontConfig();
    IM_ASSERT(font_cfg.FontData == NULL);
    font_cfg.FontDataOwnedByAtlas = true;
    return AddFontFromMemoryTTF(buf_decompressed_data, (int)buf_decompressed_size, size_pixels, &font_cfg, glyph_ranges);
}

ImFont* ImFontAtlas::AddFontFromMemoryCompressedBase85TTF(const char* compressed_ttf_data_base85, float size_pixels, const ImFontConfig* font_cfg, const ImWchar* glyph_ranges)
{
    int compressed_ttf_size = (((int)strlen(compressed_ttf_data_base85) + 4) / 5) * 4;
    void* compressed_ttf = IM_ALLOC((size_t)compressed_ttf_size);
    Decode85((const unsigned char*)compressed_ttf_data_base85, (unsigned char*)compressed_ttf);
    ImFont* font = AddFontFromMemoryCompressedTTF(compressed_ttf, compressed_ttf_size, size_pixels, font_cfg, glyph_ranges);
    IM_FREE(compressed_ttf);
    return font;
}

int ImFontAtlas::AddCustomRectRegular(int width, int height)
{
    IM_ASSERT(width > 0 && width <= 0xFFFF);
    IM_ASSERT(height > 0 && height <= 0xFFFF);
    ImFontAtlasCustomRect r;
    r.Width = (unsigned short)width;
    r.Height = (unsigned short)height;
    CustomRects.push_back(r);
    return CustomRects.Size - 1; // Return index
}

int ImFontAtlas::AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2& offset)
{
#ifdef IMGUI_USE_WCHAR32
    IM_ASSERT(id <= IM_UNICODE_CODEPOINT_MAX);
#endif
    IM_ASSERT(font != NULL);
    IM_ASSERT(width > 0 && width <= 0xFFFF);
    IM_ASSERT(height > 0 && height <= 0xFFFF);
    ImFontAtlasCustomRect r;
    r.Width = (unsigned short)width;
    r.Height = (unsigned short)height;
    r.GlyphID = id;
    r.GlyphAdvanceX = advance_x;
    r.GlyphOffset = offset;
    r.Font = font;
    CustomRects.push_back(r);
    return CustomRects.Size - 1; // Return index
}

void ImFontAtlas::CalcCustomRectUV(const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max) const
{
    IM_ASSERT(TexWidth > 0 && TexHeight > 0);   // Font atlas needs to be built before we can calculate UV coordinates
    IM_ASSERT(rect->IsPacked());                // Make sure the rectangle has been packed
    *out_uv_min = ImVec2((float)rect->X * TexUvScale.x, (float)rect->Y * TexUvScale.y);
    *out_uv_max = ImVec2((float)(rect->X + rect->Width) * TexUvScale.x, (float)(rect->Y + rect->Height) * TexUvScale.y);
}

bool ImFontAtlas::GetMouseCursorTexData(ImGuiMouseCursor cursor_type, ImVec2* out_offset, ImVec2* out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2])
{
    if (cursor_type <= ImGuiMouseCursor_None || cursor_type >= ImGuiMouseCursor_COUNT)
        return false;
    if (Flags & ImFontAtlasFlags_NoMouseCursors)
        return false;

    IM_ASSERT(PackIdMouseCursors != -1);
    ImFontAtlasCustomRect* r = GetCustomRectByIndex(PackIdMouseCursors);
    ImVec2 pos = FONT_ATLAS_DEFAULT_TEX_CURSOR_DATA[cursor_type][0] + ImVec2((float)r->X, (float)r->Y);
    ImVec2 size = FONT_ATLAS_DEFAULT_TEX_CURSOR_DATA[cursor_type][1];
    *out_size = size;
    *out_offset = FONT_ATLAS_DEFAULT_TEX_CURSOR_DATA[cursor_type][2];
    out_uv_border[0] = (pos) * TexUvScale;
    out_uv_border[1] = (pos + size) * TexUvScale;
    pos.x += FONT_ATLAS_DEFAULT_TEX_DATA_W + 1;
    out_uv_fill[0] = (pos) * TexUvScale;
    out_uv_fill[1] = (pos + size) * TexUvScale;
    return true;
}

bool    ImFontAtlas::Build()
{
    IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas between NewFrame() and EndFrame/Render()!");

    // Default font is none are specified
    if (ConfigData.Size == 0)
        AddFontDefault();

    // Select builder
    // - Note that we do not reassign to atlas->FontBuilderIO, since it is likely to point to static data which
    //   may mess with some hot-reloading schemes. If you need to assign to this (for dynamic selection) AND are
    //   using a hot-reloading scheme that messes up static data, store your own instance of ImFontBuilderIO somewhere
    //   and point to it instead of pointing directly to return value of the GetBuilderXXX functions.
    const ImFontBuilderIO* builder_io = FontBuilderIO;
    if (builder_io == NULL)
    {
#ifdef IMGUI_ENABLE_FREETYPE
        builder_io = ImGuiFreeType::GetBuilderForFreeType();
#elif defined(IMGUI_ENABLE_STB_TRUETYPE)
        builder_io = ImFontAtlasGetBuilderForStbTruetype();
#else
        IM_ASSERT(0); // Invalid Build function
#endif
    }

    // Build
    return builder_io->FontBuilder_Build(this);
}

void    ImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256], float in_brighten_factor)
{
    for (unsigned int i = 0; i < 256; i++)
    {
        unsigned int value = (unsigned int)(i * in_brighten_factor);
        out_table[i] = value > 255 ? 255 : (value & 0xFF);
    }
}

void    ImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256], unsigned char* pixels, int x, int y, int w, int h, int stride)
{
    unsigned char* data = pixels + x + y * stride;
    for (int j = h; j > 0; j--, data += stride)
        for (int i = 0; i < w; i++)
            data[i] = table[data[i]];
}

#ifdef IMGUI_ENABLE_STB_TRUETYPE
// Temporary data for one source font (multiple source fonts can be merged into one destination ImFont)
// (C++03 doesn't allow instancing ImVector<> with function-local types so we declare the type here.)
struct ImFontBuildSrcData
{
    stbtt_fontinfo      FontInfo;
    stbtt_pack_range    PackRange;          // Hold the list of codepoints to pack (essentially points to Codepoints.Data)
    stbrp_rect*         Rects;              // Rectangle to pack. We first fill in their size and the packer will give us their position.
    stbtt_packedchar*   PackedChars;        // Output glyphs
    const ImWchar*      SrcRanges;          // Ranges as requested by user (user is allowed to request too much, e.g. 0x0020..0xFFFF)
    int                 DstIndex;           // Index into atlas->Fonts[] and dst_tmp_array[]
    int                 GlyphsHighest;      // Highest requested codepoint
    int                 GlyphsCount;        // Glyph count (excluding missing glyphs and glyphs already set by an earlier source font)
    ImBitVector         GlyphsSet;          // Glyph bit map (random access, 1-bit per codepoint. This will be a maximum of 8KB)
    ImVector<int>       GlyphsList;         // Glyph codepoints list (flattened version of GlyphsMap)
};

// Temporary data for one destination ImFont* (multiple source fonts can be merged into one destination ImFont)
struct ImFontBuildDstData
{
    int                 SrcCount;           // Number of source fonts targeting this destination font.
    int                 GlyphsHighest;
    int                 GlyphsCount;
    ImBitVector         GlyphsSet;          // This is used to resolve collision when multiple sources are merged into a same destination font.
};

static void UnpackBitVectorToFlatIndexList(const ImBitVector* in, ImVector<int>* out)
{
    IM_ASSERT(sizeof(in->Storage.Data[0]) == sizeof(int));
    const ImU32* it_begin = in->Storage.begin();
    const ImU32* it_end = in->Storage.end();
    for (const ImU32* it = it_begin; it < it_end; it++)
        if (ImU32 entries_32 = *it)
            for (ImU32 bit_n = 0; bit_n < 32; bit_n++)
                if (entries_32 & ((ImU32)1 << bit_n))
                    out->push_back((int)(((it - it_begin) << 5) + bit_n));
}

static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas)
{
    IM_ASSERT(atlas->ConfigData.Size > 0);

    ImFontAtlasBuildInit(atlas);

    // Clear atlas
    atlas->TexID = (ImTextureID)NULL;
    atlas->TexWidth = atlas->TexHeight = 0;
    atlas->TexUvScale = ImVec2(0.0f, 0.0f);
    atlas->TexUvWhitePixel = ImVec2(0.0f, 0.0f);
    atlas->ClearTexData();

    // Temporary storage for building
    ImVector<ImFontBuildSrcData> src_tmp_array;
    ImVector<ImFontBuildDstData> dst_tmp_array;
    src_tmp_array.resize(atlas->ConfigData.Size);
    dst_tmp_array.resize(atlas->Fonts.Size);
    memset(src_tmp_array.Data, 0, (size_t)src_tmp_array.size_in_bytes());
    memset(dst_tmp_array.Data, 0, (size_t)dst_tmp_array.size_in_bytes());

    // 1. Initialize font loading structure, check font data validity
    for (int src_i = 0; src_i < atlas->ConfigData.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        ImFontConfig& cfg = atlas->ConfigData[src_i];
        IM_ASSERT(cfg.DstFont && (!cfg.DstFont->IsLoaded() || cfg.DstFont->ContainerAtlas == atlas));

        // Find index from cfg.DstFont (we allow the user to set cfg.DstFont. Also it makes casual debugging nicer than when storing indices)
        src_tmp.DstIndex = -1;
        for (int output_i = 0; output_i < atlas->Fonts.Size && src_tmp.DstIndex == -1; output_i++)
            if (cfg.DstFont == atlas->Fonts[output_i])
                src_tmp.DstIndex = output_i;
        if (src_tmp.DstIndex == -1)
        {
            IM_ASSERT(src_tmp.DstIndex != -1); // cfg.DstFont not pointing within atlas->Fonts[] array?
            return false;
        }
        // Initialize helper structure for font loading and verify that the TTF/OTF data is correct
        const int font_offset = stbtt_GetFontOffsetForIndex((unsigned char*)cfg.FontData, cfg.FontNo);
        IM_ASSERT(font_offset >= 0 && "FontData is incorrect, or FontNo cannot be found.");
        if (!stbtt_InitFont(&src_tmp.FontInfo, (unsigned char*)cfg.FontData, font_offset))
            return false;

        // Measure highest codepoints
        ImFontBuildDstData& dst_tmp = dst_tmp_array[src_tmp.DstIndex];
        src_tmp.SrcRanges = cfg.GlyphRanges ? cfg.GlyphRanges : atlas->GetGlyphRangesDefault();
        for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
            src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]);
        dst_tmp.SrcCount++;
        dst_tmp.GlyphsHighest = ImMax(dst_tmp.GlyphsHighest, src_tmp.GlyphsHighest);
    }

    // 2. For every requested codepoint, check for their presence in the font data, and handle redundancy or overlaps between source fonts to avoid unused glyphs.
    int total_glyphs_count = 0;
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        ImFontBuildDstData& dst_tmp = dst_tmp_array[src_tmp.DstIndex];
        src_tmp.GlyphsSet.Create(src_tmp.GlyphsHighest + 1);
        if (dst_tmp.GlyphsSet.Storage.empty())
            dst_tmp.GlyphsSet.Create(dst_tmp.GlyphsHighest + 1);

        for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
            for (unsigned int codepoint = src_range[0]; codepoint <= src_range[1]; codepoint++)
            {
                if (dst_tmp.GlyphsSet.TestBit(codepoint))    // Don't overwrite existing glyphs. We could make this an option for MergeMode (e.g. MergeOverwrite==true)
                    continue;
                if (!stbtt_FindGlyphIndex(&src_tmp.FontInfo, codepoint))    // It is actually in the font?
                    continue;

                // Add to avail set/counters
                src_tmp.GlyphsCount++;
                dst_tmp.GlyphsCount++;
                src_tmp.GlyphsSet.SetBit(codepoint);
                dst_tmp.GlyphsSet.SetBit(codepoint);
                total_glyphs_count++;
            }
    }

    // 3. Unpack our bit map into a flat list (we now have all the Unicode points that we know are requested _and_ available _and_ not overlapping another)
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        src_tmp.GlyphsList.reserve(src_tmp.GlyphsCount);
        UnpackBitVectorToFlatIndexList(&src_tmp.GlyphsSet, &src_tmp.GlyphsList);
        src_tmp.GlyphsSet.Clear();
        IM_ASSERT(src_tmp.GlyphsList.Size == src_tmp.GlyphsCount);
    }
    for (int dst_i = 0; dst_i < dst_tmp_array.Size; dst_i++)
        dst_tmp_array[dst_i].GlyphsSet.Clear();
    dst_tmp_array.clear();

    // Allocate packing character data and flag packed characters buffer as non-packed (x0=y0=x1=y1=0)
    // (We technically don't need to zero-clear buf_rects, but let's do it for the sake of sanity)
    ImVector<stbrp_rect> buf_rects;
    ImVector<stbtt_packedchar> buf_packedchars;
    buf_rects.resize(total_glyphs_count);
    buf_packedchars.resize(total_glyphs_count);
    memset(buf_rects.Data, 0, (size_t)buf_rects.size_in_bytes());
    memset(buf_packedchars.Data, 0, (size_t)buf_packedchars.size_in_bytes());

    // 4. Gather glyphs sizes so we can pack them in our virtual canvas.
    int total_surface = 0;
    int buf_rects_out_n = 0;
    int buf_packedchars_out_n = 0;
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        if (src_tmp.GlyphsCount == 0)
            continue;

        src_tmp.Rects = &buf_rects[buf_rects_out_n];
        src_tmp.PackedChars = &buf_packedchars[buf_packedchars_out_n];
        buf_rects_out_n += src_tmp.GlyphsCount;
        buf_packedchars_out_n += src_tmp.GlyphsCount;

        // Convert our ranges in the format stb_truetype wants
        ImFontConfig& cfg = atlas->ConfigData[src_i];
        src_tmp.PackRange.font_size = cfg.SizePixels;
        src_tmp.PackRange.first_unicode_codepoint_in_range = 0;
        src_tmp.PackRange.array_of_unicode_codepoints = src_tmp.GlyphsList.Data;
        src_tmp.PackRange.num_chars = src_tmp.GlyphsList.Size;
        src_tmp.PackRange.chardata_for_range = src_tmp.PackedChars;
        src_tmp.PackRange.h_oversample = (unsigned char)cfg.OversampleH;
        src_tmp.PackRange.v_oversample = (unsigned char)cfg.OversampleV;

        // Gather the sizes of all rectangles we will need to pack (this loop is based on stbtt_PackFontRangesGatherRects)
        const float scale = (cfg.SizePixels > 0) ? stbtt_ScaleForPixelHeight(&src_tmp.FontInfo, cfg.SizePixels) : stbtt_ScaleForMappingEmToPixels(&src_tmp.FontInfo, -cfg.SizePixels);
        const int padding = atlas->TexGlyphPadding;
        for (int glyph_i = 0; glyph_i < src_tmp.GlyphsList.Size; glyph_i++)
        {
            int x0, y0, x1, y1;
            const int glyph_index_in_font = stbtt_FindGlyphIndex(&src_tmp.FontInfo, src_tmp.GlyphsList[glyph_i]);
            IM_ASSERT(glyph_index_in_font != 0);
            stbtt_GetGlyphBitmapBoxSubpixel(&src_tmp.FontInfo, glyph_index_in_font, scale * cfg.OversampleH, scale * cfg.OversampleV, 0, 0, &x0, &y0, &x1, &y1);
            src_tmp.Rects[glyph_i].w = (stbrp_coord)(x1 - x0 + padding + cfg.OversampleH - 1);
            src_tmp.Rects[glyph_i].h = (stbrp_coord)(y1 - y0 + padding + cfg.OversampleV - 1);
            total_surface += src_tmp.Rects[glyph_i].w * src_tmp.Rects[glyph_i].h;
        }
    }

    // We need a width for the skyline algorithm, any width!
    // The exact width doesn't really matter much, but some API/GPU have texture size limitations and increasing width can decrease height.
    // User can override TexDesiredWidth and TexGlyphPadding if they wish, otherwise we use a simple heuristic to select the width based on expected surface.
    const int surface_sqrt = (int)ImSqrt((float)total_surface) + 1;
    atlas->TexHeight = 0;
    if (atlas->TexDesiredWidth > 0)
        atlas->TexWidth = atlas->TexDesiredWidth;
    else
        atlas->TexWidth = (surface_sqrt >= 4096 * 0.7f) ? 4096 : (surface_sqrt >= 2048 * 0.7f) ? 2048 : (surface_sqrt >= 1024 * 0.7f) ? 1024 : 512;

    // 5. Start packing
    // Pack our extra data rectangles first, so it will be on the upper-left corner of our texture (UV will have small values).
    const int TEX_HEIGHT_MAX = 1024 * 32;
    stbtt_pack_context spc = {};
    stbtt_PackBegin(&spc, NULL, atlas->TexWidth, TEX_HEIGHT_MAX, 0, atlas->TexGlyphPadding, NULL);
    ImFontAtlasBuildPackCustomRects(atlas, spc.pack_info);

    // 6. Pack each source font. No rendering yet, we are working with rectangles in an infinitely tall texture at this point.
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        if (src_tmp.GlyphsCount == 0)
            continue;

        stbrp_pack_rects((stbrp_context*)spc.pack_info, src_tmp.Rects, src_tmp.GlyphsCount);

        // Extend texture height and mark missing glyphs as non-packed so we won't render them.
        // FIXME: We are not handling packing failure here (would happen if we got off TEX_HEIGHT_MAX or if a single if larger than TexWidth?)
        for (int glyph_i = 0; glyph_i < src_tmp.GlyphsCount; glyph_i++)
            if (src_tmp.Rects[glyph_i].was_packed)
                atlas->TexHeight = ImMax(atlas->TexHeight, src_tmp.Rects[glyph_i].y + src_tmp.Rects[glyph_i].h);
    }

    // 7. Allocate texture
    atlas->TexHeight = (atlas->Flags & ImFontAtlasFlags_NoPowerOfTwoHeight) ? (atlas->TexHeight + 1) : ImUpperPowerOfTwo(atlas->TexHeight);
    atlas->TexUvScale = ImVec2(1.0f / atlas->TexWidth, 1.0f / atlas->TexHeight);
    atlas->TexPixelsAlpha8 = (unsigned char*)IM_ALLOC(atlas->TexWidth * atlas->TexHeight);
    memset(atlas->TexPixelsAlpha8, 0, atlas->TexWidth * atlas->TexHeight);
    spc.pixels = atlas->TexPixelsAlpha8;
    spc.height = atlas->TexHeight;

    // 8. Render/rasterize font characters into the texture
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontConfig& cfg = atlas->ConfigData[src_i];
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        if (src_tmp.GlyphsCount == 0)
            continue;

        stbtt_PackFontRangesRenderIntoRects(&spc, &src_tmp.FontInfo, &src_tmp.PackRange, 1, src_tmp.Rects);

        // Apply multiply operator
        if (cfg.RasterizerMultiply != 1.0f)
        {
            unsigned char multiply_table[256];
            ImFontAtlasBuildMultiplyCalcLookupTable(multiply_table, cfg.RasterizerMultiply);
            stbrp_rect* r = &src_tmp.Rects[0];
            for (int glyph_i = 0; glyph_i < src_tmp.GlyphsCount; glyph_i++, r++)
                if (r->was_packed)
                    ImFontAtlasBuildMultiplyRectAlpha8(multiply_table, atlas->TexPixelsAlpha8, r->x, r->y, r->w, r->h, atlas->TexWidth * 1);
        }
        src_tmp.Rects = NULL;
    }

    // End packing
    stbtt_PackEnd(&spc);
    buf_rects.clear();

    // 9. Setup ImFont and glyphs for runtime
    for (int src_i = 0; src_i < src_tmp_array.Size; src_i++)
    {
        ImFontBuildSrcData& src_tmp = src_tmp_array[src_i];
        if (src_tmp.GlyphsCount == 0)
            continue;

        // When merging fonts with MergeMode=true:
        // - We can have multiple input fonts writing into a same destination font.
        // - dst_font->ConfigData is != from cfg which is our source configuration.
        ImFontConfig& cfg = atlas->ConfigData[src_i];
        ImFont* dst_font = cfg.DstFont;

        const float font_scale = stbtt_ScaleForPixelHeight(&src_tmp.FontInfo, cfg.SizePixels);
        int unscaled_ascent, unscaled_descent, unscaled_line_gap;
        stbtt_GetFontVMetrics(&src_tmp.FontInfo, &unscaled_ascent, &unscaled_descent, &unscaled_line_gap);

        const float ascent = ImFloor(unscaled_ascent * font_scale + ((unscaled_ascent > 0.0f) ? +1 : -1));
        const float descent = ImFloor(unscaled_descent * font_scale + ((unscaled_descent > 0.0f) ? +1 : -1));
        ImFontAtlasBuildSetupFont(atlas, dst_font, &cfg, ascent, descent);
        const float font_off_x = cfg.GlyphOffset.x;
        const float font_off_y = cfg.GlyphOffset.y + IM_ROUND(dst_font->Ascent);

        for (int glyph_i = 0; glyph_i < src_tmp.GlyphsCount; glyph_i++)
        {
            // Register glyph
            const int codepoint = src_tmp.GlyphsList[glyph_i];
            const stbtt_packedchar& pc = src_tmp.PackedChars[glyph_i];
            stbtt_aligned_quad q;
            float unused_x = 0.0f, unused_y = 0.0f;
            stbtt_GetPackedQuad(src_tmp.PackedChars, atlas->TexWidth, atlas->TexHeight, glyph_i, &unused_x, &unused_y, &q, 0);
            dst_font->AddGlyph(&cfg, (ImWchar)codepoint, q.x0 + font_off_x, q.y0 + font_off_y, q.x1 + font_off_x, q.y1 + font_off_y, q.s0, q.t0, q.s1, q.t1, pc.xadvance);
        }
    }

    // Cleanup
    src_tmp_array.clear_destruct();

    ImFontAtlasBuildFinish(atlas);
    return true;
}

const ImFontBuilderIO* ImFontAtlasGetBuilderForStbTruetype()
{
    static ImFontBuilderIO io;
    io.FontBuilder_Build = ImFontAtlasBuildWithStbTruetype;
    return &io;
}

#endif // IMGUI_ENABLE_STB_TRUETYPE

void ImFontAtlasBuildSetupFont(ImFontAtlas* atlas, ImFont* font, ImFontConfig* font_config, float ascent, float descent)
{
    if (!font_config->MergeMode)
    {
        font->ClearOutputData();
        font->FontSize = font_config->SizePixels;
        font->ConfigData = font_config;
        font->ConfigDataCount = 0;
        font->ContainerAtlas = atlas;
        font->Ascent = ascent;
        font->Descent = descent;
    }
    font->ConfigDataCount++;
}

void ImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opaque)
{
    stbrp_context* pack_context = (stbrp_context*)stbrp_context_opaque;
    IM_ASSERT(pack_context != NULL);

    ImVector<ImFontAtlasCustomRect>& user_rects = atlas->CustomRects;
    IM_ASSERT(user_rects.Size >= 1); // We expect at least the default custom rects to be registered, else something went wrong.

    ImVector<stbrp_rect> pack_rects;
    pack_rects.resize(user_rects.Size);
    memset(pack_rects.Data, 0, (size_t)pack_rects.size_in_bytes());
    for (int i = 0; i < user_rects.Size; i++)
    {
        pack_rects[i].w = user_rects[i].Width;
        pack_rects[i].h = user_rects[i].Height;
    }
    stbrp_pack_rects(pack_context, &pack_rects[0], pack_rects.Size);
    for (int i = 0; i < pack_rects.Size; i++)
        if (pack_rects[i].was_packed)
        {
            user_rects[i].X = pack_rects[i].x;
            user_rects[i].Y = pack_rects[i].y;
            IM_ASSERT(pack_rects[i].w == user_rects[i].Width && pack_rects[i].h == user_rects[i].Height);
            atlas->TexHeight = ImMax(atlas->TexHeight, pack_rects[i].y + pack_rects[i].h);
        }
}

void ImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas, int x, int y, int w, int h, const char* in_str, char in_marker_char, unsigned char in_marker_pixel_value)
{
    IM_ASSERT(x >= 0 && x + w <= atlas->TexWidth);
    IM_ASSERT(y >= 0 && y + h <= atlas->TexHeight);
    unsigned char* out_pixel = atlas->TexPixelsAlpha8 + x + (y * atlas->TexWidth);
    for (int off_y = 0; off_y < h; off_y++, out_pixel += atlas->TexWidth, in_str += w)
        for (int off_x = 0; off_x < w; off_x++)
            out_pixel[off_x] = (in_str[off_x] == in_marker_char) ? in_marker_pixel_value : 0x00;
}

void ImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas, int x, int y, int w, int h, const char* in_str, char in_marker_char, unsigned int in_marker_pixel_value)
{
    IM_ASSERT(x >= 0 && x + w <= atlas->TexWidth);
    IM_ASSERT(y >= 0 && y + h <= atlas->TexHeight);
    unsigned int* out_pixel = atlas->TexPixelsRGBA32 + x + (y * atlas->TexWidth);
    for (int off_y = 0; off_y < h; off_y++, out_pixel += atlas->TexWidth, in_str += w)
        for (int off_x = 0; off_x < w; off_x++)
            out_pixel[off_x] = (in_str[off_x] == in_marker_char) ? in_marker_pixel_value : IM_COL32_BLACK_TRANS;
}

static void ImFontAtlasBuildRenderDefaultTexData(ImFontAtlas* atlas)
{
    ImFontAtlasCustomRect* r = atlas->GetCustomRectByIndex(atlas->PackIdMouseCursors);
    IM_ASSERT(r->IsPacked());

    const int w = atlas->TexWidth;
    if (!(atlas->Flags & ImFontAtlasFlags_NoMouseCursors))
    {
        // Render/copy pixels
        IM_ASSERT(r->Width == FONT_ATLAS_DEFAULT_TEX_DATA_W * 2 + 1 && r->Height == FONT_ATLAS_DEFAULT_TEX_DATA_H);
        const int x_for_white = r->X;
        const int x_for_black = r->X + FONT_ATLAS_DEFAULT_TEX_DATA_W + 1;
        if (atlas->TexPixelsAlpha8 != NULL)
        {
            ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', 0xFF);
            ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', 0xFF);
        }
        else
        {
            ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', IM_COL32_WHITE);
            ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', IM_COL32_WHITE);
        }
    }
    else
    {
        // Render 4 white pixels
        IM_ASSERT(r->Width == 2 && r->Height == 2);
        const int offset = (int)r->X + (int)r->Y * w;
        if (atlas->TexPixelsAlpha8 != NULL)
        {
            atlas->TexPixelsAlpha8[offset] = atlas->TexPixelsAlpha8[offset + 1] = atlas->TexPixelsAlpha8[offset + w] = atlas->TexPixelsAlpha8[offset + w + 1] = 0xFF;
        }
        else
        {
            atlas->TexPixelsRGBA32[offset] = atlas->TexPixelsRGBA32[offset + 1] = atlas->TexPixelsRGBA32[offset + w] = atlas->TexPixelsRGBA32[offset + w + 1] = IM_COL32_WHITE;
        }
    }
    atlas->TexUvWhitePixel = ImVec2((r->X + 0.5f) * atlas->TexUvScale.x, (r->Y + 0.5f) * atlas->TexUvScale.y);
}

static void ImFontAtlasBuildRenderLinesTexData(ImFontAtlas* atlas)
{
    if (atlas->Flags & ImFontAtlasFlags_NoBakedLines)
        return;

    // This generates a triangular shape in the texture, with the various line widths stacked on top of each other to allow interpolation between them
    ImFontAtlasCustomRect* r = atlas->GetCustomRectByIndex(atlas->PackIdLines);
    IM_ASSERT(r->IsPacked());
    for (unsigned int n = 0; n < IM_DRAWLIST_TEX_LINES_WIDTH_MAX + 1; n++) // +1 because of the zero-width row
    {
        // Each line consists of at least two empty pixels at the ends, with a line of solid pixels in the middle
        unsigned int y = n;
        unsigned int line_width = n;
        unsigned int pad_left = (r->Width - line_width) / 2;
        unsigned int pad_right = r->Width - (pad_left + line_width);

        // Write each slice
        IM_ASSERT(pad_left + line_width + pad_right == r->Width && y < r->Height); // Make sure we're inside the texture bounds before we start writing pixels
        if (atlas->TexPixelsAlpha8 != NULL)
        {
            unsigned char* write_ptr = &atlas->TexPixelsAlpha8[r->X + ((r->Y + y) * atlas->TexWidth)];
            for (unsigned int i = 0; i < pad_left; i++)
                *(write_ptr + i) = 0x00;

            for (unsigned int i = 0; i < line_width; i++)
                *(write_ptr + pad_left + i) = 0xFF;

            for (unsigned int i = 0; i < pad_right; i++)
                *(write_ptr + pad_left + line_width + i) = 0x00;
        }
        else
        {
            unsigned int* write_ptr = &atlas->TexPixelsRGBA32[r->X + ((r->Y + y) * atlas->TexWidth)];
            for (unsigned int i = 0; i < pad_left; i++)
                *(write_ptr + i) = IM_COL32_BLACK_TRANS;

            for (unsigned int i = 0; i < line_width; i++)
                *(write_ptr + pad_left + i) = IM_COL32_WHITE;

            for (unsigned int i = 0; i < pad_right; i++)
                *(write_ptr + pad_left + line_width + i) = IM_COL32_BLACK_TRANS;
        }

        // Calculate UVs for this line
        ImVec2 uv0 = ImVec2((float)(r->X + pad_left - 1), (float)(r->Y + y)) * atlas->TexUvScale;
        ImVec2 uv1 = ImVec2((float)(r->X + pad_left + line_width + 1), (float)(r->Y + y + 1)) * atlas->TexUvScale;
        float half_v = (uv0.y + uv1.y) * 0.5f; // Calculate a constant V in the middle of the row to avoid sampling artifacts
        atlas->TexUvLines[n] = ImVec4(uv0.x, half_v, uv1.x, half_v);
    }
}

// Note: this is called / shared by both the stb_truetype and the FreeType builder
void ImFontAtlasBuildInit(ImFontAtlas* atlas)
{
    // Register texture region for mouse cursors or standard white pixels
    if (atlas->PackIdMouseCursors < 0)
    {
        if (!(atlas->Flags & ImFontAtlasFlags_NoMouseCursors))
            atlas->PackIdMouseCursors = atlas->AddCustomRectRegular(FONT_ATLAS_DEFAULT_TEX_DATA_W * 2 + 1, FONT_ATLAS_DEFAULT_TEX_DATA_H);
        else
            atlas->PackIdMouseCursors = atlas->AddCustomRectRegular(2, 2);
    }

    // Register texture region for thick lines
    // The +2 here is to give space for the end caps, whilst height +1 is to accommodate the fact we have a zero-width row
    if (atlas->PackIdLines < 0)
    {
        if (!(atlas->Flags & ImFontAtlasFlags_NoBakedLines))
            atlas->PackIdLines = atlas->AddCustomRectRegular(IM_DRAWLIST_TEX_LINES_WIDTH_MAX + 2, IM_DRAWLIST_TEX_LINES_WIDTH_MAX + 1);
    }
}

// This is called/shared by both the stb_truetype and the FreeType builder.
void ImFontAtlasBuildFinish(ImFontAtlas* atlas)
{
    // Render into our custom data blocks
    IM_ASSERT(atlas->TexPixelsAlpha8 != NULL || atlas->TexPixelsRGBA32 != NULL);
    ImFontAtlasBuildRenderDefaultTexData(atlas);
    ImFontAtlasBuildRenderLinesTexData(atlas);

    // Register custom rectangle glyphs
    for (int i = 0; i < atlas->CustomRects.Size; i++)
    {
        const ImFontAtlasCustomRect* r = &atlas->CustomRects[i];
        if (r->Font == NULL || r->GlyphID == 0)
            continue;

        // Will ignore ImFontConfig settings: GlyphMinAdvanceX, GlyphMinAdvanceY, GlyphExtraSpacing, PixelSnapH
        IM_ASSERT(r->Font->ContainerAtlas == atlas);
        ImVec2 uv0, uv1;
        atlas->CalcCustomRectUV(r, &uv0, &uv1);
        r->Font->AddGlyph(NULL, (ImWchar)r->GlyphID, r->GlyphOffset.x, r->GlyphOffset.y, r->GlyphOffset.x + r->Width, r->GlyphOffset.y + r->Height, uv0.x, uv0.y, uv1.x, uv1.y, r->GlyphAdvanceX);
    }

    // Build all fonts lookup tables
    for (int i = 0; i < atlas->Fonts.Size; i++)
        if (atlas->Fonts[i]->DirtyLookupTables)
            atlas->Fonts[i]->BuildLookupTable();

    atlas->TexReady = true;
}

// Retrieve list of range (2 int per range, values are inclusive)
const ImWchar*   ImFontAtlas::GetGlyphRangesDefault()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0,
    };
    return &ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesKorean()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x3131, 0x3163, // Korean alphabets
        0xAC00, 0xD7A3, // Korean characters
        0xFFFD, 0xFFFD, // Invalid
        0,
    };
    return &ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesChineseFull()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x2000, 0x206F, // General Punctuation
        0x3000, 0x30FF, // CJK Symbols and Punctuations, Hiragana, Katakana
        0x31F0, 0x31FF, // Katakana Phonetic Extensions
        0xFF00, 0xFFEF, // Half-width characters
        0xFFFD, 0xFFFD, // Invalid
        0x4e00, 0x9FAF, // CJK Ideograms
        0,
    };
    return &ranges[0];
}

static void UnpackAccumulativeOffsetsIntoRanges(int base_codepoint, const short* accumulative_offsets, int accumulative_offsets_count, ImWchar* out_ranges)
{
    for (int n = 0; n < accumulative_offsets_count; n++, out_ranges += 2)
    {
        out_ranges[0] = out_ranges[1] = (ImWchar)(base_codepoint + accumulative_offsets[n]);
        base_codepoint += accumulative_offsets[n];
    }
    out_ranges[0] = 0;
}

//-------------------------------------------------------------------------
// [SECTION] ImFontAtlas glyph ranges helpers
//-------------------------------------------------------------------------

const ImWchar*  ImFontAtlas::GetGlyphRangesChineseSimplifiedCommon()
{
    // Store 2500 regularly used characters for Simplified Chinese.
    // Sourced from https://zh.wiktionary.org/wiki/%E9%99%84%E5%BD%95:%E7%8E%B0%E4%BB%A3%E6%B1%89%E8%AF%AD%E5%B8%B8%E7%94%A8%E5%AD%97%E8%A1%A8
    // This table covers 97.97% of all characters used during the month in July, 1987.
    // You can use ImFontGlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
    // (Stored as accumulative offsets from the initial unicode codepoint 0x4E00. This encoding is designed to helps us compact the source code size.)
    static const short accumulative_offsets_from_0x4E00[] =
    {
        0,1,2,4,1,1,1,1,2,1,3,2,1,2,2,1,1,1,1,1,5,2,1,2,3,3,3,2,2,4,1,1,1,2,1,5,2,3,1,2,1,2,1,1,2,1,1,2,2,1,4,1,1,1,1,5,10,1,2,19,2,1,2,1,2,1,2,1,2,
        1,5,1,6,3,2,1,2,2,1,1,1,4,8,5,1,1,4,1,1,3,1,2,1,5,1,2,1,1,1,10,1,1,5,2,4,6,1,4,2,2,2,12,2,1,1,6,1,1,1,4,1,1,4,6,5,1,4,2,2,4,10,7,1,1,4,2,4,
        2,1,4,3,6,10,12,5,7,2,14,2,9,1,1,6,7,10,4,7,13,1,5,4,8,4,1,1,2,28,5,6,1,1,5,2,5,20,2,2,9,8,11,2,9,17,1,8,6,8,27,4,6,9,20,11,27,6,68,2,2,1,1,
        1,2,1,2,2,7,6,11,3,3,1,1,3,1,2,1,1,1,1,1,3,1,1,8,3,4,1,5,7,2,1,4,4,8,4,2,1,2,1,1,4,5,6,3,6,2,12,3,1,3,9,2,4,3,4,1,5,3,3,1,3,7,1,5,1,1,1,1,2,
        3,4,5,2,3,2,6,1,1,2,1,7,1,7,3,4,5,15,2,2,1,5,3,22,19,2,1,1,1,1,2,5,1,1,1,6,1,1,12,8,2,9,18,22,4,1,1,5,1,16,1,2,7,10,15,1,1,6,2,4,1,2,4,1,6,
        1,1,3,2,4,1,6,4,5,1,2,1,1,2,1,10,3,1,3,2,1,9,3,2,5,7,2,19,4,3,6,1,1,1,1,1,4,3,2,1,1,1,2,5,3,1,1,1,2,2,1,1,2,1,1,2,1,3,1,1,1,3,7,1,4,1,1,2,1,
        1,2,1,2,4,4,3,8,1,1,1,2,1,3,5,1,3,1,3,4,6,2,2,14,4,6,6,11,9,1,15,3,1,28,5,2,5,5,3,1,3,4,5,4,6,14,3,2,3,5,21,2,7,20,10,1,2,19,2,4,28,28,2,3,
        2,1,14,4,1,26,28,42,12,40,3,52,79,5,14,17,3,2,2,11,3,4,6,3,1,8,2,23,4,5,8,10,4,2,7,3,5,1,1,6,3,1,2,2,2,5,28,1,1,7,7,20,5,3,29,3,17,26,1,8,4,
        27,3,6,11,23,5,3,4,6,13,24,16,6,5,10,25,35,7,3,2,3,3,14,3,6,2,6,1,4,2,3,8,2,1,1,3,3,3,4,1,1,13,2,2,4,5,2,1,14,14,1,2,2,1,4,5,2,3,1,14,3,12,
        3,17,2,16,5,1,2,1,8,9,3,19,4,2,2,4,17,25,21,20,28,75,1,10,29,103,4,1,2,1,1,4,2,4,1,2,3,24,2,2,2,1,1,2,1,3,8,1,1,1,2,1,1,3,1,1,1,6,1,5,3,1,1,
        1,3,4,1,1,5,2,1,5,6,13,9,16,1,1,1,1,3,2,3,2,4,5,2,5,2,2,3,7,13,7,2,2,1,1,1,1,2,3,3,2,1,6,4,9,2,1,14,2,14,2,1,18,3,4,14,4,11,41,15,23,15,23,
        176,1,3,4,1,1,1,1,5,3,1,2,3,7,3,1,1,2,1,2,4,4,6,2,4,1,9,7,1,10,5,8,16,29,1,1,2,2,3,1,3,5,2,4,5,4,1,1,2,2,3,3,7,1,6,10,1,17,1,44,4,6,2,1,1,6,
        5,4,2,10,1,6,9,2,8,1,24,1,2,13,7,8,8,2,1,4,1,3,1,3,3,5,2,5,10,9,4,9,12,2,1,6,1,10,1,1,7,7,4,10,8,3,1,13,4,3,1,6,1,3,5,2,1,2,17,16,5,2,16,6,
        1,4,2,1,3,3,6,8,5,11,11,1,3,3,2,4,6,10,9,5,7,4,7,4,7,1,1,4,2,1,3,6,8,7,1,6,11,5,5,3,24,9,4,2,7,13,5,1,8,82,16,61,1,1,1,4,2,2,16,10,3,8,1,1,
        6,4,2,1,3,1,1,1,4,3,8,4,2,2,1,1,1,1,1,6,3,5,1,1,4,6,9,2,1,1,1,2,1,7,2,1,6,1,5,4,4,3,1,8,1,3,3,1,3,2,2,2,2,3,1,6,1,2,1,2,1,3,7,1,8,2,1,2,1,5,
        2,5,3,5,10,1,2,1,1,3,2,5,11,3,9,3,5,1,1,5,9,1,2,1,5,7,9,9,8,1,3,3,3,6,8,2,3,2,1,1,32,6,1,2,15,9,3,7,13,1,3,10,13,2,14,1,13,10,2,1,3,10,4,15,
        2,15,15,10,1,3,9,6,9,32,25,26,47,7,3,2,3,1,6,3,4,3,2,8,5,4,1,9,4,2,2,19,10,6,2,3,8,1,2,2,4,2,1,9,4,4,4,6,4,8,9,2,3,1,1,1,1,3,5,5,1,3,8,4,6,
        2,1,4,12,1,5,3,7,13,2,5,8,1,6,1,2,5,14,6,1,5,2,4,8,15,5,1,23,6,62,2,10,1,1,8,1,2,2,10,4,2,2,9,2,1,1,3,2,3,1,5,3,3,2,1,3,8,1,1,1,11,3,1,1,4,
        3,7,1,14,1,2,3,12,5,2,5,1,6,7,5,7,14,11,1,3,1,8,9,12,2,1,11,8,4,4,2,6,10,9,13,1,1,3,1,5,1,3,2,4,4,1,18,2,3,14,11,4,29,4,2,7,1,3,13,9,2,2,5,
        3,5,20,7,16,8,5,72,34,6,4,22,12,12,28,45,36,9,7,39,9,191,1,1,1,4,11,8,4,9,2,3,22,1,1,1,1,4,17,1,7,7,1,11,31,10,2,4,8,2,3,2,1,4,2,16,4,32,2,
        3,19,13,4,9,1,5,2,14,8,1,1,3,6,19,6,5,1,16,6,2,10,8,5,1,2,3,1,5,5,1,11,6,6,1,3,3,2,6,3,8,1,1,4,10,7,5,7,7,5,8,9,2,1,3,4,1,1,3,1,3,3,2,6,16,
        1,4,6,3,1,10,6,1,3,15,2,9,2,10,25,13,9,16,6,2,2,10,11,4,3,9,1,2,6,6,5,4,30,40,1,10,7,12,14,33,6,3,6,7,3,1,3,1,11,14,4,9,5,12,11,49,18,51,31,
        140,31,2,2,1,5,1,8,1,10,1,4,4,3,24,1,10,1,3,6,6,16,3,4,5,2,1,4,2,57,10,6,22,2,22,3,7,22,6,10,11,36,18,16,33,36,2,5,5,1,1,1,4,10,1,4,13,2,7,
        5,2,9,3,4,1,7,43,3,7,3,9,14,7,9,1,11,1,1,3,7,4,18,13,1,14,1,3,6,10,73,2,2,30,6,1,11,18,19,13,22,3,46,42,37,89,7,3,16,34,2,2,3,9,1,7,1,1,1,2,
        2,4,10,7,3,10,3,9,5,28,9,2,6,13,7,3,1,3,10,2,7,2,11,3,6,21,54,85,2,1,4,2,2,1,39,3,21,2,2,5,1,1,1,4,1,1,3,4,15,1,3,2,4,4,2,3,8,2,20,1,8,7,13,
        4,1,26,6,2,9,34,4,21,52,10,4,4,1,5,12,2,11,1,7,2,30,12,44,2,30,1,1,3,6,16,9,17,39,82,2,2,24,7,1,7,3,16,9,14,44,2,1,2,1,2,3,5,2,4,1,6,7,5,3,
        2,6,1,11,5,11,2,1,18,19,8,1,3,24,29,2,1,3,5,2,2,1,13,6,5,1,46,11,3,5,1,1,5,8,2,10,6,12,6,3,7,11,2,4,16,13,2,5,1,1,2,2,5,2,28,5,2,23,10,8,4,
        4,22,39,95,38,8,14,9,5,1,13,5,4,3,13,12,11,1,9,1,27,37,2,5,4,4,63,211,95,2,2,2,1,3,5,2,1,1,2,2,1,1,1,3,2,4,1,2,1,1,5,2,2,1,1,2,3,1,3,1,1,1,
        3,1,4,2,1,3,6,1,1,3,7,15,5,3,2,5,3,9,11,4,2,22,1,6,3,8,7,1,4,28,4,16,3,3,25,4,4,27,27,1,4,1,2,2,7,1,3,5,2,28,8,2,14,1,8,6,16,25,3,3,3,14,3,
        3,1,1,2,1,4,6,3,8,4,1,1,1,2,3,6,10,6,2,3,18,3,2,5,5,4,3,1,5,2,5,4,23,7,6,12,6,4,17,11,9,5,1,1,10,5,12,1,1,11,26,33,7,3,6,1,17,7,1,5,12,1,11,
        2,4,1,8,14,17,23,1,2,1,7,8,16,11,9,6,5,2,6,4,16,2,8,14,1,11,8,9,1,1,1,9,25,4,11,19,7,2,15,2,12,8,52,7,5,19,2,16,4,36,8,1,16,8,24,26,4,6,2,9,
        5,4,36,3,28,12,25,15,37,27,17,12,59,38,5,32,127,1,2,9,17,14,4,1,2,1,1,8,11,50,4,14,2,19,16,4,17,5,4,5,26,12,45,2,23,45,104,30,12,8,3,10,2,2,
        3,3,1,4,20,7,2,9,6,15,2,20,1,3,16,4,11,15,6,134,2,5,59,1,2,2,2,1,9,17,3,26,137,10,211,59,1,2,4,1,4,1,1,1,2,6,2,3,1,1,2,3,2,3,1,3,4,4,2,3,3,
        1,4,3,1,7,2,2,3,1,2,1,3,3,3,2,2,3,2,1,3,14,6,1,3,2,9,6,15,27,9,34,145,1,1,2,1,1,1,1,2,1,1,1,1,2,2,2,3,1,2,1,1,1,2,3,5,8,3,5,2,4,1,3,2,2,2,12,
        4,1,1,1,10,4,5,1,20,4,16,1,15,9,5,12,2,9,2,5,4,2,26,19,7,1,26,4,30,12,15,42,1,6,8,172,1,1,4,2,1,1,11,2,2,4,2,1,2,1,10,8,1,2,1,4,5,1,2,5,1,8,
        4,1,3,4,2,1,6,2,1,3,4,1,2,1,1,1,1,12,5,7,2,4,3,1,1,1,3,3,6,1,2,2,3,3,3,2,1,2,12,14,11,6,6,4,12,2,8,1,7,10,1,35,7,4,13,15,4,3,23,21,28,52,5,
        26,5,6,1,7,10,2,7,53,3,2,1,1,1,2,163,532,1,10,11,1,3,3,4,8,2,8,6,2,2,23,22,4,2,2,4,2,1,3,1,3,3,5,9,8,2,1,2,8,1,10,2,12,21,20,15,105,2,3,1,1,
        3,2,3,1,1,2,5,1,4,15,11,19,1,1,1,1,5,4,5,1,1,2,5,3,5,12,1,2,5,1,11,1,1,15,9,1,4,5,3,26,8,2,1,3,1,1,15,19,2,12,1,2,5,2,7,2,19,2,20,6,26,7,5,
        2,2,7,34,21,13,70,2,128,1,1,2,1,1,2,1,1,3,2,2,2,15,1,4,1,3,4,42,10,6,1,49,85,8,1,2,1,1,4,4,2,3,6,1,5,7,4,3,211,4,1,2,1,2,5,1,2,4,2,2,6,5,6,
        10,3,4,48,100,6,2,16,296,5,27,387,2,2,3,7,16,8,5,38,15,39,21,9,10,3,7,59,13,27,21,47,5,21,6
    };
    static ImWchar base_ranges[] = // not zero-terminated
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x2000, 0x206F, // General Punctuation
        0x3000, 0x30FF, // CJK Symbols and Punctuations, Hiragana, Katakana
        0x31F0, 0x31FF, // Katakana Phonetic Extensions
        0xFF00, 0xFFEF, // Half-width characters
        0xFFFD, 0xFFFD  // Invalid
    };
    static ImWchar full_ranges[IM_ARRAYSIZE(base_ranges) + IM_ARRAYSIZE(accumulative_offsets_from_0x4E00) * 2 + 1] = { 0 };
    if (!full_ranges[0])
    {
        memcpy(full_ranges, base_ranges, sizeof(base_ranges));
        UnpackAccumulativeOffsetsIntoRanges(0x4E00, accumulative_offsets_from_0x4E00, IM_ARRAYSIZE(accumulative_offsets_from_0x4E00), full_ranges + IM_ARRAYSIZE(base_ranges));
    }
    return &full_ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesJapanese()
{
    // 2999 ideograms code points for Japanese
    // - 2136 Joyo (meaning "for regular use" or "for common use") Kanji code points
    // - 863 Jinmeiyo (meaning "for personal name") Kanji code points
    // - Sourced from the character information database of the Information-technology Promotion Agency, Japan
    //   - https://mojikiban.ipa.go.jp/mji/
    //   - Available under the terms of the Creative Commons Attribution-ShareAlike 2.1 Japan (CC BY-SA 2.1 JP).
    //     - https://creativecommons.org/licenses/by-sa/2.1/jp/deed.en
    //     - https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode
    //   - You can generate this code by the script at:
    //     - https://github.com/vaiorabbit/everyday_use_kanji
    // - References:
    //   - List of Joyo Kanji
    //     - (Official list by the Agency for Cultural Affairs) https://www.bunka.go.jp/kokugo_nihongo/sisaku/joho/joho/kakuki/14/tosin02/index.html
    //     - (Wikipedia) https://en.wikipedia.org/wiki/List_of_j%C5%8Dy%C5%8D_kanji
    //   - List of Jinmeiyo Kanji
    //     - (Official list by the Ministry of Justice) http://www.moj.go.jp/MINJI/minji86.html
    //     - (Wikipedia) https://en.wikipedia.org/wiki/Jinmeiy%C5%8D_kanji
    // - Missing 1 Joyo Kanji: U+20B9F (Kun'yomi: Shikaru, On'yomi: Shitsu,shichi), see https://github.com/ocornut/imgui/pull/3627 for details.
    // You can use ImFontGlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
    // (Stored as accumulative offsets from the initial unicode codepoint 0x4E00. This encoding is designed to helps us compact the source code size.)
    static const short accumulative_offsets_from_0x4E00[] =
    {
        0,1,2,4,1,1,1,1,2,1,3,3,2,2,1,5,3,5,7,5,6,1,2,1,7,2,6,3,1,8,1,1,4,1,1,18,2,11,2,6,2,1,2,1,5,1,2,1,3,1,2,1,2,3,3,1,1,2,3,1,1,1,12,7,9,1,4,5,1,
        1,2,1,10,1,1,9,2,2,4,5,6,9,3,1,1,1,1,9,3,18,5,2,2,2,2,1,6,3,7,1,1,1,1,2,2,4,2,1,23,2,10,4,3,5,2,4,10,2,4,13,1,6,1,9,3,1,1,6,6,7,6,3,1,2,11,3,
        2,2,3,2,15,2,2,5,4,3,6,4,1,2,5,2,12,16,6,13,9,13,2,1,1,7,16,4,7,1,19,1,5,1,2,2,7,7,8,2,6,5,4,9,18,7,4,5,9,13,11,8,15,2,1,1,1,2,1,2,2,1,2,2,8,
        2,9,3,3,1,1,4,4,1,1,1,4,9,1,4,3,5,5,2,7,5,3,4,8,2,1,13,2,3,3,1,14,1,1,4,5,1,3,6,1,5,2,1,1,3,3,3,3,1,1,2,7,6,6,7,1,4,7,6,1,1,1,1,1,12,3,3,9,5,
        2,6,1,5,6,1,2,3,18,2,4,14,4,1,3,6,1,1,6,3,5,5,3,2,2,2,2,12,3,1,4,2,3,2,3,11,1,7,4,1,2,1,3,17,1,9,1,24,1,1,4,2,2,4,1,2,7,1,1,1,3,1,2,2,4,15,1,
        1,2,1,1,2,1,5,2,5,20,2,5,9,1,10,8,7,6,1,1,1,1,1,1,6,2,1,2,8,1,1,1,1,5,1,1,3,1,1,1,1,3,1,1,12,4,1,3,1,1,1,1,1,10,3,1,7,5,13,1,2,3,4,6,1,1,30,
        2,9,9,1,15,38,11,3,1,8,24,7,1,9,8,10,2,1,9,31,2,13,6,2,9,4,49,5,2,15,2,1,10,2,1,1,1,2,2,6,15,30,35,3,14,18,8,1,16,10,28,12,19,45,38,1,3,2,3,
        13,2,1,7,3,6,5,3,4,3,1,5,7,8,1,5,3,18,5,3,6,1,21,4,24,9,24,40,3,14,3,21,3,2,1,2,4,2,3,1,15,15,6,5,1,1,3,1,5,6,1,9,7,3,3,2,1,4,3,8,21,5,16,4,
        5,2,10,11,11,3,6,3,2,9,3,6,13,1,2,1,1,1,1,11,12,6,6,1,4,2,6,5,2,1,1,3,3,6,13,3,1,1,5,1,2,3,3,14,2,1,2,2,2,5,1,9,5,1,1,6,12,3,12,3,4,13,2,14,
        2,8,1,17,5,1,16,4,2,2,21,8,9,6,23,20,12,25,19,9,38,8,3,21,40,25,33,13,4,3,1,4,1,2,4,1,2,5,26,2,1,1,2,1,3,6,2,1,1,1,1,1,1,2,3,1,1,1,9,2,3,1,1,
        1,3,6,3,2,1,1,6,6,1,8,2,2,2,1,4,1,2,3,2,7,3,2,4,1,2,1,2,2,1,1,1,1,1,3,1,2,5,4,10,9,4,9,1,1,1,1,1,1,5,3,2,1,6,4,9,6,1,10,2,31,17,8,3,7,5,40,1,
        7,7,1,6,5,2,10,7,8,4,15,39,25,6,28,47,18,10,7,1,3,1,1,2,1,1,1,3,3,3,1,1,1,3,4,2,1,4,1,3,6,10,7,8,6,2,2,1,3,3,2,5,8,7,9,12,2,15,1,1,4,1,2,1,1,
        1,3,2,1,3,3,5,6,2,3,2,10,1,4,2,8,1,1,1,11,6,1,21,4,16,3,1,3,1,4,2,3,6,5,1,3,1,1,3,3,4,6,1,1,10,4,2,7,10,4,7,4,2,9,4,3,1,1,1,4,1,8,3,4,1,3,1,
        6,1,4,2,1,4,7,2,1,8,1,4,5,1,1,2,2,4,6,2,7,1,10,1,1,3,4,11,10,8,21,4,6,1,3,5,2,1,2,28,5,5,2,3,13,1,2,3,1,4,2,1,5,20,3,8,11,1,3,3,3,1,8,10,9,2,
        10,9,2,3,1,1,2,4,1,8,3,6,1,7,8,6,11,1,4,29,8,4,3,1,2,7,13,1,4,1,6,2,6,12,12,2,20,3,2,3,6,4,8,9,2,7,34,5,1,18,6,1,1,4,4,5,7,9,1,2,2,4,3,4,1,7,
        2,2,2,6,2,3,25,5,3,6,1,4,6,7,4,2,1,4,2,13,6,4,4,3,1,5,3,4,4,3,2,1,1,4,1,2,1,1,3,1,11,1,6,3,1,7,3,6,2,8,8,6,9,3,4,11,3,2,10,12,2,5,11,1,6,4,5,
        3,1,8,5,4,6,6,3,5,1,1,3,2,1,2,2,6,17,12,1,10,1,6,12,1,6,6,19,9,6,16,1,13,4,4,15,7,17,6,11,9,15,12,6,7,2,1,2,2,15,9,3,21,4,6,49,18,7,3,2,3,1,
        6,8,2,2,6,2,9,1,3,6,4,4,1,2,16,2,5,2,1,6,2,3,5,3,1,2,5,1,2,1,9,3,1,8,6,4,8,11,3,1,1,1,1,3,1,13,8,4,1,3,2,2,1,4,1,11,1,5,2,1,5,2,5,8,6,1,1,7,
        4,3,8,3,2,7,2,1,5,1,5,2,4,7,6,2,8,5,1,11,4,5,3,6,18,1,2,13,3,3,1,21,1,1,4,1,4,1,1,1,8,1,2,2,7,1,2,4,2,2,9,2,1,1,1,4,3,6,3,12,5,1,1,1,5,6,3,2,
        4,8,2,2,4,2,7,1,8,9,5,2,3,2,1,3,2,13,7,14,6,5,1,1,2,1,4,2,23,2,1,1,6,3,1,4,1,15,3,1,7,3,9,14,1,3,1,4,1,1,5,8,1,3,8,3,8,15,11,4,14,4,4,2,5,5,
        1,7,1,6,14,7,7,8,5,15,4,8,6,5,6,2,1,13,1,20,15,11,9,2,5,6,2,11,2,6,2,5,1,5,8,4,13,19,25,4,1,1,11,1,34,2,5,9,14,6,2,2,6,1,1,14,1,3,14,13,1,6,
        12,21,14,14,6,32,17,8,32,9,28,1,2,4,11,8,3,1,14,2,5,15,1,1,1,1,3,6,4,1,3,4,11,3,1,1,11,30,1,5,1,4,1,5,8,1,1,3,2,4,3,17,35,2,6,12,17,3,1,6,2,
        1,1,12,2,7,3,3,2,1,16,2,8,3,6,5,4,7,3,3,8,1,9,8,5,1,2,1,3,2,8,1,2,9,12,1,1,2,3,8,3,24,12,4,3,7,5,8,3,3,3,3,3,3,1,23,10,3,1,2,2,6,3,1,16,1,16,
        22,3,10,4,11,6,9,7,7,3,6,2,2,2,4,10,2,1,1,2,8,7,1,6,4,1,3,3,3,5,10,12,12,2,3,12,8,15,1,1,16,6,6,1,5,9,11,4,11,4,2,6,12,1,17,5,13,1,4,9,5,1,11,
        2,1,8,1,5,7,28,8,3,5,10,2,17,3,38,22,1,2,18,12,10,4,38,18,1,4,44,19,4,1,8,4,1,12,1,4,31,12,1,14,7,75,7,5,10,6,6,13,3,2,11,11,3,2,5,28,15,6,18,
        18,5,6,4,3,16,1,7,18,7,36,3,5,3,1,7,1,9,1,10,7,2,4,2,6,2,9,7,4,3,32,12,3,7,10,2,23,16,3,1,12,3,31,4,11,1,3,8,9,5,1,30,15,6,12,3,2,2,11,19,9,
        14,2,6,2,3,19,13,17,5,3,3,25,3,14,1,1,1,36,1,3,2,19,3,13,36,9,13,31,6,4,16,34,2,5,4,2,3,3,5,1,1,1,4,3,1,17,3,2,3,5,3,1,3,2,3,5,6,3,12,11,1,3,
        1,2,26,7,12,7,2,14,3,3,7,7,11,25,25,28,16,4,36,1,2,1,6,2,1,9,3,27,17,4,3,4,13,4,1,3,2,2,1,10,4,2,4,6,3,8,2,1,18,1,1,24,2,2,4,33,2,3,63,7,1,6,
        40,7,3,4,4,2,4,15,18,1,16,1,1,11,2,41,14,1,3,18,13,3,2,4,16,2,17,7,15,24,7,18,13,44,2,2,3,6,1,1,7,5,1,7,1,4,3,3,5,10,8,2,3,1,8,1,1,27,4,2,1,
        12,1,2,1,10,6,1,6,7,5,2,3,7,11,5,11,3,6,6,2,3,15,4,9,1,1,2,1,2,11,2,8,12,8,5,4,2,3,1,5,2,2,1,14,1,12,11,4,1,11,17,17,4,3,2,5,5,7,3,1,5,9,9,8,
        2,5,6,6,13,13,2,1,2,6,1,2,2,49,4,9,1,2,10,16,7,8,4,3,2,23,4,58,3,29,1,14,19,19,11,11,2,7,5,1,3,4,6,2,18,5,12,12,17,17,3,3,2,4,1,6,2,3,4,3,1,
        1,1,1,5,1,1,9,1,3,1,3,6,1,8,1,1,2,6,4,14,3,1,4,11,4,1,3,32,1,2,4,13,4,1,2,4,2,1,3,1,11,1,4,2,1,4,4,6,3,5,1,6,5,7,6,3,23,3,5,3,5,3,3,13,3,9,10,
        1,12,10,2,3,18,13,7,160,52,4,2,2,3,2,14,5,4,12,4,6,4,1,20,4,11,6,2,12,27,1,4,1,2,2,7,4,5,2,28,3,7,25,8,3,19,3,6,10,2,2,1,10,2,5,4,1,3,4,1,5,
        3,2,6,9,3,6,2,16,3,3,16,4,5,5,3,2,1,2,16,15,8,2,6,21,2,4,1,22,5,8,1,1,21,11,2,1,11,11,19,13,12,4,2,3,2,3,6,1,8,11,1,4,2,9,5,2,1,11,2,9,1,1,2,
        14,31,9,3,4,21,14,4,8,1,7,2,2,2,5,1,4,20,3,3,4,10,1,11,9,8,2,1,4,5,14,12,14,2,17,9,6,31,4,14,1,20,13,26,5,2,7,3,6,13,2,4,2,19,6,2,2,18,9,3,5,
        12,12,14,4,6,2,3,6,9,5,22,4,5,25,6,4,8,5,2,6,27,2,35,2,16,3,7,8,8,6,6,5,9,17,2,20,6,19,2,13,3,1,1,1,4,17,12,2,14,7,1,4,18,12,38,33,2,10,1,1,
        2,13,14,17,11,50,6,33,20,26,74,16,23,45,50,13,38,33,6,6,7,4,4,2,1,3,2,5,8,7,8,9,3,11,21,9,13,1,3,10,6,7,1,2,2,18,5,5,1,9,9,2,68,9,19,13,2,5,
        1,4,4,7,4,13,3,9,10,21,17,3,26,2,1,5,2,4,5,4,1,7,4,7,3,4,2,1,6,1,1,20,4,1,9,2,2,1,3,3,2,3,2,1,1,1,20,2,3,1,6,2,3,6,2,4,8,1,3,2,10,3,5,3,4,4,
        3,4,16,1,6,1,10,2,4,2,1,1,2,10,11,2,2,3,1,24,31,4,10,10,2,5,12,16,164,15,4,16,7,9,15,19,17,1,2,1,1,5,1,1,1,1,1,3,1,4,3,1,3,1,3,1,2,1,1,3,3,7,
        2,8,1,2,2,2,1,3,4,3,7,8,12,92,2,10,3,1,3,14,5,25,16,42,4,7,7,4,2,21,5,27,26,27,21,25,30,31,2,1,5,13,3,22,5,6,6,11,9,12,1,5,9,7,5,5,22,60,3,5,
        13,1,1,8,1,1,3,3,2,1,9,3,3,18,4,1,2,3,7,6,3,1,2,3,9,1,3,1,3,2,1,3,1,1,1,2,1,11,3,1,6,9,1,3,2,3,1,2,1,5,1,1,4,3,4,1,2,2,4,4,1,7,2,1,2,2,3,5,13,
        18,3,4,14,9,9,4,16,3,7,5,8,2,6,48,28,3,1,1,4,2,14,8,2,9,2,1,15,2,4,3,2,10,16,12,8,7,1,1,3,1,1,1,2,7,4,1,6,4,38,39,16,23,7,15,15,3,2,12,7,21,
        37,27,6,5,4,8,2,10,8,8,6,5,1,2,1,3,24,1,16,17,9,23,10,17,6,1,51,55,44,13,294,9,3,6,2,4,2,2,15,1,1,1,13,21,17,68,14,8,9,4,1,4,9,3,11,7,1,1,1,
        5,6,3,2,1,1,1,2,3,8,1,2,2,4,1,5,5,2,1,4,3,7,13,4,1,4,1,3,1,1,1,5,5,10,1,6,1,5,2,1,5,2,4,1,4,5,7,3,18,2,9,11,32,4,3,3,2,4,7,11,16,9,11,8,13,38,
        32,8,4,2,1,1,2,1,2,4,4,1,1,1,4,1,21,3,11,1,16,1,1,6,1,3,2,4,9,8,57,7,44,1,3,3,13,3,10,1,1,7,5,2,7,21,47,63,3,15,4,7,1,16,1,1,2,8,2,3,42,15,4,
        1,29,7,22,10,3,78,16,12,20,18,4,67,11,5,1,3,15,6,21,31,32,27,18,13,71,35,5,142,4,10,1,2,50,19,33,16,35,37,16,19,27,7,1,133,19,1,4,8,7,20,1,4,
        4,1,10,3,1,6,1,2,51,5,40,15,24,43,22928,11,1,13,154,70,3,1,1,7,4,10,1,2,1,1,2,1,2,1,2,2,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,
        3,2,1,1,1,1,2,1,1,
    };
    static ImWchar base_ranges[] = // not zero-terminated
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x3000, 0x30FF, // CJK Symbols and Punctuations, Hiragana, Katakana
        0x31F0, 0x31FF, // Katakana Phonetic Extensions
        0xFF00, 0xFFEF, // Half-width characters
        0xFFFD, 0xFFFD  // Invalid
    };
    static ImWchar full_ranges[IM_ARRAYSIZE(base_ranges) + IM_ARRAYSIZE(accumulative_offsets_from_0x4E00)*2 + 1] = { 0 };
    if (!full_ranges[0])
    {
        memcpy(full_ranges, base_ranges, sizeof(base_ranges));
        UnpackAccumulativeOffsetsIntoRanges(0x4E00, accumulative_offsets_from_0x4E00, IM_ARRAYSIZE(accumulative_offsets_from_0x4E00), full_ranges + IM_ARRAYSIZE(base_ranges));
    }
    return &full_ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesCyrillic()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin + Latin Supplement
        0x0400, 0x052F, // Cyrillic + Cyrillic Supplement
        0x2DE0, 0x2DFF, // Cyrillic Extended-A
        0xA640, 0xA69F, // Cyrillic Extended-B
        0,
    };
    return &ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesThai()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin
        0x2010, 0x205E, // Punctuations
        0x0E00, 0x0E7F, // Thai
        0,
    };
    return &ranges[0];
}

const ImWchar*  ImFontAtlas::GetGlyphRangesVietnamese()
{
    static const ImWchar ranges[] =
    {
        0x0020, 0x00FF, // Basic Latin
        0x0102, 0x0103,
        0x0110, 0x0111,
        0x0128, 0x0129,
        0x0168, 0x0169,
        0x01A0, 0x01A1,
        0x01AF, 0x01B0,
        0x1EA0, 0x1EF9,
        0,
    };
    return &ranges[0];
}

//-----------------------------------------------------------------------------
// [SECTION] ImFontGlyphRangesBuilder
//-----------------------------------------------------------------------------

void ImFontGlyphRangesBuilder::AddText(const char* text, const char* text_end)
{
    while (text_end ? (text < text_end) : *text)
    {
        unsigned int c = 0;
        int c_len = ImTextCharFromUtf8(&c, text, text_end);
        text += c_len;
        if (c_len == 0)
            break;
        AddChar((ImWchar)c);
    }
}

void ImFontGlyphRangesBuilder::AddRanges(const ImWchar* ranges)
{
    for (; ranges[0]; ranges += 2)
        for (ImWchar c = ranges[0]; c <= ranges[1]; c++)
            AddChar(c);
}

void ImFontGlyphRangesBuilder::BuildRanges(ImVector<ImWchar>* out_ranges)
{
    const int max_codepoint = IM_UNICODE_CODEPOINT_MAX;
    for (int n = 0; n <= max_codepoint; n++)
        if (GetBit(n))
        {
            out_ranges->push_back((ImWchar)n);
            while (n < max_codepoint && GetBit(n + 1))
                n++;
            out_ranges->push_back((ImWchar)n);
        }
    out_ranges->push_back(0);
}

//-----------------------------------------------------------------------------
// [SECTION] ImFont
//-----------------------------------------------------------------------------

ImFont::ImFont()
{
    FontSize = 0.0f;
    FallbackAdvanceX = 0.0f;
    FallbackChar = (ImWchar)-1;
    EllipsisChar = (ImWchar)-1;
    DotChar = (ImWchar)-1;
    FallbackGlyph = NULL;
    ContainerAtlas = NULL;
    ConfigData = NULL;
    ConfigDataCount = 0;
    DirtyLookupTables = false;
    Scale = 1.0f;
    Ascent = Descent = 0.0f;
    MetricsTotalSurface = 0;
    memset(Used4kPagesMap, 0, sizeof(Used4kPagesMap));
}

ImFont::~ImFont()
{
    ClearOutputData();
}

void    ImFont::ClearOutputData()
{
    FontSize = 0.0f;
    FallbackAdvanceX = 0.0f;
    Glyphs.clear();
    IndexAdvanceX.clear();
    IndexLookup.clear();
    FallbackGlyph = NULL;
    ContainerAtlas = NULL;
    DirtyLookupTables = true;
    Ascent = Descent = 0.0f;
    MetricsTotalSurface = 0;
}

static ImWchar FindFirstExistingGlyph(ImFont* font, const ImWchar* candidate_chars, int candidate_chars_count)
{
    for (int n = 0; n < candidate_chars_count; n++)
        if (font->FindGlyphNoFallback(candidate_chars[n]) != NULL)
            return candidate_chars[n];
    return (ImWchar)-1;
}

void ImFont::BuildLookupTable()
{
    int max_codepoint = 0;
    for (int i = 0; i != Glyphs.Size; i++)
        max_codepoint = ImMax(max_codepoint, (int)Glyphs[i].Codepoint);

    // Build lookup table
    IM_ASSERT(Glyphs.Size < 0xFFFF); // -1 is reserved
    IndexAdvanceX.clear();
    IndexLookup.clear();
    DirtyLookupTables = false;
    memset(Used4kPagesMap, 0, sizeof(Used4kPagesMap));
    GrowIndex(max_codepoint + 1);
    for (int i = 0; i < Glyphs.Size; i++)
    {
        int codepoint = (int)Glyphs[i].Codepoint;
        IndexAdvanceX[codepoint] = Glyphs[i].AdvanceX;
        IndexLookup[codepoint] = (ImWchar)i;

        // Mark 4K page as used
        const int page_n = codepoint / 4096;
        Used4kPagesMap[page_n >> 3] |= 1 << (page_n & 7);
    }

    // Create a glyph to handle TAB
    // FIXME: Needs proper TAB handling but it needs to be contextualized (or we could arbitrary say that each string starts at "column 0" ?)
    if (FindGlyph((ImWchar)' '))
    {
        if (Glyphs.back().Codepoint != '\t')   // So we can call this function multiple times (FIXME: Flaky)
            Glyphs.resize(Glyphs.Size + 1);
        ImFontGlyph& tab_glyph = Glyphs.back();
        tab_glyph = *FindGlyph((ImWchar)' ');
        tab_glyph.Codepoint = '\t';
        tab_glyph.AdvanceX *= IM_TABSIZE;
        IndexAdvanceX[(int)tab_glyph.Codepoint] = (float)tab_glyph.AdvanceX;
        IndexLookup[(int)tab_glyph.Codepoint] = (ImWchar)(Glyphs.Size - 1);
    }

    // Mark special glyphs as not visible (note that AddGlyph already mark as non-visible glyphs with zero-size polygons)
    SetGlyphVisible((ImWchar)' ', false);
    SetGlyphVisible((ImWchar)'\t', false);

    // Ellipsis character is required for rendering elided text. We prefer using U+2026 (horizontal ellipsis).
    // However some old fonts may contain ellipsis at U+0085. Here we auto-detect most suitable ellipsis character.
    // FIXME: Note that 0x2026 is rarely included in our font ranges. Because of this we are more likely to use three individual dots.
    const ImWchar ellipsis_chars[] = { (ImWchar)0x2026, (ImWchar)0x0085 };
    const ImWchar dots_chars[] = { (ImWchar)'.', (ImWchar)0xFF0E };
    if (EllipsisChar == (ImWchar)-1)
        EllipsisChar = FindFirstExistingGlyph(this, ellipsis_chars, IM_ARRAYSIZE(ellipsis_chars));
    if (DotChar == (ImWchar)-1)
        DotChar = FindFirstExistingGlyph(this, dots_chars, IM_ARRAYSIZE(dots_chars));

    // Setup fallback character
    const ImWchar fallback_chars[] = { (ImWchar)IM_UNICODE_CODEPOINT_INVALID, (ImWchar)'?', (ImWchar)' ' };
    FallbackGlyph = FindGlyphNoFallback(FallbackChar);
    if (FallbackGlyph == NULL)
    {
        FallbackChar = FindFirstExistingGlyph(this, fallback_chars, IM_ARRAYSIZE(fallback_chars));
        FallbackGlyph = FindGlyphNoFallback(FallbackChar);
        if (FallbackGlyph == NULL)
        {
            FallbackGlyph = &Glyphs.back();
            FallbackChar = (ImWchar)FallbackGlyph->Codepoint;
        }
    }

    FallbackAdvanceX = FallbackGlyph->AdvanceX;
    for (int i = 0; i < max_codepoint + 1; i++)
        if (IndexAdvanceX[i] < 0.0f)
            IndexAdvanceX[i] = FallbackAdvanceX;
}

// API is designed this way to avoid exposing the 4K page size
// e.g. use with IsGlyphRangeUnused(0, 255)
bool ImFont::IsGlyphRangeUnused(unsigned int c_begin, unsigned int c_last)
{
    unsigned int page_begin = (c_begin / 4096);
    unsigned int page_last = (c_last / 4096);
    for (unsigned int page_n = page_begin; page_n <= page_last; page_n++)
        if ((page_n >> 3) < sizeof(Used4kPagesMap))
            if (Used4kPagesMap[page_n >> 3] & (1 << (page_n & 7)))
                return false;
    return true;
}

void ImFont::SetGlyphVisible(ImWchar c, bool visible)
{
    if (ImFontGlyph* glyph = (ImFontGlyph*)(void*)FindGlyph((ImWchar)c))
        glyph->Visible = visible ? 1 : 0;
}

void ImFont::GrowIndex(int new_size)
{
    IM_ASSERT(IndexAdvanceX.Size == IndexLookup.Size);
    if (new_size <= IndexLookup.Size)
        return;
    IndexAdvanceX.resize(new_size, -1.0f);
    IndexLookup.resize(new_size, (ImWchar)-1);
}

// x0/y0/x1/y1 are offset from the character upper-left layout position, in pixels. Therefore x0/y0 are often fairly close to zero.
// Not to be mistaken with texture coordinates, which are held by u0/v0/u1/v1 in normalized format (0.0..1.0 on each texture axis).
// 'cfg' is not necessarily == 'this->ConfigData' because multiple source fonts+configs can be used to build one target font.
void ImFont::AddGlyph(const ImFontConfig* cfg, ImWchar codepoint, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x)
{
    if (cfg != NULL)
    {
        // Clamp & recenter if needed
        const float advance_x_original = advance_x;
        advance_x = ImClamp(advance_x, cfg->GlyphMinAdvanceX, cfg->GlyphMaxAdvanceX);
        if (advance_x != advance_x_original)
        {
            float char_off_x = cfg->PixelSnapH ? ImFloor((advance_x - advance_x_original) * 0.5f) : (advance_x - advance_x_original) * 0.5f;
            x0 += char_off_x;
            x1 += char_off_x;
        }

        // Snap to pixel
        if (cfg->PixelSnapH)
            advance_x = IM_ROUND(advance_x);

        // Bake spacing
        advance_x += cfg->GlyphExtraSpacing.x;
    }

    Glyphs.resize(Glyphs.Size + 1);
    ImFontGlyph& glyph = Glyphs.back();
    glyph.Codepoint = (unsigned int)codepoint;
    glyph.Visible = (x0 != x1) && (y0 != y1);
    glyph.Colored = false;
    glyph.X0 = x0;
    glyph.Y0 = y0;
    glyph.X1 = x1;
    glyph.Y1 = y1;
    glyph.U0 = u0;
    glyph.V0 = v0;
    glyph.U1 = u1;
    glyph.V1 = v1;
    glyph.AdvanceX = advance_x;

    // Compute rough surface usage metrics (+1 to account for average padding, +0.99 to round)
    // We use (U1-U0)*TexWidth instead of X1-X0 to account for oversampling.
    float pad = ContainerAtlas->TexGlyphPadding + 0.99f;
    DirtyLookupTables = true;
    MetricsTotalSurface += (int)((glyph.U1 - glyph.U0) * ContainerAtlas->TexWidth + pad) * (int)((glyph.V1 - glyph.V0) * ContainerAtlas->TexHeight + pad);
}

void ImFont::AddRemapChar(ImWchar dst, ImWchar src, bool overwrite_dst)
{
    IM_ASSERT(IndexLookup.Size > 0);    // Currently this can only be called AFTER the font has been built, aka after calling ImFontAtlas::GetTexDataAs*() function.
    unsigned int index_size = (unsigned int)IndexLookup.Size;

    if (dst < index_size && IndexLookup.Data[dst] == (ImWchar)-1 && !overwrite_dst) // 'dst' already exists
        return;
    if (src >= index_size && dst >= index_size) // both 'dst' and 'src' don't exist -> no-op
        return;

    GrowIndex(dst + 1);
    IndexLookup[dst] = (src < index_size) ? IndexLookup.Data[src] : (ImWchar)-1;
    IndexAdvanceX[dst] = (src < index_size) ? IndexAdvanceX.Data[src] : 1.0f;
}

const ImFontGlyph* ImFont::FindGlyph(ImWchar c) const
{
    if (c >= (size_t)IndexLookup.Size)
        return FallbackGlyph;
    const ImWchar i = IndexLookup.Data[c];
    if (i == (ImWchar)-1)
        return FallbackGlyph;
    return &Glyphs.Data[i];
}

const ImFontGlyph* ImFont::FindGlyphNoFallback(ImWchar c) const
{
    if (c >= (size_t)IndexLookup.Size)
        return NULL;
    const ImWchar i = IndexLookup.Data[c];
    if (i == (ImWchar)-1)
        return NULL;
    return &Glyphs.Data[i];
}

const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const
{
    // Simple word-wrapping for English, not full-featured. Please submit failing cases!
    // FIXME: Much possible improvements (don't cut things like "word !", "word!!!" but cut within "word,,,,", more sensible support for punctuations, support for Unicode punctuations, etc.)

    // For references, possible wrap point marked with ^
    //  "aaa bbb, ccc,ddd. eee   fff. ggg!"
    //      ^    ^    ^   ^   ^__    ^    ^

    // List of hardcoded separators: .,;!?'"

    // Skip extra blanks after a line returns (that includes not counting them in width computation)
    // e.g. "Hello    world" --> "Hello" "World"

    // Cut words that cannot possibly fit within one line.
    // e.g.: "The tropical fish" with ~5 characters worth of width --> "The tr" "opical" "fish"

    float line_width = 0.0f;
    float word_width = 0.0f;
    float blank_width = 0.0f;
    wrap_width /= scale; // We work with unscaled widths to avoid scaling every characters

    const char* word_end = text;
    const char* prev_word_end = NULL;
    bool inside_word = true;

    const char* s = text;
    while (s < text_end)
    {
        unsigned int c = (unsigned int)*s;
        const char* next_s;
        if (c < 0x80)
            next_s = s + 1;
        else
            next_s = s + ImTextCharFromUtf8(&c, s, text_end);
        if (c == 0)
            break;

        if (c < 32)
        {
            if (c == '\n')
            {
                line_width = word_width = blank_width = 0.0f;
                inside_word = true;
                s = next_s;
                continue;
            }
            if (c == '\r')
            {
                s = next_s;
                continue;
            }
        }

        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX);
        if (ImCharIsBlankW(c))
        {
            if (inside_word)
            {
                line_width += blank_width;
                blank_width = 0.0f;
                word_end = s;
            }
            blank_width += char_width;
            inside_word = false;
        }
        else
        {
            word_width += char_width;
            if (inside_word)
            {
                word_end = next_s;
            }
            else
            {
                prev_word_end = word_end;
                line_width += word_width + blank_width;
                word_width = blank_width = 0.0f;
            }

            // Allow wrapping after punctuation.
            inside_word = (c != '.' && c != ',' && c != ';' && c != '!' && c != '?' && c != '\"');
        }

        // We ignore blank width at the end of the line (they can be skipped)
        if (line_width + word_width > wrap_width)
        {
            // Words that cannot possibly fit within an entire line will be cut anywhere.
            if (word_width < wrap_width)
                s = prev_word_end ? prev_word_end : word_end;
            break;
        }

        s = next_s;
    }

    return s;
}

ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end, const char** remaining) const
{
    if (!text_end)
        text_end = text_begin + strlen(text_begin); // FIXME-OPT: Need to avoid this.

    const float line_height = size;
    const float scale = size / FontSize;

    ImVec2 text_size = ImVec2(0, 0);
    float line_width = 0.0f;

    const bool word_wrap_enabled = (wrap_width > 0.0f);
    const char* word_wrap_eol = NULL;

    const char* s = text_begin;
    while (s < text_end)
    {
        if (word_wrap_enabled)
        {
            // Calculate how far we can render. Requires two passes on the string data but keeps the code simple and not intrusive for what's essentially an uncommon feature.
            if (!word_wrap_eol)
            {
                word_wrap_eol = CalcWordWrapPositionA(scale, s, text_end, wrap_width - line_width);
                if (word_wrap_eol == s) // Wrap_width is too small to fit anything. Force displaying 1 character to minimize the height discontinuity.
                    word_wrap_eol++;    // +1 may not be a character start point in UTF-8 but it's ok because we use s >= word_wrap_eol below
            }

            if (s >= word_wrap_eol)
            {
                if (text_size.x < line_width)
                    text_size.x = line_width;
                text_size.y += line_height;
                line_width = 0.0f;
                word_wrap_eol = NULL;

                // Wrapping skips upcoming blanks
                while (s < text_end)
                {
                    const char c = *s;
                    if (ImCharIsBlankA(c)) { s++; } else if (c == '\n') { s++; break; } else { break; }
                }
                continue;
            }
        }

        // Decode and advance source
        const char* prev_s = s;
        unsigned int c = (unsigned int)*s;
        if (c < 0x80)
        {
            s += 1;
        }
        else
        {
            s += ImTextCharFromUtf8(&c, s, text_end);
            if (c == 0) // Malformed UTF-8?
                break;
        }

        if (c < 32)
        {
            if (c == '\n')
            {
                text_size.x = ImMax(text_size.x, line_width);
                text_size.y += line_height;
                line_width = 0.0f;
                continue;
            }
            if (c == '\r')
                continue;
        }

        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX) * scale;
        if (line_width + char_width >= max_width)
        {
            s = prev_s;
            break;
        }

        line_width += char_width;
    }

    if (text_size.x < line_width)
        text_size.x = line_width;

    if (line_width > 0 || text_size.y == 0.0f)
        text_size.y += line_height;

    if (remaining)
        *remaining = s;

    return text_size;
}

// Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound.
void ImFont::RenderChar(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, ImWchar c) const
{
    const ImFontGlyph* glyph = FindGlyph(c);
    if (!glyph || !glyph->Visible)
        return;
    if (glyph->Colored)
        col |= ~IM_COL32_A_MASK;
    float scale = (size >= 0.0f) ? (size / FontSize) : 1.0f;
    pos.x = IM_FLOOR(pos.x);
    pos.y = IM_FLOOR(pos.y);
    draw_list->PrimReserve(6, 4);
    draw_list->PrimRectUV(ImVec2(pos.x + glyph->X0 * scale, pos.y + glyph->Y0 * scale), ImVec2(pos.x + glyph->X1 * scale, pos.y + glyph->Y1 * scale), ImVec2(glyph->U0, glyph->V0), ImVec2(glyph->U1, glyph->V1), col);
}

// Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound.
void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip) const
{
    if (!text_end)
        text_end = text_begin + strlen(text_begin); // ImGui:: functions generally already provides a valid text_end, so this is merely to handle direct calls.

    // Align to be pixel perfect
    pos.x = IM_FLOOR(pos.x);
    pos.y = IM_FLOOR(pos.y);
    float x = pos.x;
    float y = pos.y;
    if (y > clip_rect.w)
        return;

    const float scale = size / FontSize;
    const float line_height = FontSize * scale;
    const bool word_wrap_enabled = (wrap_width > 0.0f);
    const char* word_wrap_eol = NULL;

    // Fast-forward to first visible line
    const char* s = text_begin;
    if (y + line_height < clip_rect.y && !word_wrap_enabled)
        while (y + line_height < clip_rect.y && s < text_end)
        {
            s = (const char*)memchr(s, '\n', text_end - s);
            s = s ? s + 1 : text_end;
            y += line_height;
        }

    // For large text, scan for the last visible line in order to avoid over-reserving in the call to PrimReserve()
    // Note that very large horizontal line will still be affected by the issue (e.g. a one megabyte string buffer without a newline will likely crash atm)
    if (text_end - s > 10000 && !word_wrap_enabled)
    {
        const char* s_end = s;
        float y_end = y;
        while (y_end < clip_rect.w && s_end < text_end)
        {
            s_end = (const char*)memchr(s_end, '\n', text_end - s_end);
            s_end = s_end ? s_end + 1 : text_end;
            y_end += line_height;
        }
        text_end = s_end;
    }
    if (s == text_end)
        return;

    // Reserve vertices for remaining worse case (over-reserving is useful and easily amortized)
    const int vtx_count_max = (int)(text_end - s) * 4;
    const int idx_count_max = (int)(text_end - s) * 6;
    const int idx_expected_size = draw_list->IdxBuffer.Size + idx_count_max;
    draw_list->PrimReserve(idx_count_max, vtx_count_max);

    ImDrawVert* vtx_write = draw_list->_VtxWritePtr;
    ImDrawIdx* idx_write = draw_list->_IdxWritePtr;
    unsigned int vtx_current_idx = draw_list->_VtxCurrentIdx;

    const ImU32 col_untinted = col | ~IM_COL32_A_MASK;

    while (s < text_end)
    {
        if (word_wrap_enabled)
        {
            // Calculate how far we can render. Requires two passes on the string data but keeps the code simple and not intrusive for what's essentially an uncommon feature.
            if (!word_wrap_eol)
            {
                word_wrap_eol = CalcWordWrapPositionA(scale, s, text_end, wrap_width - (x - pos.x));
                if (word_wrap_eol == s) // Wrap_width is too small to fit anything. Force displaying 1 character to minimize the height discontinuity.
                    word_wrap_eol++;    // +1 may not be a character start point in UTF-8 but it's ok because we use s >= word_wrap_eol below
            }

            if (s >= word_wrap_eol)
            {
                x = pos.x;
                y += line_height;
                word_wrap_eol = NULL;

                // Wrapping skips upcoming blanks
                while (s < text_end)
                {
                    const char c = *s;
                    if (ImCharIsBlankA(c)) { s++; } else if (c == '\n') { s++; break; } else { break; }
                }
                continue;
            }
        }

        // Decode and advance source
        unsigned int c = (unsigned int)*s;
        if (c < 0x80)
        {
            s += 1;
        }
        else
        {
            s += ImTextCharFromUtf8(&c, s, text_end);
            if (c == 0) // Malformed UTF-8?
                break;
        }

        if (c < 32)
        {
            if (c == '\n')
            {
                x = pos.x;
                y += line_height;
                if (y > clip_rect.w)
                    break; // break out of main loop
                continue;
            }
            if (c == '\r')
                continue;
        }

        const ImFontGlyph* glyph = FindGlyph((ImWchar)c);
        if (glyph == NULL)
            continue;

        float char_width = glyph->AdvanceX * scale;
        if (glyph->Visible)
        {
            // We don't do a second finer clipping test on the Y axis as we've already skipped anything before clip_rect.y and exit once we pass clip_rect.w
            float x1 = x + glyph->X0 * scale;
            float x2 = x + glyph->X1 * scale;
            float y1 = y + glyph->Y0 * scale;
            float y2 = y + glyph->Y1 * scale;
            if (x1 <= clip_rect.z && x2 >= clip_rect.x)
            {
                // Render a character
                float u1 = glyph->U0;
                float v1 = glyph->V0;
                float u2 = glyph->U1;
                float v2 = glyph->V1;

                // CPU side clipping used to fit text in their frame when the frame is too small. Only does clipping for axis aligned quads.
                if (cpu_fine_clip)
                {
                    if (x1 < clip_rect.x)
                    {
                        u1 = u1 + (1.0f - (x2 - clip_rect.x) / (x2 - x1)) * (u2 - u1);
                        x1 = clip_rect.x;
                    }
                    if (y1 < clip_rect.y)
                    {
                        v1 = v1 + (1.0f - (y2 - clip_rect.y) / (y2 - y1)) * (v2 - v1);
                        y1 = clip_rect.y;
                    }
                    if (x2 > clip_rect.z)
                    {
                        u2 = u1 + ((clip_rect.z - x1) / (x2 - x1)) * (u2 - u1);
                        x2 = clip_rect.z;
                    }
                    if (y2 > clip_rect.w)
                    {
                        v2 = v1 + ((clip_rect.w - y1) / (y2 - y1)) * (v2 - v1);
                        y2 = clip_rect.w;
                    }
                    if (y1 >= y2)
                    {
                        x += char_width;
                        continue;
                    }
                }

                // Support for untinted glyphs
                ImU32 glyph_col = glyph->Colored ? col_untinted : col;

                // We are NOT calling PrimRectUV() here because non-inlined causes too much overhead in a debug builds. Inlined here:
                {
                    idx_write[0] = (ImDrawIdx)(vtx_current_idx); idx_write[1] = (ImDrawIdx)(vtx_current_idx+1); idx_write[2] = (ImDrawIdx)(vtx_current_idx+2);
                    idx_write[3] = (ImDrawIdx)(vtx_current_idx); idx_write[4] = (ImDrawIdx)(vtx_current_idx+2); idx_write[5] = (ImDrawIdx)(vtx_current_idx+3);
                    vtx_write[0].pos.x = x1; vtx_write[0].pos.y = y1; vtx_write[0].col = glyph_col; vtx_write[0].uv.x = u1; vtx_write[0].uv.y = v1;
                    vtx_write[1].pos.x = x2; vtx_write[1].pos.y = y1; vtx_write[1].col = glyph_col; vtx_write[1].uv.x = u2; vtx_write[1].uv.y = v1;
                    vtx_write[2].pos.x = x2; vtx_write[2].pos.y = y2; vtx_write[2].col = glyph_col; vtx_write[2].uv.x = u2; vtx_write[2].uv.y = v2;
                    vtx_write[3].pos.x = x1; vtx_write[3].pos.y = y2; vtx_write[3].col = glyph_col; vtx_write[3].uv.x = u1; vtx_write[3].uv.y = v2;
                    vtx_write += 4;
                    vtx_current_idx += 4;
                    idx_write += 6;
                }
            }
        }
        x += char_width;
    }

    // Give back unused vertices (clipped ones, blanks) ~ this is essentially a PrimUnreserve() action.
    draw_list->VtxBuffer.Size = (int)(vtx_write - draw_list->VtxBuffer.Data); // Same as calling shrink()
    draw_list->IdxBuffer.Size = (int)(idx_write - draw_list->IdxBuffer.Data);
    draw_list->CmdBuffer[draw_list->CmdBuffer.Size - 1].ElemCount -= (idx_expected_size - draw_list->IdxBuffer.Size);
    draw_list->_VtxWritePtr = vtx_write;
    draw_list->_IdxWritePtr = idx_write;
    draw_list->_VtxCurrentIdx = vtx_current_idx;
}

//-----------------------------------------------------------------------------
// [SECTION] ImGui Internal Render Helpers
//-----------------------------------------------------------------------------
// Vaguely redesigned to stop accessing ImGui global state:
// - RenderArrow()
// - RenderBullet()
// - RenderCheckMark()
// - RenderMouseCursor()
// - RenderArrowPointingAt()
// - RenderRectFilledRangeH()
// - RenderRectFilledWithHole()
//-----------------------------------------------------------------------------
// Function in need of a redesign (legacy mess)
// - RenderColorRectWithAlphaCheckerboard()
//-----------------------------------------------------------------------------

// Render an arrow aimed to be aligned with text (p_min is a position in the same space text would be positioned). To e.g. denote expanded/collapsed state
void ImGui::RenderArrow(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale)
{
    const float h = draw_list->_Data->FontSize * 1.00f;
    float r = h * 0.40f * scale;
    ImVec2 center = pos + ImVec2(h * 0.50f, h * 0.50f * scale);

    ImVec2 a, b, c;
    switch (dir)
    {
    case ImGuiDir_Up:
    case ImGuiDir_Down:
        if (dir == ImGuiDir_Up) r = -r;
        a = ImVec2(+0.000f, +0.750f) * r;
        b = ImVec2(-0.866f, -0.750f) * r;
        c = ImVec2(+0.866f, -0.750f) * r;
        break;
    case ImGuiDir_Left:
    case ImGuiDir_Right:
        if (dir == ImGuiDir_Left) r = -r;
        a = ImVec2(+0.750f, +0.000f) * r;
        b = ImVec2(-0.750f, +0.866f) * r;
        c = ImVec2(-0.750f, -0.866f) * r;
        break;
    case ImGuiDir_None:
    case ImGuiDir_COUNT:
        IM_ASSERT(0);
        break;
    }
    draw_list->AddTriangleFilled(center + a, center + b, center + c, col);
}

void ImGui::RenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col)
{
    draw_list->AddCircleFilled(pos, draw_list->_Data->FontSize * 0.20f, col, 8);
}

void ImGui::RenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz)
{
    float thickness = ImMax(sz / 5.0f, 1.0f);
    sz -= thickness * 0.5f;
    pos += ImVec2(thickness * 0.25f, thickness * 0.25f);

    float third = sz / 3.0f;
    float bx = pos.x + third;
    float by = pos.y + sz - third * 0.5f;
    draw_list->PathLineTo(ImVec2(bx - third, by - third));
    draw_list->PathLineTo(ImVec2(bx, by));
    draw_list->PathLineTo(ImVec2(bx + third * 2.0f, by - third * 2.0f));
    draw_list->PathStroke(col, 0, thickness);
}

void ImGui::RenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow)
{
    if (mouse_cursor == ImGuiMouseCursor_None)
        return;
    IM_ASSERT(mouse_cursor > ImGuiMouseCursor_None && mouse_cursor < ImGuiMouseCursor_COUNT);

    ImFontAtlas* font_atlas = draw_list->_Data->Font->ContainerAtlas;
    ImVec2 offset, size, uv[4];
    if (font_atlas->GetMouseCursorTexData(mouse_cursor, &offset, &size, &uv[0], &uv[2]))
    {
        pos -= offset;
        ImTextureID tex_id = font_atlas->TexID;
        draw_list->PushTextureID(tex_id);
        draw_list->AddImage(tex_id, pos + ImVec2(1, 0) * scale, pos + (ImVec2(1, 0) + size) * scale,    uv[2], uv[3], col_shadow);
        draw_list->AddImage(tex_id, pos + ImVec2(2, 0) * scale, pos + (ImVec2(2, 0) + size) * scale,    uv[2], uv[3], col_shadow);
        draw_list->AddImage(tex_id, pos,                        pos + size * scale,                     uv[2], uv[3], col_border);
        draw_list->AddImage(tex_id, pos,                        pos + size * scale,                     uv[0], uv[1], col_fill);
        draw_list->PopTextureID();
    }
}

// Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
void ImGui::RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col)
{
    switch (direction)
    {
    case ImGuiDir_Left:  draw_list->AddTriangleFilled(ImVec2(pos.x + half_sz.x, pos.y - half_sz.y), ImVec2(pos.x + half_sz.x, pos.y + half_sz.y), pos, col); return;
    case ImGuiDir_Right: draw_list->AddTriangleFilled(ImVec2(pos.x - half_sz.x, pos.y + half_sz.y), ImVec2(pos.x - half_sz.x, pos.y - half_sz.y), pos, col); return;
    case ImGuiDir_Up:    draw_list->AddTriangleFilled(ImVec2(pos.x + half_sz.x, pos.y + half_sz.y), ImVec2(pos.x - half_sz.x, pos.y + half_sz.y), pos, col); return;
    case ImGuiDir_Down:  draw_list->AddTriangleFilled(ImVec2(pos.x - half_sz.x, pos.y - half_sz.y), ImVec2(pos.x + half_sz.x, pos.y - half_sz.y), pos, col); return;
    case ImGuiDir_None: case ImGuiDir_COUNT: break; // Fix warnings
    }
}

static inline float ImAcos01(float x)
{
    if (x <= 0.0f) return IM_PI * 0.5f;
    if (x >= 1.0f) return 0.0f;
    return ImAcos(x);
    //return (-0.69813170079773212f * x * x - 0.87266462599716477f) * x + 1.5707963267948966f; // Cheap approximation, may be enough for what we do.
}

// FIXME: Cleanup and move code to ImDrawList.
void ImGui::RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding)
{
    if (x_end_norm == x_start_norm)
        return;
    if (x_start_norm > x_end_norm)
        ImSwap(x_start_norm, x_end_norm);

    ImVec2 p0 = ImVec2(ImLerp(rect.Min.x, rect.Max.x, x_start_norm), rect.Min.y);
    ImVec2 p1 = ImVec2(ImLerp(rect.Min.x, rect.Max.x, x_end_norm), rect.Max.y);
    if (rounding == 0.0f)
    {
        draw_list->AddRectFilled(p0, p1, col, 0.0f);
        return;
    }

    rounding = ImClamp(ImMin((rect.Max.x - rect.Min.x) * 0.5f, (rect.Max.y - rect.Min.y) * 0.5f) - 1.0f, 0.0f, rounding);
    const float inv_rounding = 1.0f / rounding;
    const float arc0_b = ImAcos01(1.0f - (p0.x - rect.Min.x) * inv_rounding);
    const float arc0_e = ImAcos01(1.0f - (p1.x - rect.Min.x) * inv_rounding);
    const float half_pi = IM_PI * 0.5f; // We will == compare to this because we know this is the exact value ImAcos01 can return.
    const float x0 = ImMax(p0.x, rect.Min.x + rounding);
    if (arc0_b == arc0_e)
    {
        draw_list->PathLineTo(ImVec2(x0, p1.y));
        draw_list->PathLineTo(ImVec2(x0, p0.y));
    }
    else if (arc0_b == 0.0f && arc0_e == half_pi)
    {
        draw_list->PathArcToFast(ImVec2(x0, p1.y - rounding), rounding, 3, 6); // BL
        draw_list->PathArcToFast(ImVec2(x0, p0.y + rounding), rounding, 6, 9); // TR
    }
    else
    {
        draw_list->PathArcTo(ImVec2(x0, p1.y - rounding), rounding, IM_PI - arc0_e, IM_PI - arc0_b, 3); // BL
        draw_list->PathArcTo(ImVec2(x0, p0.y + rounding), rounding, IM_PI + arc0_b, IM_PI + arc0_e, 3); // TR
    }
    if (p1.x > rect.Min.x + rounding)
    {
        const float arc1_b = ImAcos01(1.0f - (rect.Max.x - p1.x) * inv_rounding);
        const float arc1_e = ImAcos01(1.0f - (rect.Max.x - p0.x) * inv_rounding);
        const float x1 = ImMin(p1.x, rect.Max.x - rounding);
        if (arc1_b == arc1_e)
        {
            draw_list->PathLineTo(ImVec2(x1, p0.y));
            draw_list->PathLineTo(ImVec2(x1, p1.y));
        }
        else if (arc1_b == 0.0f && arc1_e == half_pi)
        {
            draw_list->PathArcToFast(ImVec2(x1, p0.y + rounding), rounding, 9, 12); // TR
            draw_list->PathArcToFast(ImVec2(x1, p1.y - rounding), rounding, 0, 3);  // BR
        }
        else
        {
            draw_list->PathArcTo(ImVec2(x1, p0.y + rounding), rounding, -arc1_e, -arc1_b, 3); // TR
            draw_list->PathArcTo(ImVec2(x1, p1.y - rounding), rounding, +arc1_b, +arc1_e, 3); // BR
        }
    }
    draw_list->PathFillConvex(col);
}

void ImGui::RenderRectFilledWithHole(ImDrawList* draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding)
{
    const bool fill_L = (inner.Min.x > outer.Min.x);
    const bool fill_R = (inner.Max.x < outer.Max.x);
    const bool fill_U = (inner.Min.y > outer.Min.y);
    const bool fill_D = (inner.Max.y < outer.Max.y);
    if (fill_L) draw_list->AddRectFilled(ImVec2(outer.Min.x, inner.Min.y), ImVec2(inner.Min.x, inner.Max.y), col, rounding, (fill_U ? 0 : ImDrawFlags_RoundCornersTopLeft)  | (fill_D ? 0 : ImDrawFlags_RoundCornersBottomLeft));
    if (fill_R) draw_list->AddRectFilled(ImVec2(inner.Max.x, inner.Min.y), ImVec2(outer.Max.x, inner.Max.y), col, rounding, (fill_U ? 0 : ImDrawFlags_RoundCornersTopRight) | (fill_D ? 0 : ImDrawFlags_RoundCornersBottomRight));
    if (fill_U) draw_list->AddRectFilled(ImVec2(inner.Min.x, outer.Min.y), ImVec2(inner.Max.x, inner.Min.y), col, rounding, (fill_L ? 0 : ImDrawFlags_RoundCornersTopLeft)  | (fill_R ? 0 : ImDrawFlags_RoundCornersTopRight));
    if (fill_D) draw_list->AddRectFilled(ImVec2(inner.Min.x, inner.Max.y), ImVec2(inner.Max.x, outer.Max.y), col, rounding, (fill_L ? 0 : ImDrawFlags_RoundCornersBottomLeft)  | (fill_R ? 0 : ImDrawFlags_RoundCornersBottomRight));
    if (fill_L && fill_U) draw_list->AddRectFilled(ImVec2(outer.Min.x, outer.Min.y), ImVec2(inner.Min.x, inner.Min.y), col, rounding, ImDrawFlags_RoundCornersTopLeft);
    if (fill_R && fill_U) draw_list->AddRectFilled(ImVec2(inner.Max.x, outer.Min.y), ImVec2(outer.Max.x, inner.Min.y), col, rounding, ImDrawFlags_RoundCornersTopRight);
    if (fill_L && fill_D) draw_list->AddRectFilled(ImVec2(outer.Min.x, inner.Max.y), ImVec2(inner.Min.x, outer.Max.y), col, rounding, ImDrawFlags_RoundCornersBottomLeft);
    if (fill_R && fill_D) draw_list->AddRectFilled(ImVec2(inner.Max.x, inner.Max.y), ImVec2(outer.Max.x, outer.Max.y), col, rounding, ImDrawFlags_RoundCornersBottomRight);
}

// Helper for ColorPicker4()
// NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
// Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
// FIXME: uses ImGui::GetColorU32
void ImGui::RenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 col, float grid_step, ImVec2 grid_off, float rounding, ImDrawFlags flags)
{
    if ((flags & ImDrawFlags_RoundCornersMask_) == 0)
        flags = ImDrawFlags_RoundCornersDefault_;
    if (((col & IM_COL32_A_MASK) >> IM_COL32_A_SHIFT) < 0xFF)
    {
        ImU32 col_bg1 = GetColorU32(ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col));
        ImU32 col_bg2 = GetColorU32(ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col));
        draw_list->AddRectFilled(p_min, p_max, col_bg1, rounding, flags);

        int yi = 0;
        for (float y = p_min.y + grid_off.y; y < p_max.y; y += grid_step, yi++)
        {
            float y1 = ImClamp(y, p_min.y, p_max.y), y2 = ImMin(y + grid_step, p_max.y);
            if (y2 <= y1)
                continue;
            for (float x = p_min.x + grid_off.x + (yi & 1) * grid_step; x < p_max.x; x += grid_step * 2.0f)
            {
                float x1 = ImClamp(x, p_min.x, p_max.x), x2 = ImMin(x + grid_step, p_max.x);
                if (x2 <= x1)
                    continue;
                ImDrawFlags cell_flags = ImDrawFlags_RoundCornersNone;
                if (y1 <= p_min.y) { if (x1 <= p_min.x) cell_flags |= ImDrawFlags_RoundCornersTopLeft; if (x2 >= p_max.x) cell_flags |= ImDrawFlags_RoundCornersTopRight; }
                if (y2 >= p_max.y) { if (x1 <= p_min.x) cell_flags |= ImDrawFlags_RoundCornersBottomLeft; if (x2 >= p_max.x) cell_flags |= ImDrawFlags_RoundCornersBottomRight; }

                // Combine flags
                cell_flags = (flags == ImDrawFlags_RoundCornersNone || cell_flags == ImDrawFlags_RoundCornersNone) ? ImDrawFlags_RoundCornersNone : (cell_flags & flags);
                draw_list->AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg2, rounding, cell_flags);
            }
        }
    }
    else
    {
        draw_list->AddRectFilled(p_min, p_max, col, rounding, flags);
    }
}

//-----------------------------------------------------------------------------
// [SECTION] Decompression code
//-----------------------------------------------------------------------------
// Compressed with stb_compress() then converted to a C array and encoded as base85.
// Use the program in misc/fonts/binary_to_compressed_c.cpp to create the array from a TTF file.
// The purpose of encoding as base85 instead of "0x00,0x01,..." style is only save on _source code_ size.
// Decompression from stb.h (public domain) by Sean Barrett https://github.com/nothings/stb/blob/master/stb.h
//-----------------------------------------------------------------------------

static unsigned int stb_decompress_length(const unsigned char *input)
{
    return (input[8] << 24) + (input[9] << 16) + (input[10] << 8) + input[11];
}

static unsigned char *stb__barrier_out_e, *stb__barrier_out_b;
static const unsigned char *stb__barrier_in_b;
static unsigned char *stb__dout;
static void stb__match(const unsigned char *data, unsigned int length)
{
    // INVERSE of memmove... write each byte before copying the next...
    IM_ASSERT(stb__dout + length <= stb__barrier_out_e);
    if (stb__dout + length > stb__barrier_out_e) { stb__dout += length; return; }
    if (data < stb__barrier_out_b) { stb__dout = stb__barrier_out_e+1; return; }
    while (length--) *stb__dout++ = *data++;
}

static void stb__lit(const unsigned char *data, unsigned int length)
{
    IM_ASSERT(stb__dout + length <= stb__barrier_out_e);
    if (stb__dout + length > stb__barrier_out_e) { stb__dout += length; return; }
    if (data < stb__barrier_in_b) { stb__dout = stb__barrier_out_e+1; return; }
    memcpy(stb__dout, data, length);
    stb__dout += length;
}

#define stb__in2(x)   ((i[x] << 8) + i[(x)+1])
#define stb__in3(x)   ((i[x] << 16) + stb__in2((x)+1))
#define stb__in4(x)   ((i[x] << 24) + stb__in3((x)+1))

static const unsigned char *stb_decompress_token(const unsigned char *i)
{
    if (*i >= 0x20) { // use fewer if's for cases that expand small
        if (*i >= 0x80)       stb__match(stb__dout-i[1]-1, i[0] - 0x80 + 1), i += 2;
        else if (*i >= 0x40)  stb__match(stb__dout-(stb__in2(0) - 0x4000 + 1), i[2]+1), i += 3;
        else /* *i >= 0x20 */ stb__lit(i+1, i[0] - 0x20 + 1), i += 1 + (i[0] - 0x20 + 1);
    } else { // more ifs for cases that expand large, since overhead is amortized
        if (*i >= 0x18)       stb__match(stb__dout-(stb__in3(0) - 0x180000 + 1), i[3]+1), i += 4;
        else if (*i >= 0x10)  stb__match(stb__dout-(stb__in3(0) - 0x100000 + 1), stb__in2(3)+1), i += 5;
        else if (*i >= 0x08)  stb__lit(i+2, stb__in2(0) - 0x0800 + 1), i += 2 + (stb__in2(0) - 0x0800 + 1);
        else if (*i == 0x07)  stb__lit(i+3, stb__in2(1) + 1), i += 3 + (stb__in2(1) + 1);
        else if (*i == 0x06)  stb__match(stb__dout-(stb__in3(1)+1), i[4]+1), i += 5;
        else if (*i == 0x04)  stb__match(stb__dout-(stb__in3(1)+1), stb__in2(4)+1), i += 6;
    }
    return i;
}

static unsigned int stb_adler32(unsigned int adler32, unsigned char *buffer, unsigned int buflen)
{
    const unsigned long ADLER_MOD = 65521;
    unsigned long s1 = adler32 & 0xffff, s2 = adler32 >> 16;
    unsigned long blocklen = buflen % 5552;

    unsigned long i;
    while (buflen) {
        for (i=0; i + 7 < blocklen; i += 8) {
            s1 += buffer[0], s2 += s1;
            s1 += buffer[1], s2 += s1;
            s1 += buffer[2], s2 += s1;
            s1 += buffer[3], s2 += s1;
            s1 += buffer[4], s2 += s1;
            s1 += buffer[5], s2 += s1;
            s1 += buffer[6], s2 += s1;
            s1 += buffer[7], s2 += s1;

            buffer += 8;
        }

        for (; i < blocklen; ++i)
            s1 += *buffer++, s2 += s1;

        s1 %= ADLER_MOD, s2 %= ADLER_MOD;
        buflen -= blocklen;
        blocklen = 5552;
    }
    return (unsigned int)(s2 << 16) + (unsigned int)s1;
}

static unsigned int stb_decompress(unsigned char *output, const unsigned char *i, unsigned int /*length*/)
{
    if (stb__in4(0) != 0x57bC0000) return 0;
    if (stb__in4(4) != 0)          return 0; // error! stream is > 4GB
    const unsigned int olen = stb_decompress_length(i);
    stb__barrier_in_b = i;
    stb__barrier_out_e = output + olen;
    stb__barrier_out_b = output;
    i += 16;

    stb__dout = output;
    for (;;) {
        const unsigned char *old_i = i;
        i = stb_decompress_token(i);
        if (i == old_i) {
            if (*i == 0x05 && i[1] == 0xfa) {
                IM_ASSERT(stb__dout == output + olen);
                if (stb__dout != output + olen) return 0;
                if (stb_adler32(1, output, olen) != (unsigned int) stb__in4(2))
                    return 0;
                return olen;
            } else {
                IM_ASSERT(0); /* NOTREACHED */
                return 0;
            }
        }
        IM_ASSERT(stb__dout <= output + olen);
        if (stb__dout > output + olen)
            return 0;
    }
}

//-----------------------------------------------------------------------------
// [SECTION] Default font data (ubuntu.ttf)
//-----------------------------------------------------------------------------
// ProggyClean.ttf
// Copyright (c) 2004, 2005 Tristan Grimmer
// MIT license (see License.txt in http://www.upperbounds.net/download/ProggyClean.ttf.zip)
// Download and more information at http://upperbounds.net
// File: 'ubuntu.ttf' (353824 bytes)
// Exported using binary_to_compressed_c.cpp
static const char Ubuntu_compressed_data_base85[295750 + 1] =
"7])#######Yf*F-'/###I),##f9_hLnhJA$aHdd=q?4s'9+XV$aN+##Y4,h<?TI;dcsxu#OQ@>#=^/e=l0%]85cYV$$:%##UOv*>(fw@3QrBb7Lg+##j%#f=<@=u1r$)##*m(L>*J_d>"
"R<Yrpe`-8#*W3<#tEF*Ck7d@]u@P7#]G=0#4RM%C[0iM1r_Z##+HL)#J<[hC4o<(I?<t7#`Fr&#_VT/Di##/#sFFgL$W$lLb+h3(,5LsChP29Ro%D`)MJ]71+xs_IcxR`So7b'cg9E=_"
"b';9C,*ELP+jHS@,cdD4AJr9.A5l0:jMWVRV3dW.;h^`IE'VFB#)r'5L_8ba*>;MFgW3<V0GgkL_6MgGo6Q<B%PssLt1Ev<]af&c0iR/GI)S2gi$-2_@iOA-qmnUCKSke33Gm(^KnXvc"
"@C=GH`[eaUcv3$MVoG6^1)Q-GU_DLnorg%MXt)Jq1le34@(jienR)q1odPir(_=SnOEkYd@T75MleU]VfrYr?bHomS%[bw'PPYY#cQUe$Gci0v:B.5'IG4v-WGu8Ng8=gM;pv.q:tZ?$"
"m45##+VM4#k<151c>$(#,QUV$CjS=#AKXV..QrG#d)MT.9T_n#0eq@-v9w>5Q4;D<tl+##91i;$1]1v#`wp:#v^Y+#D.)F.&9[r8H?v)#`W&]t2`1vuP;s%$PfBO-oADk>CvI^#fZe#M"
"8WG&#r;&=#Xlls-8-,)MBMJ87*7Zi9eB%/:G^^c2A=KV6^Lw(3C?bf1^1(/:b]p(<)F)<%*moo.tF2*4@c55/j:=A+_c_&5818ona8B,3&8)s@V>:&5U5u`4FX1p/`:/s7^(N;7ZcQ>6"
"fA^G3[3l-$P.]w'XcC.$CNg2#EwF6#Sd,3#[?w0#=aO.#V)q%M^*elL7^.iLj6QwLnrV7#`ckgLi1N*M_3urLfqd##9Ex-#o.N'M,XPgLI.x2N&ELV%%5PV-kS-/('jp%=k085&9]xx+"
"_ZCD*,^tr$.[QV-#eYlA9<2F%QBZ9MudCloDdKSImAG5&Hjfc;F(g1g5c-F%]s5,2/[TfLcv;58pe<$6rZ`=ud0`=u4%D_/V`RJ('k#p@uh3v6mZ;,<GGtc<7)x92bC`(a4v]rQX?$s6"
"feT(s?b3p%6cGuu&3vIqSs[+i@N]c;QidG*A*%g;s-<d3SS[9M_NuOoCEGkL-kOcV,R&;mdm<`j'&(.$LeX`3%M%)3M[#h/fFTY,B-UY5-1S>6E0xfVhBx92cD+.#I's8v`<Z7v;Pei."
"4QA=#gdNb.r/6$$xB'wL'(co7LfxQEkhS&QM%1kL^K/@#=6too^QGk4N?#g1@KQcM>2W+r4-Mk+SNki0*:0:)E.af15I>A+H<q/DT'v+DJ=n92altl8Nho,NEVJ(sBe]w'x)7R*pTkEI"
"0EwE72n.)E4S:.$Tp=SR./CPS'xX/$Nri4#B`O.#E8<)#+mP8.@'gi'gnOp81PP:vgpbPpeU/,)%Q#9.kMMY5w>%_S&_gw'NOf5#1vjfLJX02B7.l`F%Kx8&8/grQX=A8@xfe1g2s5,2"
",Vb&#U=4gL1OF)#F>r*M1^3s#S_*s7/i;,<?Rg.$ZJr%4-+m<-F%Rq$(<PF%9*a<#To-A--)T,M]i4-Q-AsbMb8$<-OPYO-]A]7MJ?7I-f(m<-.PA-VDU*4#$PMmL_7$<-$'kB-n#wa0"
"jT[[#fPu>#Anf(M4Hk'MrO&+MAG'X#_lRfLrO&+M`Kj$#WIFgLn5KnLsS#oLBQ$'$%3MG#fhAE#MC=gL'a`n#5cP[.*n1c#aO#<-;M#<-DNO;.rCs`#L[lS/BYR&,Rk@F%>t/F%dl5uu"
"FFvu#Zjt923Co9264q#$u`CZ#n%,)NiHO5&7oT,<B[NG%@]oA#?m6mLLN#<-I$+R/YHkA#b(q^#lY(*4r,]rQTrkuPTag5#78)mLu4A^49]xx+A6cf(,^tr$ncbY#.[QV-vGSS.1`kA#"
"/oYTNs%e]/3s9c`gQ&;HRpxc3L9*j1WGUA5Iu62LtDOA>fq'm9B4pV.K7PG%A`4'#hIrG#*lQiL6W%iLFcbjLGu^,N>2oiLEP',NiIhkLtxmi$AIRoR3)a7#&`M4#Ujd.%D;QF%B)-F%"
"Fsk-$`N)S*GM)d*-NxJje:-IN';l0Mw(t$597g*#/qj1#<0c6#)<>##I7`$#8dQ(#rGIM.RZux48Bop&:nUY,?K3q'?7JV%wp9'#L]l##*R`6NaUTvL*c1p.+hN`<'DD_&e/v(3Sbji'"
"--)&+6H)&+o],F%]9DA+%W:D3a4ni''QYc2UZE/26E#t7Q&d&68ki/#_XS=#6YlS.2Ph/#wSoV%=;=A+818ont?ho7T/C9.Dvfl/(C2W%]rQEnCCI<-Y'xU.*.pE#&[`=-xZwm/+5X]#"
"#Z:Z#mJl0.hnXoLwS#oLV3aZ#&5UhLh>>]#K6ND##&6X$&Bq'#O((/#kE4v-whrmLDU=)#baU7#r+mlLvG#xuUF)4#?ka1#Th-0#gc;..B`imLNxUa8S4_B#Q+i?#5L[w#O*m<-w:Lw-"
"LwP:9SB$_#S&a@$`@&&$B%kB-moWF.nn1c#Pu/a3WK:7#*^H(#d3Oxu[CT2#kbP+#C9,H2k@@[#=v:c#qRl'$jo2`#2hG<-0=.2.N>^P8Ltha4vld]4.Y^+iGx0.jNrbV-h=OA+/HZ.q"
"f#.Pf:('v5C'uI*iPPuljTG>5ecMG)$sc5&x`d`WN3%q/TO(At/,qS%6]Zj(AS38eU]Wfi^(N;7/3pd=_j92'wi]=u3hgW/:CUP8<r1^#W9`J9Jb?$$)eUv#W?\?_#Q[cd$j1PwLeTNmL"
"*S_p$HGVdO`hTO.OKwXuW`FJ`wb$l4A9wiLV4ItLDvI3%;>_kFN9Y_][:,^#,pc9.=g8i^-7tuZ`rJ#$t.J`t,pFZHPjUfL2dnW&),.j'sN,/(:Zpl&Je:kOc`r%4Sc1F%vVO9iog^c2"
"S=W`3JtvDN@q4-Qn@@n8C.LB#h*Yu#qS=4MC+EJU2Du-$m*@9&6aQY5Ath9Doa(,)Bq^9M+I78.vS45/BmOQ'%e85&Ob9R*>]q-$1iVS%9afER/uVw0WYUV$tuJ+ircMY5YN^w'DX,,)"
"lNOM'JI//(8[JM'OKwXu(w9A42NgJ)(J`SA?osY-[lmY6:A@&,Hx8v-.P)s@`:/s7$Y'#vwZ5pM;8G`%EjS-Q7AZ-HDtd9D75PV-2TGY>va,ipwLZS%G'02'r-Lk+'gY-HexoJaCT$+#"
"x)F$MiUTvLFW0%8xYkA#vO#<-tei21cE.)$rr3]#):b]#5xk0MF5j7#EDx-#uS3%;>2)F7H)$.H2qGk4%2B$$i2W`#_l*]#Z)xU.-H/&$t(l?-k6`T.cK[w#%N#<-bWqw-t@+gL/Q/0#"
"Sf($#Ntl+#2Xk&#mM;4#S<1pLqo%(#Tjf=#sNm;#)nOoL28T;-?r:T.3/%[#w#iH-nYW/%e:.F%+99W-wR:-v?dbY#V<')3?\?@_8[7ng)6]n]4Os-,MC#ZoL%>a*MZ'2hLLEk<#Ks&kL"
"ucl&#r&%Y%1bsr$NCPB#JcdC#Uh20;_Da;n3s9c`Uc]QsH-p92@b(^#@0P-Q3Z+REnHu9)i$H-ZN8/^#G*E&vA>b<#;P#lLuE?)M`b`pL9_M/#Dr:$#lY_pL4k4g.#6MG#8)xU.AI@@#"
"2Z`=-MY`=-Bn9`0-&Ox#;:7[#V'3JMR.kuLT>+jL[`:%M8LoqLN&7tL9&1kL.w^(M+ZVpLHq*'MjsEf-4V-F%,US`<0EGY>LwQw9>gMY5KY(_S'D;T.j7%@#p@:@-U(LS-)[Rm/ul*]#"
"CI[w#'A;=-_6T;-6?EY.tJQ_#Os:T.bvg^#G1QD-PU^C-JapG.&37w#(`kA#B18v$.P=R*QIn9`s(X9#H@1).wM'%Mu/BnLG,k#NdU*71&S7%#-Cw0#XwM<#j%&s8:c@?7P$cW%Cfsx4"
"5D7A4'd@F%)hW1#,^+RErOHm8If0^#mw@3NLVp)(*OTg1Tow@#:Z9^#.PI@#RH.;QFQhSMib7C##6MG#XrdT-$Ui].o,iC$twiM/_7lu#voi,</SaJ25EXm'r_HM0]g9/M5;0R3)qj1#"
"8Nl0.pHoS8])dEn-nRw90iVS%^F15%qp9'#+KtJ-CZ`=-)6T;-(?:@-.unf$1;=^4ARco7k)U`3bb<D3.xQ`<.[kf(P.<D3[M1a4$9;R*3^P`<b$T]4.nn(<5Be--Xk(F7g@.F%RF4/("
"-o%)3-gHk4+8(F.:gXf:s0J_&g%b-6QV,F.'-Xf:aGC_&Wb4/(gYC_&pO4>5d^89Jei#W$Yb%&=3?F6'8DT8.3_q.h#g9^>RIH5/+MD8AFl+^#E+PB#o.ED#H*,)M/5lZM+o,D-%JpV-"
"`PNk+T=?YPjmx7I>B`Cs;$K8AkN-0$<<c20a;fFiPaR+i/L3F%qmJ%k<mnIhF5oIhZs:GsuR4/$CLKsLB*A,v;.<%vTijjLD>+jL`6wlLUcg<M-*qV-%?=_/J2m926]2F%'/2F%vo1F%"
";l2F%7OmIh.VjfL5?*mLM7LkL%6O'M7`:%M-R()NwU/+MJ($Y#u%N'M'w-r#0r:T.RbpU#BT[I-1M#<-<NdxL@Hfc;mV*x'3=UhLfoHlL$?a*M`8-)M%0sxL@(i%MYRN;&;aF#P7Gl$M"
"Tr%qLaUTvLlA^nL05L*#SDM0$47X-?+iVw0qa4F%b34F%'/2F%B+3F%g%b-6G-nIh<JPp7?xBW/SLXR-UZ?T--61.8EFCkFouQ;.0tWS%(16?$w[>R$Hl+G-cO#<-'M#<-?HuG-ksK&8"
"Skh>$dcQX.o$mR$KO#<-<O#<-5O#<-Sku8.-K#R$9r.<rrO4>5Zbn92t0E%kjD,F%Q%Ok4<o2F%Wk3F%*4$F7]6IRsE28@e5boRn6:#-M64DSIX-TJ(_9AF%',h;-C?9P)6u)]kg9&Yl"
"?X%]kYOUAlS_NY>_fP2(98%a+YMCa4/&X@tfs9Mq-#FM_?wdw'BP@2'4R82'R7t(N2Fr-$(b]w0q6lk4gT:&v>hk)#I0U1NV?X,%I02,#&;T;-(6aY0k0dr#KapU#nQe'Nw/#,2o?A=-"
"c'l?-Zi)M-F/r5/NCDS$TJ#lLN`4rL9nX7M,;fk8SfScj<i$R8C^C#$U-qV%?4WS%=uMY>k)U`3GtCP8QS8>,.8=>,A/BJ:V.'&+Gv95&nau.q(G9;-MT,X62xU?#hL@@#x;Bn/n2%a+"
"IFg7/HQ;VZ?$06)$T7=1upHD*V.YV-+r=S#<(JM(Cm=6'WqC/@juIgL'/K;-ONp;-;i&gLw'^fLQLa?#KMK>#E37<Z;t)W%N?R&/:(.W$-#,1#EoxA#``t0#/Vg'+uOtA#'nn0#dVtS&"
"+_Ip&xdn0#5/u0#tiEM(uOtA#(3o0#g5&/C7e<L#IEneMIFH>#baL3X.*k-$g95/(/^OL#WB[K)P_&YN7o_@Ms3oiLr<]=dONEN1-59`X*B=L#g-=A#BwU-M<2oiL:K+Z-v^F3b.$@-M"
"uKv$,)rKB#sXQ>J>%d,MJIH>#-$<q7KUM8A#6^V-Jq=Z@HO5hLphK;-gq.>-%KC@-R%`5/&E*.)a^Jq74['^#Ar1:)*P4gLkX#x%PjEW%?$lf(.m49&juic)RdB8/jI'#,FiY1ML-0P#"
"`f^k.`#%1(eenBMP@7N#jxXK1ukQM081<5&uH?aNYdbjLwBW?#ptm/_GcjBO**QU&kbsl&hU-X-5U-iLP<=5&rAjp/U@H>#Bqu3+H*rHM$O&@#4:e@MTf+M(`(87M<+N?#PBKoLWeF?-"
"vWma$H%b6JUL^q%hY14(>6h`0RBTM''4;%,ZC=gLh18L(;5n1ukY%R#`Uu;-2'Y,2kbPC#Q^D>,7fs.L;@e5/J=f$>@1M,3uu5H.(J4**WK$303%-1)S)6>>j&lA#G*T9Ln:XW6eJrS&"
"qD6/(kvTM')UM7cuj3',2w`6E07x@#Vt98/ljBB#/MG>#i_WwAni_q%PUqf(vV2,)?To6*$ZXXZ?7xFJucChL)s8T&1ZajL.:a0_jK=8.C/bjLSoQR&u@Z?2eH6p-kW-[BE:TfL>f@C#"
"%I;@,,,PO/?(H>#+VI6MQEXP&+9)?-3@u:ZqWI/2(._B#/#h._=P*X(x@^,0K[n/>ZsVn'u`nF3Eb-@dF[q7[v9Q,*;#^C2FZMEIjQ`3_YSv53n5e=dJ<o-2&n1sLXE@*NS^$12bFH>#"
"EI]v7+fRC#=Apr-btKHMwFqLM8=ggLxArHM*xY<-S-KOM>8xiLOdH5NGCH>#L@rT.n^Ck'u^NnLY>uc-_T(1G^je21f3_-MH>/F-db['MNFl(Nk7'Q*D7H>#<_>e6enZ'AtB*1#cmm'&"
"<Z0I$#bJ>d2P.4+^F<-*hrs9JC$`T/&j,4+&(V/2C.g,M3LnYNE5gq/%wTB#*-,##)AP##Uov9/5cu>#^=FGM&rJfL*i.?$v]-8'D&-+#aI@8#6iLvuY['HMTq)$#4x(t-i_kgL.wCHM"
"W-E$#6x(t-nk'hLY9W$#2SGs-rw9hL[Ej$#2Ag;-<:@m/JIIwu4I.%#7SGs-&@hhL8^IIMfvJ%#7go=#@(`5/UhwwuhmmIMf,p%#AfG<-@YGs-4eHiLo>5&#?SGs-8qZiLq]G&#=Z]=#"
"=-wiLDPbJMn]c&#Jx(t-C?<jLpiu&#EAg;-P:@m/qaB#vDm9'#ISGs-M^jjL#>M'#ENJ=#OYGs-Rj&kL(Di'#NSGs-Vv8kL$P%(#PSGs-Z,KkL&]7(#Vx_5/1NQ$v'YPLM)oR(#Zx(t-"
"dDpkL17f(#MB8=#iV5lL-1x(#YSGs-mcGlL/=4)#b4@m/C/N%vT:E)#^SGs-u%mlLaNaMM4[b)#gx(t-%82mL6ht)#gx_5/R`A&v4e7NM9$:*#lx(t-/V`mL?<L*#[0s<#lYGs-5i%nL"
"r;pNM?Hq*#wXwm/c4,'vbE,+#mSGs->+JnLoGgnLADX<#kLP'v>^XOMFsZ+#xx(t-HIxnLvxuOMI/w+#*Ywm/vk((vj,2,#vSGs-RhOoLMGE,#wAg;-(ZGs-WtboL]la,#knM<#[*uoL"
"Rfs,#'TGs-`61pLZ.0-#nhD<#eHLpL.xIQMW.K-#2#)t-jT_pL^F^-#rb;<#4ZGs-oaqpLcL#.#0TGs-u#@qL6R=RMfq>.#w[2<#$0RqLbkP.#<5@m/PQX*v'ib.#6Bg;->ZGs--HwqL"
"m3)/#@5@m/Yj'+v+1:/#<TGs-5aErLkKM/#>TGs-9mWrLmW`/#@TGs-=#krLodr/#H5@m/kJ$,v2b-0#ETGs-FABsLHdhsL:j[;#r]?,v5$R0#HTGs-MS^sLw>f0#HBg;-QZGs-R`psL"
".^+1#5>Z;#TZGs-Yx>tL-dF1#PTGs-^.QtLViaUM*vb1#X#)t-c:dtL2>u1#;8Q;#hL)uLYuWuL6Q7;#=i&.vB5B2#VBg;-aZGs-qeMuL9V_2#[TGs-uq`uL5cq2#^TGs-#(suL7o-3#"
"`TGs-'4/vL9%@3#bTGs-+@AvL;1R3#j5@m/WbG/vN.d3#dBg;-t;@m/]nY/vP@)4#m#`5/b*v/v+LCXMCbE4#q#)t->w=wLEnW4#mTGs-B-PwLG$k4#pTGs-G?lwLw)/YMJ605#(Zwm/"
"uar0vZ3A5#tTGs-PW:xLNNT5#&6@m/'$A1v]Kf5#xTGs-Xp_xLRg#6#$UGs-]&rxLTs56#&UGs-a2.#MV)H6#(UGs-e>@#MX5Z6#*UGs-jP[#M2;uZMbYv6#aWT:#o]n#M5M:[M_Y;7#"
"5$)t-ti*$MgxM7#dQK:#xu<$Mcr`7#96@m/NAC3vnoq7#5UGs-+>k$M>.7]Mh:88#>$)t-1P0%MPX7f$L85uup8pI$+7%-)M&YZ-&ivo%%&Le$*iDM0&uVP&->Le$9XXc2'.82'MlA(s"
"kP2>5(0(<-qFs%v(1`$#Y6&=#$r]&v(=r$#_*j<#.LP'v(I.%#5-*Z59-M(v)U@%#lnM<#C^@)v)bR%#rb;<#%#@qLw]g%##]2<#Vct*v*$x%#)Pv;#8(trLoP5&#/Dd;#BXgsLq]G&#"
"5>Z;#L3ZtLsiY&#;,?;#VdMuLocl&#_TGs-a>AvL'>)'#I&6;#=/)0v,m9'#&m8g1G`r0v-#L'#U^^:#)%rxLw=`'#;M1a3]qb2v.;q'#dQK:#fEL3v.G-(#LM1a3pv?4v/S?(#q?0:#"
"$Q35v/`Q(#Um8g1.,'6v0ld(#'(b9#fF&(M3Cx(#.xW9#q'#)M5O4)#5lE9#%Xl)M7[F)#;f<9#.-V*M?$Y)#A`39#as=:v2[/E#$SGs-B2xfL>3CE#MDe8#LckgL@?UE#T>[8#WChhL"
"BKhE#Z,@8#anQiLDW$F#a&78#kHEjL@Q6F#Q4@m/H?6$v5NGF#`k8g1Rp)%v6ZYF#u^_7#3/vlLFvmF#pk8g1g%g&v7s(G#,LC7#G:]nLPJ<G#3F:7#RqXoL_%OG#9@17#.[7)v8A`G#"
"?4u6#fv6qL]+tG#F(c6#Bgt*v8Y.H#>TGs-%2'sLZ1BH#Qf=6#.]gsLV+TH#OTGs-87ZtLe[gH#a`46#l-K.v:4xH#ll8g1uW5/v;@4I#lA]5#Vs4wLenGI#s;S5#bS1xLg$ZI#$0A5#"
"k(rxLi0mI#+*85#v_n#MqN)J#1$/5#ROU3v<':J#:UGs-4kT%MoTMJ#=b`4#>EH&Mqa`J#D[V4#I&E'MsmrJ#KOD4#RP/(Mu#/K#SI;4#[%p(M'BAK#XC24#9r`8v?pQK#kUGs-p0V*M"
"%HfK#e%Z3#%hR+MxJ=h#/k8g1WQuuuBGNh#qf>3#9mtgL,vbh#x`53#CGhhL(pth#Hk8g1v7OxuCl/i#/Np2#XXWjL8VCi#5B^2#4C6$vC.Ti#TSGs-l^5lL6]hi#B0B2#v8)mL2V$j#"
"&-*Z5S/p&vFR5j#O$02#]YY'vF_Gj#Vns1#>uXoL>7[j#[[W1#HOLpL:1nj#;l8g1%@4*vG-)k#jI<1#]Z3rL>I<k#F5@m/9Kq+vHEMk#M5@m/C&e,vHQ`k#]l8g1MVW-vI^rk#-&[0#"
"/rVuLF$0l#ll8g1chG/vJv@l#;j?0#D-GwLPNTl#Ad60#MW1xLXmgl#G^-0#+Nx1vJDxl#+UGs-bcn#M]/6m#TE_/#>SU3vK]Fm#:UGs-wt^%MZ5Zm#a-:/#*IH&MV/mm#P6@m/]906v"
"M+(n#_m8g1gj#7vM7:n#ukk.#H/#)McfMn#%`X.#Sfu)M_``n#wm8g1/PS9vO[qn#3M=.#hq[+Mj=J4$8D4.#q?+gLxn]4$?>+.#M0ivuQ3n4$F2o-#0QqhLvt+5$K&]-#b;OxuQK<5$"
"2[^/(?3.&Oq3n0#$#$##NR`Q//P:v#8=[s$:oU;$5rUv#5%@s$%]K#$3njj0@Uw8%>@Rs$<.7s$Q#bW%CX39%dO=gLb^]s$5(@s$84Rs$bF+gLPJhw-cO+gLU9&W$<OEp%7uh;$pPa#$"
"ebXgLi#Gt$7r:v#hc$@'Y7IW$ht0dMW%sV$cL4,M%o`;$WG1RNbt86&hXkGMUW=9%rcAv$qWd#$khb,MTTOp%0DNfL['vhLgiUDNZT8?MuapC-3_)#MS9f8%'7)W%Ni6uNuBfs$7vxE@"
"Qr`*.&D4gLhqVv#$op>$-Q=C/7Ps9),YF,MP*&<$#u>v$g/iNkvBn0#wuFW%B_39%>tQv$wKHh,QiU;$<md<_8I(^#HnP+%UL6$p3x>v$/jos%4r6s$V*+g$m1'tqf<#n&KfE<q'D+gL"
"1<k3M/7,,Mmxi;$PGDM1:[&Q&3x-W$<O*9%F*vE7]bap%R-sae7$Ws%`F4gLcju,Mer0Q&BIn8%wlj#$6%%W$6n2W%lf$@'Gdm*%SrUv#2?XQ'P0'q%p'YgL6c;v#acj;&[,o;%;Y2U2"
"i]Os%;`Mq2Jvp<1awJm&6I`t-nq'HM2amI%%=w;-geW^-'nDe-+S4gLK*^)8806X1YC*T%MceZpX@n8%vx8;-DH+Z-&VQ-HW:[8%K9T7shj3[9?tq#$G$bT%/K#PM/B@I-2.;t-k_FgL"
"54Js$swHmL6k5`-D24kOZ=[s$fI4gL.[c,M8,/W$5r8gLmCfs$(E^TrR`:v#seSq)(DxfL^XXp%R%#:2Sibv$cI+gL<]c8.?C[s$3c#<%n$:HMP,/W$$,B;-28Ab-#=Lk+=1l3+Z_jp%"
"Iq)RW[:rv#Ktqd-a:@k=7$Ws%e@xfLqXpsMG)7>%20*XCe9#3'D0]Y-(uMeH]O'L5_bNT%QoC&MVb55MR$:<.:1@s$(16Z$-FoBJu)As%>6Ns%)H=_/GFhv$5(@s$$7;s%):Z;%).vV%"
"#+d;%EtlhLUHx8%4`JcMif#H.J096&Hd6WA;uiY$K^js%L6B6&A:^gL.t96&mg`GM;q7Y-he<L>F=?s%HOv8&rwXgLI0.ENCE-n&#1lgLeFLlL.(m<-L-%bNLSx8%8fU;$mPSv$-+jEI"
"`_G#$>'@,MmF5gLnPx8%iU4gL4t(=/Iwsp%e4ofL(ZFT%MTI+NYDs#MQ(cp%PjPR&O2###<(e2rZQ+9%^uCn<X%`v#ew5&Ot`;v#-@6Z$2CfBJkO3T%<C3T%Fwjp%AOes$Dt8Q&@*@?$"
"9:[s$eAc'&^@e8%6u6s$:0F7/;7Rs$fUFgLSd]$Ml9&W$@17W$G_/m&b;g;-O<DiLQ/f#/;+7s$KHV'8#l^>$@>0[$:%rV$<[j5&E/ARN`_*9%tUB#$[SrQj_'h2r0XPgLSD)qL[T&$M"
"):#gL7Ao8%$1vV%./QpTN_wb%al,r)^bWp%q$*I6.[is%::nS%K4:m8As^>$85i*.(nj-$0O)W%x+B;-3lf(N'i,@.Fw&q%ElO#$Hh_d-]Z<1#1rb,MQ3AW$8;6=-t/1*)?<W<%B[Np%"
"6%R8%smWr$fbET%NQG3'b@+gLQ<]s$RAkDu@tN303lqV$5%.W$fvf*%SfU;$fFffL1Af8%V@^TrsrCn<.KPb%eF[s$CUeW$9.r;$9CH9ic*Tm&EG[i.8x_v#Cvx$M4L>gL#Co8%J;G%M"
"aT8s$JZ(O'K_ns$On<9%8:3p%A3.gL_QgoLC&C6&=Y1_A,]FgL+Kq<.G$tT%3q%T&9oA,MjO6i$+Gp;%_K3L#e>Jv$d7L1MLW3B-+*&_%Z..W$G-^Q&K=1Z$Qm7jLsG:).iU=gLGmT2B"
"L]m;%Gn#I6Qu6s$l^%W%FU.UMbkWp%[q9S-6j5pLowjN0J-'q%G$Tm&fL4gL=(ukLb$?X$,vY'8.cFgL5@,gL]3S>-Z-q4.hkOgLE_:)N?VOp%_:wx-bC+gLN-nm8pC)W%/q+K.K3K6&"
"&v+O4.^g8.CLes$SxB<%GkWT%40_<LHOk-$at&q%qj5`-p)IwB9_x?9$]W-?C3%gLXScGM;C+T%p*%9&t-cgL8Y&,MM[=T%>F*9%0(J)c]aF9%oR9`$ZFw8%:%f34%-tSp[Nos$:/Uw0"
"#/ffL`YPgLcr`;$;*o:.?:.W$eZ]W-Ht>e6,`bGMUWFT%%#9;-*SPS.L?gQ&Lutl8u/eh,h<pm&w?_dMcTx8%J3B6&:lJcMw2UQ&==Rs$[kc>$U[(@'W29T&v0lgLlLMt-$=(hLaYvN'"
"jf9T&'UhHMjotKMZNfW$99j>MtfcgLiMtJ-iL'`$WmNs%(Ih0,]4/eQ]@.W$Tei;-mjg%NJMV64DeWp%ro)[$_g'h10P:v#<R39%poc2ru)1q%lkb,MF1S8%M)C<.GkWT%A'd2rEa,l0"
"@L*T%8(R8%Ab<T%2M[KucRw8%5l_;$^AeKYdORs$CL%<$?sda0Ena5&@bN9%_F4gLS9As$>CIs$*`uS.8..W$i3T?.97Rs$=m*Z$qgj;-<bxW8+NDs%'/TV-%1Yn*+V=gL3EnA-LCJrL"
"qc;v#CbPhLLc1dMj-+g$@07gLspWV$mn*I-^)L<h:R,QqSb;v#:Pfb-evJe$(PO,MQ9f8%/dp8.EX39%t*`8&C]9'oW=[s$E4w[B/rt,M:#/>-e,0p8NYd;%(CCa'hk?p&X&lVQYTFT%"
"FO?<%7I<T%^Nw0#S6<t%N3b9%<Iw8%x(B;-4<k3Mr6n6%[7%W$&cLP/?R[<$817W$cC(W%(7*hYaeET%Il<j.F'BQ&TeB4.itkgLjkXT%rhFgLmKo8%84@W$@<W8&l],W-m4%Ks$4pfL"
",/Wk'Oq<9%V/L<.:CN5&1L(BZ,V,<-utQ2MGqXT%BF[s$L>Uw-r9UHM*3hQ&Um*<%=.iv#%@V8&GN<W%dO=,M5I]s$Fnjp%8fKv$'Fg18J(vE7e[a5&G-'q%@R<T%=)7I/?UW5&fFxfL"
"q4^n.B_<9%`8bJ-k+$L-akwBMif$68hPMs%,W?-d*VuS&VRD6'MtaT%nh=gL,O+T%BU3T%.XDs%0DNfLlaYgLs8_Q&AC@W$A7*XC'D+gL5Q5hLkQ=T%)CsM-7c&gL++Zh/?O*9%FL[s$"
"^%>,Mqs'q%oBO(MDFx8%g@8w^*I2W%e^3L#+Zh$'Lm'T.Fw&q%@bxZ$vu];%t,Ss%USGq;O2$Rs(?3gL4_3+.w6lgLs3AW$C=Is-g@ffLOU49%8O@q.CeE9%$[8q`cD+W%@IU`.A_ET%"
"me-mLMl+G-k-Rq$_Ow8%]4ofL_s9Q&`=xfLH(%m/J0B6&Htjp%1JNfLX$C6&$`@Q/OK,n&RE^Q&=/k,MFIG,Md`/v.R^P3'KX8'-Cq668,E14+e*kT%`?qHH/e%T&N78rLcA-n&Pb'L5"
"ke`s-'F1hLciDk'.,;Q/bM7L(b5Dk'Wp<s%)_Ip&b4YB]DOaE[KO)n8rRYnEc$tp%;vEgLUh+X$hbFgLwd#]NAX0wL)Bu5&%Ajw$h]M'41P:v#?eWT%%T&UDZ7.<$Cg#ImPIl>$%J,W-"
"V5Ow9lnNT%CInS%LBpQ&D']Nklwsp%Jnjp%;F*T%tbo6*eUns$;l:v#jkkgLf$&t%?XNp%Fe*9%8x$W$<+%W$Few8%GX.<$@(@s$D9Pj'?=%<$lF+,M^=&<$B_3t$dp/I$]:IW$Aq/6&"
"CZb;.QdP3'p(s9;5+l,M#.gfL[/_Q&*8pr-oqOgLPqqq7XZ`6NExO#$>IAZ$/otGM@kHm8WYLv[apXT%I$'q%M0)iL@?f>-I)>@MX?wn8(U)qi[XNT%0e]j-^H3L#W4.<$3Jh;-f@w]-"
"h^<L#c'8W-i@=[R+qa3MfJQ3'pDsBJZCwS%lOO[RW9Ss$RuL&M=wZm8Qcd;%dx1YQe/16&IwjT%:[ap%rx,W-w=<X(qQ9U%g_X,M&VFT%Lu^HMe<s;$7+.W$Bb*X$/[vZ$B9Pj'9Cw8%"
"$5#S.L?#n&5X-@'f'96&EXa5&nWAn'OH,n&SWpQ&dX<h>XF3T%BHF;.L$tp%EMTs%ufxQEY=7<$=;m0)apGn&XvGn&:i:v#`>R#%,<,F%-`FgLaPZ3'3n`s%L?gm&W^`>$T,t8&u0l,M"
"^QZ3'Z=Ee-sBRp7-cTh5cw&q%'vo6EiuRsA,ecgLBn0Q&q0lgL^abp%Bgo?M7`OT%=.PG-0(m<-.Vpr-nnXgL3l;v#Ug,R&,^m9;bO_s%rnXgLk;qQ&p7)E/L$'q%x'YgLX6_6&Tv*w$"
"GkE9%)fTp7mliW%DnaT%K?#n&m`o;%a)iNX]Iw8%Y+ffL'>usLNRGgLmDxjLwafs$B_NT%Ke39%gq8e?/lXgLv5L6&T90q%tmD,Ms/U6&a7.L,kK,3'1d9[0LasS&K&,Q'E'$90)RGgL"
"<r:HMDR49%xgj?BKUVj9@viW%I<pQ&V9BQ&g5+O4jtjp%FU3p%L*bT%FD'W%+FvV%8H,Q/ALRW$C[39%li#I6l$KQ&L99q%A+Mv#O<gm&7`9Z$(,8'fdn<t$l:I,tamkp%r$u,M[VY,M"
"Yv96&9r+DN#?-n&*,TV-+8Ka>W,oJMJtKs.Y)Dk'HY-x0I=H68,E14+j?9q%[p3J-S[frLYJh<.`>i0(cfpP'=?8t%``e-)lfIL(nwdQ%%gn-)=(m<-.uDI.D@r;$-[DqV6#`$'anP#$"
"?0e#P',L6&MW@gLUtXt$gkHp&pg#]NP.O06N9^m&1xo=%l(S$53`_;$Bw&q%E4%W$=@7<$sxk[K$5ofLg8Hj'Vv3[9s9^Q&@kWT%Q<K6&Ktjp%<:6thW.7W$mlc2rEw7>-h6n6%r(i;$"
">C7<$G69U%NT#r%@:`;$?O3T%LhN9%p0(HM]@8<$lqkgLqwfG2=CRs$@I@<$>R<T%S-Ft$)2TV-vuc2r3[c,M1&(q%oqtGMZ#(U%H?<s%E,(W-u=*=(_X39%o;9M#p>'=:@&e#eL::m8"
"T4/9&HqNT%#D>8.?[Np%/^KW-_ecQsg396&E`458F4Hv$;FL]OSKQ3'OZx;-KCUm8s(;Z[6%vW-QPMBo@n.t%M?#3';=<p%C$c?^TBjT&Yd^q%Bhap%&:;s%=Y,=(*ac2r`j4X$[Bn0#"
"gKu/(bL=gL%5L6&mhOgLW?\?3'508t%K-KQ&EF7W$b3_S-`w>L/Ujl3'ohOgLW2Js$pXMk+LWxB/`njp%Gwit%?=7<$Mj-d)d#Qn&?/Y$0Ui:v#d$dqrftaT%Sj(O'6qV8&+Bk;-RAUw-"
"wEU-Mf02iL709p8IYV8&1[?,M.R49%-h@p&8;8F-_.=%8`<eKYvhs5&OQpQ&Gq&6&AU*9%L096&F$^2'EbNp%9MQ<-)lhl/I$kT%<l:v#$VT<MnH+kL;=:q%N9TQ&u$cgL[dkp%:BJ9&"
"^pcN'PKg6&U)F<%K*tT%neFgLSXPgL'Vx8%Jnjp%R0RE.I09q%-hi<%8f:v#KHBq%kX4gLv8qm&ptb,MXbUtL#*up%NtNT%ohOgLU7W:/V&VK(vtOgLjYXp%'=2W%2klB$gAU6&JtJ2'"
"L_Bh51rb,M7B$R&@bxZ$2#@['n&+@9e'BQ&pnOgL<gE<9:srs%LN>n&ATAb.`q/Q&3)>t%G_N5&N3'q%,BmD-ToC&MQ/s60Et/6&Bkap%%AU0G]Uws$Q%-T&wQg_--d9[0H'*I-V(.W$"
"=Mm92X:Rs$W$s(<gBvV%)-[0>J;saeJS1W-T@Y_Hp2c-(jx#6'`;Mk'0dTW-$5)NrB64V.YQ^6&k-Rq$DlmHH9LhdM:$:6&Rg8'd;(Lw/cr3I)r+4.)v?3R%-,Xe)r%oh(-l;I.N*Ot$"
"<)b,MGMEn8hSn<Cf6gm&tuc2rl`Z3'U<bt$UiZX.RHgQ&]4r]M&I0wL7/.3'8:5>%qRt<64`_;$D*B6&G=@s$?F@<$fkK)NKQ5W-]d/I$4:L-MP9up%HbEp%RZGn&RHpQ&CXDT&Q3B6&"
"=7X/1I'06&H$96&617<$[JL@-9`DY$ehNT%>[j5&E'FK4JLes$WKuJ(9Cw8%H-bt$M?Y/(e:xfLAqfW$Fta9%I9,N'?Rws$`e.RNosCk't$:HMaSQn&s]&Z$)_Ip&kaw0#3(lgLc>Dm$"
"$On0#osR$9ExO#$?T&$M-RGgL&H/j-hn._6c2hQ&Emhb.8OjT`R#c8.@%Mv#*($$$FC7<$k,Te$aR<p%@_Np%MO.f$kKpm&*mm*MY^F9%&:;s%Y&,W-bW3L#T-he$pWpQ&mhX,Mw9#gL"
"r*&<$&>?W-oj<L#II;N9nv+r),I)W%5l5mReAUQ&O<T6&>q86&7sv&1OE^Q&`V[h(Dbap%PIZiL_Hm/(d)g*%jI3T%FC*T%H6pm&M6TQ&N<gm&>uAgL+;hm&HRRs$b3_S-fEVe0Z,DO'"
"M*'q%hLxfLJTGgL8ecgL)n'6&$p+RE?1Oh#7,oh(`>[d)V6'q%fhkgLS9<q-HCFk4ka(0(wk6mLf2U6&^cq@-NGq<.UgGR&TPl3+K<We-%Rn0#%;+,Mg:Mt-keO,McRGgL-q:HMot'q%"
"*b2'%[Sp6*qpCk'Jqap%vEjT`HKEs%Xo$A-pv'`&XoFv$Z/=s%^$2Z$pFvH.O?gm&pE3:&TK,n&UdGn&REpm&po$@'v5i0(SETQ&AV4C.G$96&8d*gLfF:6&I9,3'MKGN'Q69q%6_EN0"
"F_<T%4Y:v#xwOgLObhp7Nf7p&oinw0dAi^o(M$.4^jbT%HB=;.^8`k',RDs%J02iLhKQN'phFgL(%Vp.P?>j'Xv;q0Xl$A-:t[:.U^g6&^MBp&]xd=.I3^m&<04<-5MvX$p>0X:vJI-)"
"V'7*.leXgL+p):/K-^Q&ukFgL+)up%TW53'/X-L,dt&6&iUFgL,>Gd2EXws$PK,3'UQ>3'IQY3'4**I-U(.W$%#9;-$3c-((]wK>@C2T&j^n0#Ui+gLAT,d$cKch#)PF,M#UFT%O,,6'"
"dMr0(>F%q.Rg(k'88Is]A3o:.U<96&]<[8&W[(@'_l(3(i`@L(pLwx-4q_hLm_OI)wkrj(xR'f)N<jn8SLb2(iU1C]ndcN'%2d2rX-/W$7r4ce52[w'&cHQ'XEkt$x.gr-JB=0lp)M0("
"+t<m'?DK-7QET6&DOl<6>$(,)uf:;$A-#3'P$xW$C$KQ&#i5m8kZrS&wn,Z$&M>s-x?lgL/7C6&Mtj5&RJi^o2eGn&OHpQ&YHgQ&Ak/Q&H-TQ&JqE9%A+`;$p*1hL:wF9%H-B6&Ntjp%"
"Q7v6*_ZFT%O_39%^g_,);RET%ME9:%QWCg(C[&Q&HX[W$I'k9%i#0I$lbE9%H<#n&>U<T%`V7L(hg*1#oZgQ&X>D6jD+6q7gd.T&mZn0#4(cgLTYPgL+'2hL#a`e$b+.t-/7Zm8U99TT"
"fG?n&:=?gL/9qQ&*%Hv$,xUP/J<96&LWPN'+U`8&%MYS.G3#N'(,B;-1J,W-md<L#0iO,ME/Sn$*OT=:r87-)7jKW$_RRW$fW<*e$U*1#?XC-M[#1q%H`lw&2bDs%7l5mRgP$n&TT,R&"
"A-^Q&4amA1S^Gn&^MeH)RkWp%Xn[f$=Y,=(]:e8%=Iw8%o&g*%7<Jt%JOEp%MQYN'stXgLGEQN'?uAgL]J63'L_[s$&ier5`muj'aG.1(Q<K6&CU*T%MB53'WjP3'phFgL6i=(.jOxfL"
"&R$G*dgg6&^/L<.F*5j''kop.RQ53'VNvE7o=Hm'J@f34L&q<1tARH)0RLk+>R1hLi?f>-',TV-@RKh5pT#n&J<p2'icb8&)J,W-GlMq2h?TQ&-%5TBf#PT%^J[h(O-06&wEjT`5.lgL"
"^Pxs$[24W%r.wiNx+:-1QH^6&EFRs$dVVO'Fhr5'sqOgL5]ZN'Z&M0(&;I['ogPn&3hHh,r^,n&X<TQ&cX-T&3d^s$2uXgLj;HN'G>hj(XH^6&DsV6Nlqap%7l_;$XEB6&nKlBAn80Q'"
"kh<h>R2Uw0k3^m&Va#R&pqOgL:.F7/WaGn&.F(hLII#l$Gjf5'hZ3L#7=1hL.7Hj'kr1A0UaYN'UsLK(L0$90+_YgLW>qQ&qws^-it8e?rB#*5nML6&Sp1O'ca#n&M9p2'#VhT&Q6Km&"
"WW^6&N(QT&UjPn&R:ArLA=_Q&H6TQ&,x#xL_M>gL'(W0(Q-Ot$H$w]/S<TQ&@h/Q&/9t2(D$Tm&1$+6']))O']bIF%qvC0()I1hLCG,s-+UChLg18L(%26<-&,TV-)U$1,t/`0(nl[h("
"Lu+nawJr0(I)14+w)Zn&qkOgL#9PG-P_-A/h%=I)=Wj'OVrOI)+x,c*jgme63l5(+V-%bNZ_Q3'H@e8%vio6Er)M0(*/`$'vK-C&d:Ih,ndcN'(J<X(#`mM(n](K)DQk0lF?7=UX1iV&"
"RN<R8@-CG)#pUV$C0#3'Q'xW$D*TQ&fh9)NITj3&uvP3'R2QEn`dFt$V)ig(_,D0(STPN']m5n&DR*9%Jw&6&PBgQ&q'cgLGNDg(NLVY%J3K6&Ntjp%Bn8Q&CUET%SqWT%bs$H)p*L&4"
"W<Kq%M'oW$J?^Q&EeWT%P0TQ&]VKt:cU<T%I[*T%,7dm8SXK/)/Z9<-bqK4.$@ugLdHNn%7+PgLEU+t$s?0H4xgeq$HCvm8J9%AIgA?3'-D#s-$:(hL`H-m%m<96&Ndlj'c3Dv$jZ%<%"
"q'(hL+QHn&>c&gL[lD0(sqX,MYp'q%5Xc2rdG?n&:Xc2rfv'q%rWx(6(A8[+6sg5qLB940TN^6&F.rV$&(9&vg]m3'5mYg)Tts5&Xn[f$CFOO0=C*T%>R<T%sU=gLwTo8%MeRs$m_=gL"
";gcgL#2V6&Zd5n&SQ#R&Y2iK(I6T6&VArk'ZvPn&bj>n&Ye>-0DqaT%W&D0(Nak;.K-'q%7N4:&Gnj5&gUGc*h#6R&9_:hL9<d/()[*q&RQ53')[:hLO^H3'Y,D0(HRRW$XM#6'a82k'"
"A&_/)w;Ke$7RR,XIg'W.M'tT%meW^-j&Ke$87lgL8b*s7mfK3(LqNT%biNI)Aw37/K$06&t6ugLFXPgL&+uT%JkNT%6hIT&SNpm&c?65.4U(hLmBxjLM.sg(Yvc3')FugL22L6&ZaV'8"
")ark'U+H*RYD'X%RH^6&RK#n&jWn0#mnap%TBgQ&b))k'SZ5R&39]X%BCRs$W)Zn&O?gm&Z)D0(Cd4m'@J>p&[d/:&V57-)TK53'T^G3'.E(kbx`*e)`UHp&k-Rq$p&VK(N)Zl0X,`K("
"T0=t$[TpQ&V4%T.]5MO'CbxZ$jZYN'4Zgj(Q9TQ&+P,B?a4Yo$uH,3'Qa:K(iDZR&M$bT%glbkL8-Yt$_>`k'IM.Q-KYIm-PDoNO`Q3T&s%[w'ea<p&,pFt%Yv10(]v1k'/Q=_/nKK6&"
"fv3Wod5:U%llc2rniDk'%AY8&.$+6'aDi0(vQj3&.nn0#Uqv68(7&F.cwjp%oF)3(o.4.)@=`T.Z5rK(xWs3&FOu3+?[ChLB(UQ&l+3F.N^vw008be)u4=.)J(:[/)(?c*-ugF*Pleh#"
"6(ZC+D(m<-eDC[-jZn0#feIW$ccJU2u;rK(,2`$':pcM<]MxjLku`0(ST.JMu3DhLIRhU%QLTK/^vc3')_$eMQMI*NoWnN'q-Rt-/-x##8/FX&31Is$X8%h(DFw8%EOe8%<FxV%dhnW$"
"1`,p1Z,mN'VQgQ&Q-0Q&%IChL1Bn3'UgY3'[T,n&E'Tm&L?#n&t'cgL3=Ss$nic2rh/C6&AFn8%+:RY%UN96&V?+t$KLEp%S5ed)Jkns$NFIs$8L7q&La:K(HtN9%.XEnLuOdN'q0%t%"
"di[h(gaw0#>_UhLo?-n&wx8;-p-Rq$2#d2reMQ3'()9;-dEUpMFNYhN`5qm&l+B*[*mVBQjYd3'L38>--iSg%5,d2rqV6R&K9pQ&/eM<%F[*t$HhE9%+Bk;-,a?b)on:W%nY,Qq$0m%."
")1cgLETP8.I<gm&78?X-$N:Z[6%vW-X`MBoC3+q&[#;0(CbAm&IN$X_*'vN'nFB+*L0TQ&M3B6&lO;;;8ndZ$>Ow8%5qin8FJ2W%%>d2roum3'UaP3']8%L(R-saeqmuN'T95N'u5uK)"
"_8i0(fSVk'rOYB]GJ4$grmc3']g>n&CVGp&>i=(.mX+gL/*n(+j&6R&q>v3'mfc2rc=EY.b`nh()vAV-.I&N-du6A-OGq<.bJiO'TPl3+NEWe-'Xn0#wEn0#@>tgLVoOC.SN,n&B_Pa3"
"N?Kq%k/Z3'N99q%NKGN'Y^5n&GILD.PBpQ&xj*aNMl$A-k%v`/k%J1(Zv(k'm9<q&a)Dk'aD`k'PDnB4Z))4'i+ke)_sP3'_W>3'QN5n&x'lgL3w(hLP[hQ&RZ5R&_S[h(UEB6&@I`t-"
"meFgLkQ]h(QBT6&2?gOM<hQX.N3KQ&l88N/XWPN'w0cgLiZr].ku*i(kQnr7T=FQ'],vN'5Dk;0bP7h(Z8.1(F#8nNq@$6'WHXt$?E/T&uX@k=odGn&P%Wq2DZS5'3r:p&&COm/O-'q%"
"sL9f)+GPS.QW#R&eYFkLJ/8h(9A8'fKGA'f=UL-M-L(q%N-9Q&N396&Q<9q%UmC0(M=`6'QK(K(]#v3'sxc2rf>LU%i.O_$)bw0#w2Dk'YW#R&,he5'ogn0#)Kdh#$j*I)/BT/)xQj3&"
"IN<s%1vPp.p=te)M;l$000Fm'>>.W]@w7Y-_IdER3%cgLZ@+v--q$IM;j:p.xUB+*gNhL5;+ZC+3:Hc*(=,W/1UM`+3:Q(+dW-F%iqes$siZ.%:C(hLwW$F)lZ5n&--b2(5[h0,%rM/)"
"ncL,*l9a2(ug#]NSIK-7_,D0(Zvew%65;(=9o-W$Ogc3'S_n8%Ht<t$oBZ&O$8Ss$4#w5/aGDk'Zd5n&T9Km&aM@L(d8DO'Y&2O'epY3'I9#3'QZcN'w3lgLAhSs$W&;4'VHBq%M<T6&"
"U<TQ&U3F8'Hn/6&Y-'q%jA*E*At86&Vv>r%[2e)*m<Y'Aj$0Q&SKKQ&#FLhLU$GT%N0Ot$I0TQ&i)$r%@f-W-MTZ9M/]+gLg18L(`Xm5'sdn0#+K,T.[D[H)JBS>-O[:H-<lA,MnDQN'"
"%83j$7`)T.Z#2O'2t8kM>Yd3'10b2(wT,F@.j1Q/Sq3t$ZpYn&]$+T.JnN9%NK=v-,ULhLriSR.ZHBq%vJK)l_v0q%.*X2(5luo.dZ^6&kd<L#C$a*.xY1T.UD<E*.,B;-&N_*);X_hL"
"#e@20[sPn&K=7s$3&i;]uCak'k7Bb*]9KQ&w)7[B3&d2rpdos$@Rw8%RapU%Jv#p/TMNE*F0^Q&vc&V-/Y15/cYn-)$4lgLkh)k'V*49%*oR;5jG.h(o4X.)[d>n&JqWp%UmC0(dJi0("
"GARi.SQ>3'<->)3Gt<t$6+qF*uk>G*W$4t$(03'Of=3k'a`<**e/;k']8%h(_#Z3'WS6X.gc@l'J6+;.nJDO'Y:S,XG^b;.Q9Bq%joBp&+J,W-LrMq2odG3',Xma$/-vN'PK^q%nGDk'"
"RK^6&R^lj'MH+Z-Tm3[9kT>n&p;'2#s2iK(Q(-eQ-]5c*uTt(M1nii/eMiK(ePIh(BMHS'`PnH)ixW**nMVO'e2Hn&VZPN'YjYN'U1eO(YplN'Tvhg(Z5%h(bvYn&kGV3Xk3B6&Id$H)"
"E$([K&J@k=#HrK(Ilv92uEK6&TaY3'c^pQ&'C1hLr/;hL//jk'l$Uo--7l3+lE^6&aAik'#T(Q/hJik'_MMk'f%Q2(19Xm'ZQbt$_=)W-aX#qr'aI1(SKpQ&fqwQsmdYN'TEb'8s8IH)"
"=?rhLL+:q%hb=41`MIh(XJ@h(dG%1(iM9g-9SCkF_JO0Po3b9%RET6&x<1-M[]/h(cM`k'Rkes$hVR-)Q*X9%m$ugL2Phq%uN6*N;?+v-.U:hL(o(-MfrDk'_:x<?WVBj(#wn0#[?jn8"
"GJ)W%HW=Z-Lq^h5/GBF*THaR8#d,eQ]Esn8j?(4++^`O'VZG3'M6JQ'^;.h(mU/V/lCB+*-%-c*&Ftd*:tr%,3fXi(?G.*+>*&&,S89cN[tDk'vO+gL>$l_.jr*.)NRcdMaJG,Mndkp%"
"Ren<Cu;rK(8_h0,+FJK)vU^b*C9=0leZF0l_t=[^?g%l'eJ.h(gSk=&:V@%>;(Rs$Rv1O'&f+gL?pFt$=4/B-k`vN'<&oNOsLFE*bD%L(`D.L(PdGn&jJ`k'_a5n&kf7l'P$bp%N<0q%"
"WdYN'c7<Y.CnW9%ob=41O0B6&]&mn&H_*9%+G:*5Y5)S&bc75'NqRs$L9gm&bdGR&UHFt$Vx`60K'0q%ZZcN'bcKt:lqjp%PtNp%XJwd)/7PgL0qDk'2gEtCwue2r2qugL?@8L(]vc3'"
"2N,g)l#ET@cRxT&Xjc3']vl3'opNL#EK(kb<bHENdf2O'29'N(V,qdm4pmh#ud,n&WA.h(o6n6%ewW9%rm<L#4HKe$&>-W-k^<L#33=m8t,ae-;vlG*:-aB%g?pQ&hlEB.whO.)-t*Q'"
"&Q:Z[6%vW-]fMBoGQtQ'dJ@-)I',N'ALmTi*Eik'l@^'+`Egm&v*cgLb?><Q*%On/@_NT%SA<E*7k&K1W`sa*IB,n&]A`k'VBvE7wc3I)R-saekiM0(X3OT%S6Tm&kM7h(qC'J)_sc3'"
"M't5&W#`K(fSr0(Mc<//TQ>3')lSq)v0b9%<FHc*#(dc*Y*=t$(03'OV`2k'6sl,*h;V0(qXDj(Seb05M)q<1/5K'+b;V0(n1xh(CjFm'mg3L#wEn0#O8Pm's'c,MF0U6&adp6ES^d2r"
"pMC6&k7B+*Z^>3'S?^Q&7?Ne-psh,)Yjlj'9Jv9.^&dn&hpWp&?tChL7KWk'_2`K(gSrK(il3I)-G[w';(tG2$;Oe)joIl'UKT6&]#dn&e5kf-r^n0#f9TQ&C,(7'lV7h(]/24'UN^6&"
"e;.kXEtUhL+NZN'AuO?g$T7h(rJOG1TN53'`fE**a&D0(cURBM9Z81(t]ik'S<K6&-.>R*%Qi0(]rDq/l]71(aY`k'i#%uLAs?]-P0$90fSZ3'.2^V-Rim921j^W-f7Qa5lid3'acwh("
"tBxZT3rFgL8.3O'[Ttt$hfRL(XoC&MF5sk'V7ArLwQZN'v9hdM%,%R&]87h(eYrk'Snes$iVR-)S0b9%Na[$9l<kp%%%n;-0Y15/l`Rh((FCHM*w(hL`YFI)uN4Q/v_gF*%Pte)Hm#Q/"
"A[ET%UZG3':^(Q/guEI),rgF*_c(N(=NkdXENk7/mGDk'w3ugL=0DG?aA;H*/4?c*&%TV/;*JA,A$s%,&I'E+T2+/M,iPTNhf?r%93/ZM)<8L(RW8o8P^M#ntLx-)VT.JMfoXI)>BI.M"
"RIfh(1.Rbe9+/P(**gn/Ed4$#LLQ;'6Cn8%bi3e)t?3R%vvM,MT7Ss$.gv5/gcr0(a#Z3'YHg2'ir*i(iS.1(^>r0(g&vN'KE>N'Tj1k'$=ugLA.Rq$=MP9&RW>n&[T,n&48;Q/^60q%"
"pVa&+0pGp.djPR&%Gd2rc&c9%Vg>7&/Z9<-p-Rq$4]B+*ns*1#E4g2roC]h(18pr--[:hLdi;k'pg*1#@__dMQ>Ss$=XfBJ/9Ke$<E]p&]#v3'-$O2(wkMs-e62OB9vq;]KWWn8]-$0)"
"STc/(.J,W-gj<L#cwW9%jSg;-d)SjLbC]-)%1l,Mw@8[+HR@m8W:8p&8;6=-<l5mRo7a0(dAVO'Jg:k'[HR^2eMi0($4)D+SQG3'V^>n&;NFn%_u(n8UU4:&UkWT%CbWp%V-x8%sqOgL"
"qkDk'm7-6'iGMk'R(tJ/h(b**s9:hL^->i(gVik'tV`k's?3R%(jwH)+I:-MlB-n&ovj-$wTcN'.-j`+&o:w,p>v3'Q/ik'(q4Q/b;rK(fuaE*v$sN(bMI-)c5)O'9)q<1+AgB+8_Lk+"
"H*`hL4k<s7u%Ne-qv10(h[E^-4*Ee-?X:hL@jv3'6:RsA39MhLw+jg(o@xL(]&M0(E]J_1eAMk'Y).H)[mlj'bIO@p.cFgLBgM0(%Av7'%v.1(gP7L(bD.h(jc7h(n1t**.A@['5WwH)"
"n=Bb*s`%l'kGm3'Yglj'_))k'm]*hYt,;k'.LBetnu24'mJV3X35Dm/j,Z3'[#;k'S^=?-,A'wLQ)e3'Vs:0(k]MO'`J7h(;VjfL8S81(wfrk'U?K6&9l<g1h52O'_)2O'po[L(.6@eM"
"95ak'k+O.)CbxZ$tD7h(5s1d*^A:@-G5ZpLoTQn&3l%Q/WHT6&+=v(+Z0Is%)'Vt/]Wtt$l%+i(YoC&MHA81(7$9q`oaYN'ttkgLsQ*k'Zpuj'Z/)4'mVr0(Xj$H)gMrk'Lbw8%V&o?9"
"4,H9.n.OI)+Vep.m1XI)FQa*.3HT/)lB+g$58vp.UQpQ&mm*1#5l5(+]mS49,uP,*/pm*&MSQ,*qM9g-5xmHHs))O'0%?XMMi9b*ZZ;m$&XTE+DKo],;4LJ)>GIa+I^=#-haQX1<O:hL"
"J&9o8Y'?g)4Jd2rcs96&TfF,MsdvN'J-Nn8Z<)-*).m_+C9=0lf^F0l_t=[^#(C+*iPVO''OY=?ImV]+A/rr$Msqg(cj0:%Qj1k'Dns5&[=k*%*P4gL*@LB+kin-)giw-)V2;O'uo@1("
":JuNFB;=M(U606&RNT6&_2M0([)Mk'Dta9%#en0#h>qm&`Ywd)S<9q%RvCk'Xuf^+i[UW-Zjgu$I6B6&koed)bin1(EKg)6P9T6&ap1k'UHtp%P-96&U0t5&_o&b*qPrg(7#M)+hZLtL"
"X@Ss$9*%.MjL=e)/,TV-JdvTM)_n0#E'IENlwX8Mv#FR%B^c#[lQ3r$$QI-)7BE'O@1&1(4K^/)&_,F@-v$N0Z5vN'^`nH)ue4gLaD?N'W/.H)-,B;-Dc&gLe[Fe)'4l,MABd1%51ugL"
"i4/1(AD@a+NgKE<.3Z;%HZsS&qXrZg9;.a+4>#s-Q4#jBdvh$'Aw-iL#e@20gJMO'RR[8%kP2^Q%l]L(unl$,fW53'$4lgLGKP<Q*%On/Dqsp%YfAB+8k&K1^.#_+LQP3'dfRL(ZHvE7"
"(80+*;g0n'gM@h(bQtp%+c@;5w(Fe)%o#,*f8;O'Q9BQ&_DR-)nxeh(9)&b-q;g*%%C0U%jbq8.;1Uf).Fq+*ORRs$5G(L0eP7h(uOO.)_aV'8-,Fe)(@1-MA;&1(v`71(JD-g)3H9j("
"u`mI%RP:N([>.-)rOQQ'dY@h(R%Nq2hoRsA&iA1(^57-)qI=i(a8rK(F]J_1kY%1(_;Rd)a2VK(nK;rr$awH)V1-eQ7Ir%,YQ4S2kY7L(oOpB+lrRL(wFbe).k:m4nxn-))x9J)#fc$,"
"b5Mk'bcwH)`;Mk';.<4(]d5n&bDV0(p.S1(icE**0;LU&HLRs$g%8l'_,D0(EsxB/%gnH)*@j3(W^>n&sUKf)a>`k'/+@m'OB=;.)(?G*q>t5'%@1hLvLEO'nM`k'c;Vk'v14i(i.SL("
"RSL/)V`:N(f#1u$`FDs-,[LhLx91J)[pc3'fqwQs*:G4i#D<O'h.kI)%N)O'^/ig(,RChLBZ1u$sItI)kf.1(;G8'fKc:kFx'_<U1&[w'5.lgL(o`K(L4c[2ql@L(^)[)*niI1(Ohw8%"
"?34V.^Q96&;%T,MqO]h(v:OI)Xul)%(/k**KEtl;+UQC+2:Hc*%@3R%fHGN'(X@p&Nj0s./RM`+<M`_&%ae-)F&-'ZENk7/s]i0('F1hL_Ox>-6j_d%Bbr@,UJ^(Ob0s%,=,TV-]$0bI"
"CrEB,S5:Z-aS0,N14DhLi%n7&33Pg.vRB+*29qV%^h/Q&T.=j.m4ke)K[cHMkLqF*$s;8&a$1S-iLnYN$Q#.)4gUL1T5>$#ZEsW'7L3T%k@Bb*Okjp%P$Xp%o.ImM$/+i%->t.)k`71("
"ajB:%l@T'+u=k**gV[-)u%AL(P''q%[muj'a;i0(_A=<%Zcj&+'vC_&vihQ&dG`O'OtNT%SHt9%df.5'mCFm'U6x8%SWPN'l/)o&^gbt$[Di0(SH#R&d)V0(flKt:q6TQ&W<9Q&`u/b*"
"rY7-)8,iD+_#JjL3Mx8%XKS3kC$..M*88L(sm*1#Y*,_J4i,<%Q)i0(AmtM([EnE.b8V0(BU@m8R[gJ)xWpqi7xZs-5w6IMYA_5%)9vN'ar<e)#+uGM`Mmj'i-Rq$Y)#C/(-BN(h&HR&"
",R.$R[#2]$4&$X-)#(xn(L>gL)FdjBZoc2ril;O'8>HX-*2h5qI'=7/hPVO'%YofLRdl,M-$Y**nx*.)x5q6&]&)O'%+,V%1Yw8%Iqjp%^dKQ&FhNT%`>QV%RZ#R&jYr0(iin-)o74i("
"hi*I)hfeh(d&%-)d.,_+tIB+*'fkI)avGn&Vd:0(ccRL(p`.1(cmB5([,Dk'VH9U%nt?T.@I-,*2X?G*Sew8%u9dqr'Nik'xqGc*I-bn/loeL(h,m3'RP6X.wUti(M6+;.'5fL($]eDc"
"G^b;.^jGR&m4?m'IH+Z-S(Nq2#H`0(/Xma$Dg7L([vYR&-;fh(]#Zn&[5%h(kPr0(`PI1(`);O'^Cr;-/VPS.gP`O'ooYD/+=hf)0U1hLVVBj(oL^'+lreh(%Y0+*iDVk'q4=I)+(CJ)"
"%o(@,e>Vk'L:8R3$K%L(1R:hLPxmN'f5Mk'x7Oe)/qqhLJ*Rn&K[w8%k7]1(b;V0(F(P?g,vwH)-L(hLVfcgLW%U'+iJ7h(D):3(oiRL(AKRiLGov3'(I:hLk1ak'pP`k'3N93(x=O.)"
"19%.MW?VhLW/ak'F1Lp7'2@k=#tP6Wu_v2(hon-)6pm-$@X%Q'3iUP/_g>n&7w@&,+;$V&iP7h(n=0+*hRp'+q4bI)+F(hL7,C+*e:8R0XWBU%^#m3'*XL-MqYgK/w(fh(wU4gLYQrhL"
"vWFT%^<Z1/ad^Q&q)=1#1A'+*u4=.)OD,d$-A9F*D8[#8):C+*8XD`+dh+O4/h%t%W#vN'%C_dM[@_F*;_D`+3SPS.,7Hc*FlJcM9OQ(+j,0Q'9uQ-HRppG*n1n=.$4)D+]e?)N[Xv?,"
"R8Lv-cV0,Nd*&],cV=jLQopcNdZ+.)(c=gLYqZX.xbgF*RIGHM9M+9%>'@,ME-;hL#<8L(9qLhL4t(=/.%$G*4L6EN5RnYNwPGI)9,@.2XDG$#aj]t'9U<T%lI^'+Okjp%'W$F)+F6$,"
"q1Xe)l%FI)]D`k'%;4i(k;Dk'xLXi(ZKTQ&Va#R&b>iK(aD7L(H00U%'g%30^d>3'i=T'+YT^6&U2i0(_=P?,o*[T._)?;%L?K6&p.4**ex<M(tT8q`mH#R&e)V0(goKt:q6TQ&Y?9Q&"
"b+K'+uc@-)<+NtCqd^q%1T5g)hqK4.6$VhLh:Sh(YQ8m'4sC)+.T0<-Srbl8T:Om'0n-IMei)4'4Q,g)F(%N(2A^V-#-OL#-/Oe)w-hDNk:f)*ZsLg(hMMk'.^g8.[ARd)Rf?g))TKe$"
"LA:m8Ku[5'-5^V-mj3L#HHN'O$bm(+Y[Is-xk=gL_3wm8Z?M)+82^V-&,d2r5bm(+IagN(q4tE*N?l/(ZFie$FtLhL6s+#-[v:k'_,2O'(5QQq^n6n8]ZR&,u1[w'wKPN'_?>N'euj**"
"j`Rh(mu<e)HuAgLsNf-)dW'q%(8ZA3(D0F*,:mc*kJ`k'TE^m&&:(hL*fOI)*3.[B-*t-$'OBU%p*[p.D[QG*6ndc*Uq39%7G(L0ic[-)%l'J)adV'83J0F*Y<b9%`4%0)&]be)Fhr=-"
">+%Q/gGr0(Tt39%t3FH*d>rg(]prB89:lgLr[=.)^>q--MY7g1lDVk'n[P?,uMMO')@lgLADi-M'*1U%p1Lp&i-2dG167ENwb8L(jD`k'cR1[,);Xe)nueh(*sUP($>te)xX'J)so[h("
"o:Fi(1qRA,v(]h(FrY<-r6n6%'#Oe)4lhl/bc<e)j+tE*3K*R1j]i0(_scN'ELw8%4l>']PXQq7TI9j(#%kB-(.XZ1aD%1(sG;O'o%+i(,9IwB2>X.).G4i(%&d2rs@jk's`.1(0[LhL"
"5%Y.)o@xh(S]hJ)wwr/)lG6r%`FDs-0eUhL<pVK<QeuQswGrK(^joM(QIim'*tnX-(.Rq$gIiN(i;?r%w[Bf)S%b//mCg'+>f:kFVDp5'%u=gLq`)O'_ZKl(f]%l'w(fh(dG<E*s.4i("
"S$FT%A<Or.bd^Q&r,=1#1JBF*x=F.)c#l8.wepF*m6KH4xtk**6eM`+cvJo8_TDW%NZlj'4idMjrC8L(7w@A,ar_[01],(+KjNFN;BOr.%,]h(U+-eQ@A9qV[PVa+C<JA,+%TV/Q>$<."
"Y;Lv--3)$-]]-<.ix#dNdZ+.)A:m29^m,K)Vd8o8K`Ms%fZw0#dv4N(OT/o8`d@E+7qIx,L^k0l_t=[^*_vC+r%S1(DVYiCN2SY,M;78%S>eH)j)C:%V/rK(F*Tm&(&g;%k6fT%1VKJ)"
"pu[L(f/-r%q[>_+$P9F*mxNe)v+JL(T9K6&_#;0(gS@L(^;4<%[fj&+?BGO-rZ/O&#P8L(aLuZ,p3wp.b2H;%OQpQ&s:OE*g+FM(T;7L(^gYj'b;)k'a2)S&=uO?g$_9:%Up1k'(&Wo&"
"3;pr-;[:hL$RGgLr*C+*58pr-8*`hLj@Sh(vp*1#D_ugL%-(:%-30j(SN4j(>0*=(xD`k'ws<L#@eqdMpb=.)Y?jqi7xZs-NB&o8cd`H*],r,)jVi0()Vuo.W&;0(9B*I-0Yg'+%TYQs"
"-24i(rg<L#k?)gLVo`K(9JmX$;ec2rncm3'>Ua?oU8To8ni1i45xlW-fxMBoJp,k(t@9b*PH1K((g?i$;2+.)5<O>-^&Dk'a/2O'v_;;;=<a<%I096&`P;8&n;,F%2Y1[,RsCk'k4F.)"
"_NvE7HY#c*kY7L(nl*I)hgB6&_aYj'+G0F*/L;)+5eLhL,TGgLBnOe)wIXI)E-/k9j9Om'xt=gLI4[W.4GS1(>u'J)Z8*E*=UJ_3mu*I))(Lf)nrn-)tO9F*]H'U%`77K)(i'+*UF]&,"
"?w_-MM-;hLTQ49%gnYs8h3#</gc[L(9wUhLFA81(<CRsAp/*N2a82o&/J4.)b;24'aPeH)X)$T/fr<i(fJ.1(u[JU%Sp[-)TQcj'5]F.)u7XI)o(X**wLk**'%m_+w4xh(sOp'+(=V[,"
".POi(#//1(eD.h(k`@h(m(Xe)kcRh(eusE*nF^'+vuR1(S8W6N*-2k'ELw8%#jr0(hYRh(XfRQ-G'pG2kc[h(]vl3'#o#,*hY71(DoP52t++i(3[VD+oJMO'b8Vk']n+++ole-)qOg'+"
"n8$r%wf.1(R1r*7*K6r%_=)W-pK%ktL6`hLY$;-MYg87.1h$IMpI/1(qb,G*L';hLg1SH)1bUhLE&@r%&up+*s4xh(Kl`)+>?%iLH0ak'B*Wn8ba2l(fJ.h(hi7l'#84.)fPWa*QN8o8"
"$Jv927GD6/$fgF*SHjn8Vt,0)*.6c*)*=1#>O`@,h8go8Wb'3(_&m3']q[f$Bh7],V8k+NA]Oe)<Sd2r@w7Y-;Pd2r43DhLiw/o8apn&,GNo],-.pr/VYds.^Mq;.=oLP/]u;9/^Gh;."
"Ak<j(/#9;-+Rj3&5o5(+5^J?najkp%8^N9'258b-=5<*e,au5/4Cd(+6L6EN5RnYN(ple)@PE+3c`P$#oc(;(:_Wp%snP_+T'96&V9'6&<9L[K*F)W%-rU5/#fte)8nChL:qEx%vw(@,"
"*o#(+r:'+*)P4.)WEgQ&c5`K(kfeh(_vpq%eC>?,o%+.)]>.h(n`i0(Q3KQ&[K^m&ofDk'qP_q%a6#3'mtq<-_gBq%e-Xp%?6K0)c1TB+[p,7&8aWn1X8@-)W<gQ&$Or%,;t?IMwEUJ)"
"SS:j(&5pr-CKI.Mq-q'+35pr-Iwmq7:D.a+NBS>-T[:H-AlA,M#Af-)hNXg$Bn$eMswkI)[BjqiH6IeMrnO.)e'xl)4<:H/iIKb*'+PgLc`DK(7=-68LP@a+6nChLl<$(+/I(-MB96l$"
"=L1-MnX+i(EiW#-Lhd68f_`s%c524'JBKW-59=L#n?=X$A[Wt-Wtj7Su$ce)u7Fi(USw-)*LT,2'S9+*9LCj(aM.L(fS@h(n#5^O`3lT%K396&c``S&PS[F3itq<-U/i0(pLtI)r4OI)"
"$ucC+R-sae4D'f)nAed)neUw,n>Q*+3I-G*jD;O'?ltZg6i#(+9kChL4=ak'eMr0(%(GgLMRN9/;c+M(E:Uf)`Vs&+2D(L0q1Oe).=q+*fmV'89o#(+`Q0U%bIn,*/.UF*WX=^,C-i-M"
"2amI%Tf-K)(I(-MS&<O'%]^F*d]-x-GeZq7*F=++g2m3'4<'Z-nV%L(d/Dk'?NNe-IuQ-H)geH)2?8?PlI]h(7eUhL`r7X-H'VhLffXI)qp4k(+`gF*-=HG*89R/6%lKJ)76F>-(MOI)"
"'sn-)h`eh(qr*.)r=O.)7gTn'l%f1(&7;`+pcr0(8OF(0b)2O'Zro#,XH+Z-AZAb.4f^b*c;'L50<2O'h`RL(&j%1(u@kI):-%iLCOLf)7fb.)iJik'o*oO($cTf)oiRL(%iTf)$J5?,"
"jw,RAjm5K)s]Hr%`FDs-6'rhL(hHG*gG`k'^#-B?Q'Tv$3Wr0(2K'V.#dRh(l.te)NiQt1'Z@H)m`OkLQ>`-MW`.iLgW?X.a&67&$WIh%%p*.)hMrk'$o>_++i,(+iU,G*tu.1(S-96&"
"mi[h(cQ,n&Mbbh#7o5(+*c9f)e5Lp.*=)D+ZiPN).hZ(+HK+#-jq+O41$]T&`Gi0(*LUHMX@$(+FTx],nPh<.9q``+;)V)+O$m3+@(1/)iVIh(MEO/)V>2a+xhf700we],RstY-vZUL5"
"`c;p/j.*t.0ia>.fLJ60PkP8/d1.g);V3^,nCYB]hUn,*7']x,r&$IQk$.HDE+u3+B-t/)'lBf);3_t:Gni%,#?-n&kmK)+1.RbeF6Lj))ip'+LNGY'dXN>HDFET%d(F.)iNBQ&YdTU%"
"tE-*NKQ5W-ep/I$Ox>,*xFX.)lA?r%x$)@,.+HC+uFBF**V=.)YKpQ&u6n6%^AXs%u*PgLc6H0)`pc3't==M(Y<'q%]mTU%pOX2($1$k(_TFT%[&D0(#gIl'h;UU%8l#91[aPn&oVe-)"
"`vgQ&Oc8(1`T^m&lbu?,+;F**=YE#-[5hs.VMWa*.3x0#4u,G*0H^/)/>d2rS>^o8cQ<=_(seh(3D$N(Vokl8Rn5K)xnpb*Y]u3+NQd2rR&9o8ZtKN(cS[L(15d2rjS-7&('=L#<aKe$"
"J0i-Mh%E4'oZi2if-Rq$os%dM2Bs`+l].1((FMs%',d2r4Bfx,1K^/).T:Z[7.;t-Z't7Sv'ce)#Jk.)VY*.)d^Ib1$Yte)Asg;.dA.L(tm3L#1f;;;>E&X%MB^Q&eiiS&p>,F%>(7X-"
"V/i0(qR'J)r4OI)(12`+/6rt/v:t**n)hQ&#E+g04u>C+8t7a+:t_hLlO-3'o7BF*)oK+*d^So5iVIh(hY[-)Xmpq%fJUv-BsgZ-os^q%8ga'Om0u**%:`w,*M'+*)V#b[n'c05O/q<1"
"?k3:.<*i-MNd7iLv_fL(noeh(EMfo72=Db7<FugLU=U+*3_L-M>Xma$&Lfk(#@%X-*v@1(hADk'0t-.M1Z$7&sPD4'<;x:h)JPo.t7+M(5QVA.<9W)+=q+<-$Gke))Lrw,&f9f)3FdC+"
"v.4.)+(qb*<$3d*4bwt-g1/R0rb5C+n%oh(9tLhLg+&L(p^X<UF(CJ)#V>_+mrw-)(F(hL1Vs%,ounh(vLtI)'Jb.)>&=;0jA;O'jowh(:`^E[;DkI)wItI)+up+*:u0J)niAr0u[fL("
"'2xh(6j50)2+$,*>jR.MVQrhL^]xh(NC_p71V^/)%-4L#?uk.)/_L-MX^sq-#Jk8Twexh(x-v(+1_xZT4m<**r+=.)qVZr%.Cdc*>?rhLaO.Q-WU?]/hJVk'g>ig(6Nt2(m]rk'2^)c+"
"+4q+*gZ'q%/(Z_+f#67&xKLhLoIao&+'n*Nw9C+*27Q(+x[Za5wwte)c#Ko8_`.*+EW4#-m;go8uVxB/:C(hLe](p.Eg'Z-H``_&x_&B,T,X+N%qD`+]Ek7/1VOI)0bLhLZ5PG-^qdx/"
"C#L;.RmO#-*uSV/d@/q/l139/%RKa+kexQ0QtlS/1Sr,*np0q%:4<T.2UM`+0[/O&:U-*N0`OI)1h=d*6Ad2r4B&&,6cSp&us#]NSOgH7(]k.)_K>>HU`08.dMRS%[lsE*uP$V%_`3I)"
"ME,3'[=k*%.cFgLB.)W'3fK+*&V^b*nrs**3b;`+'PF.)1e@x,oGvn&bYRL(hi@1(oinH)[m_g(vbke)lGV0(v-;@,d&Qn&buNI)k6e9.(*,k0l];W%Vvc3'*%$_+tq5g)kEP'A'9MK("
"lfrK(60IiL`pQ3'e;?r%_D.L(9ffP'=sKs-H37IM8okp%I^[.MuKd_+6>58.v4+i(<P*^,OBS>-s%Tn$F*%.M(cXe)'9FL#E$.eMv<_+*Xvs#&LW<+Nt*(J)k5d^:Y)xa+gVw)*u1fh("
",SYS.g%''+1,B;-v;Z;?<mP,*,5^V-vs<L#@X:-M$qa3M6TSA,oc71(+[%9&jP`O'qXrZg=`E#-<>#s-'fxfL4YgV-m1NBoM2mK)*xP_+Ys?H)Df=$g@%6G*9B'V.%HiK(1[:hLax_[%"
"+.'9.MEpQ&hhqW-TT,n&W)iK(lmLK(rbPC+$S9+*&cp'+)DXI)Vt30))DJ5'X;qdmJ((J)=9bU./`9+*e&?7&kgkg)/4Qc*Bg_Kc(Z.L(2[:hL9(5I)TL<t.Kmck06S4i(fITf)3TYK)"
"v14i(SW.iL0o+i(.oTf)(xFgLJ+uI)PB.iLKd+^,MNNe-?7U,MRKihLs4#</sF'J)C<rhLKf4i(BLRsA5qUf)r:K'+5tmG*t:'+*dAVk'W^b;.pLTf)e1;j(1V$*2fxNI)#5F.)mNaq."
"O9ihLJ/L+*cTcp.07-(+5kRx,/o9f)-O.x,60O:.>@6,*0c+i(pu<e)x@Oe)aAQEn2Dke)rbP_+SRFB,-SXi(;-MhLlH&L(Nqjp%1M4.)6kUhL.p#-.>3`hL`.#i(j%X**2:CJ)xh#(+"
"&o>C+_$YB,CB/&,t.Fe):YY13(:M[,%M'+*(:D@,xV?r%L9ihL]^.iLAlF.)RI_p72`#K))34L#B.1J)1bL-M3pSR.rxwh(;5;-*vn1[,H$.K)_Wa5'qlbkLF5er%3[;)+QM.Q-Uce2."
"H?%.MC]+I)hVeh(3_L-M=nA1(*+Q_+37v_+ntu(+<q3t_m-96&u7OI)hdP3'<xhl/2UM`+0+-c*3MPS.3h%&,52Su%Rm0Z-O^4#-.WBW-8NJb.?h-eMgB8A,W2Cv-%?dh#HEF>-:;EJ%"
"MmTV.SF+^,%WT,.5qUhLY>uc-n',44BbeX-]Y-<.dMXJM]%rP/oq=n0veJ604mws.%@Pn0)cddNlAhF*3uOgLYqZX.8w@A,YRcdMAlkp%4X:4+?Qe<C6xPC+<V[w'7Wv#-L)qr.Pdk0l"
"](Bbe@n9J*17d_+cY7<(vDEjLHUjp%kOBf)==GgLJc-r%wN6*NKQ5W-gs/I$.-f9.07dC+*7vC+j=O.)<IHG*+Jke)8b)H*h)dN'eMDO't=k**N:BY%$w$-)$x9+*oSrK(x0;@,g/Zn&"
"d.te)nHEq.-ElK1quis%Wvc3'/:H$,x*Hg)#X_hLh%jg(pu7h(9<[iLasQ3'hDHr%bSRh(=x4m'DSj+Mt1^Z.YiS^+mh0o-Eb>R*3igF*uq)W-q#S$9N-Ih,<e-.MVLihL3CVt-V2:I;"
"(e_`-u_oL(0)$GEgBM)+6D#s-GZwIMIC*7%9A+.)s-v$,,1PgLg(8-)<F-68Mc<#-`efA,45^V-xm<L#BhU-Mj7&l'v*0=:ICp;.cJ6F<Us79&m]%l'lv<1#^2o.Mn[=.)9Gdt-cB98S"
"'X$c*-ugf)].9+*tsn0#D=dc*>^g7/*Z7h(4eChLo[NR8m@R['m*kp%THgQ&8ncgLulhQ&sFJT&aM`k'-uK+*++H(+Gm[iL._QC+(%?c*xx8'+.ib<.8n@A,B6ND+0oYB](gW**xqg+*"
"2l9f)hDvi)o1OI)f/H7&/QCH2e/>B,RGc#-b9kp%+Idqr6Pb.)=Qt>-O-bn/+(-,*')]L(TP6X.;'jd*R$JY-kxq<1X:S,XblN?%?%6(+wU#C+0Im(+ina)+L-wq7J(vE7FV5_+<Ba)+"
"#MKF*gJ`k'.uT+*tOG?,x@tE*BS..%uA6T%aa3e))fBF*]v$-)Ne?G*2:d(++(Z_+6Um_+9t[x,6=-G*/U7x,:<X:.E[dG*6(Y.)s+X**(Yt**).v_+%V9+*v$;@,*L%x,3oBJ)'`ke)"
"o`@h(Oqjp%6`XI)9t_hL`H.,*01?G*%YK+*jV.1(99xA,wItI),c9f)ZgTS/Js9?-*8oL(0pGp.0Fvc*($4L#DU;)+27.9.C$VhL#.UW.6t@&,FbxZ$4xPC+pXw?9CkU-MX^sq-arE.F"
"*+5.)CSDP00>be)xh>c*TrQt11,=E*4.:J)]E0h).CZG*6%_F*ncc%0mVIH)poIL(c9<V4'.M@,6n;)+mj0q%:Xi[,l5H7&&h-.M<avN'#9=1#:lm;-j#i]$?X%],V&fiLHu_P/L2q;."
"W,(Z-<&OgL9>81(nb&v.T]ms.mll$0;>rD+TskdX3Nxx,Yk'?-.AF.)N`W-H^gjgODSq;.h%*9/*kUL5r$lj1,FYn0;=,W/)k-12)15n04on)+x;_6&ccJU2E']x,Jc`$'@Jg)NJKihL"
"+#ue)LT.iL't(=/NaF#-ChQEN5RnYN(GwC+[Bnu62im$#7e9:)?$06&-neX-.T0<-$3c-(@gj)+/+q+*wo)8&/nwt-=n%],*%ZC+7:U+*cpc3'nfnH)wF'f)iDQ7&mnC<-V<to'n4bI)"
"&#oh(^P*e)b/i0(&EDO'BO<6/9kWN0#lOQ'+4[T.$iOgL/<nR&s:+m'vh(w,+b_hL<^?(+Y;rK(D#(Z--Q9W-4`i3=/&[&,6?x0#=XMD+4jc,*@97IMxE:j(vt.g)=H1H48W@IMxw0+*"
"+?FL#I6@eM'eQc*+S'f)</iD+7D#s-HQIiLsZB`$F1XB,lraa*&POI),J>8.mI,$,YOS&,6mKe$QN..MmIAl'5Xc2ro=/l'v*0=:KO,<.-P0+*4Yuo.i7k**urc2r9)L;.4gY,*,*^&Z"
"2ucs-eKB8S#R?(+/(qf)i?3R%F@dc*?g,S/,dR-)s:be)xjC;;D0d2r:a+U.YjP3']DR-)r,.-)x';%,?-ihL_Ov$,*%JT%:%q+*634Y-k='J),3f&,6O6,*E@q+*v.Oe)dc7l'4e%],"
"E9ihLJN,i(r14.)iJrg(LUTO1NRLJ)[6E)+j7YZ,,OH,MoQ6(+3-XU.I(Xt(<I`[,h3c05ht8E+@*N%,Khr=-Dx_5/&M'f)07PgLZlN?%e+n92A_:hLYhv(+$=o--LQ%gLn791(E;29/"
"%8=I)qf[h(+Im(+pAZR&))Al'D&5[PqHC+**MtI)ssfn/Xu:kF83n(+,(Z_+8b;%,?Bbu-9F6G*4t3u->TBr.HemG*94uI)w='F*+lBF*-F`@,E-Y`3$7`[,+U@=-6xKJ)*ite)rre-)"
"3n9`09ibI)%VB+*La[iL%U?G*wKb-*k]71(;?4^,%]Bf)@Zv202UD%,D#-S/<7-c*tCt**%l,(+4RZ(+'igb*=<o=-1t3^,.1?G*^2W6NE9xA,GbxZ$6.m_+pXw?9Et_-MWTWU-qjq9M"
"c4uI)/weA,+)T3O=DK'+(f^+*'/E8&=9S&,3F6G*TP.Q-1JX_$0V^F*OOf34GPB+*u.4i(3UV[,<[i@,vN7&,-cO.)Z?^Q&35pr-WZ'e;>xlG*I0Np$gsJo8YBVd*BKo],m#fJM1NAA,"
"`cZs./Hdc,l]Q3'r.FI);q$1,G3+#-eiZs.sv,eQ%2Dm9tA14+N$wG*w@'+*hZh-H@Y@Q/g@&q/dc?W.3&tp/,hUk12xdHN-VfQ0mO]w'=Ok6hpbVe.2r=Q'<3/ZMVn)D+_MFjLlipG."
"U#Dk'P]mG*TH4v-O^7iL't(=/Qsk>-DhQEN5RnYN3o<`+`ZWV75rm$#AH?V)@-KQ&33=u-cZP3'dgpm&ABL[K,X`8&gb%T%E-]a+5CHG*&5jo&2w*u-A*Jx,0FM%,>X?c*dpc3'sx<e)"
"'`T+*wu>W6W#dR&7(6c*mM%1(.+_J)cdpQ&hD?r%*I?0)66sh)j#lp%h`nH)5Sti(wxHr%tngF*jDrk'*GKF*s4Lt:'*;k'n5mj'%e<:.?7?_+C:>s.ZaOZ-tWn0#IBxx,5muG*63o0#"
"94Q(+*A-W-[SG3);a@.MXX%iLRP_[-slsq0fnqp$>=;@,31qF*8A^V-1?OL#A_`@,MC^^$+OV8&4,>9&/+qf)tjEL#v2dR&ZK=v-Q#+jLroon.6IQ(+XeDG;=)2d*.5^V-6WtL#M'wc*"
"#rLp$&gwh(emlj'E:>s.<,B;-0N_*)S&FjL$n[M00._f)j<k5&:hC-MK)8x,=lhl/G`8l'u=XI)J&Sk8m@R['p<96&XZ5n&='mgL$/7n&$i+q&gi71(5C?c*3O;`+9$N)+0]#b[(Rm_+"
"(ad3'sYRH)It@x,O8qZ-0lBf)h;;0(+7M%,<tV`+P2il-6^EtC/MBF*6Xsf11+^60Z@]U/+a)o&C>9(O&9w_+8B'r.?R2`+2[.x,47qF*D5q<1O&mO0JQ7.M?qvc*Y7<H*sY2o&,Yvu7"
"07Db76rc$,8n``+k*Ba+Q9*r7<sV&-xu71(KY%q/+Mbe)ux*.)0bDD+tS)o&/Do1(Pwdq7^E>+%fMjF*.`Bf)$<PO0Kqr@,5Rm(+04HG*Ct@A,ABS&,:@Q(+8nV)+Riip/?XZ(+=rpb*"
"#YT+*0u5c*/@HG*(PX.)*+hJ);NtY--]XI)0]B+*rrnh(ee69.4lpb*.Ui@,d)D^,IQ%iLbIuI)tUg'+>nQG*0[r[,DVjfLI?jD+nRP?g8MtI)*iT+*9qrD+OTL&4;$/a+:XeT.8OV@,"
"6_`@,8-F:.cB$90x0L+*8)B;-1+9$.Da3JMD-fiL+,(J)<oUP/wuRL(dLSq/2:FI*&r0J)2FD%,,uuC+PBihLEN-c*BK4Y-;9>m/p])S&$]K+*YXC]2#]BF*DT9v-.JJ5'/bdc*V>W'1"
"]`ja*5'=u-i.9b*@S[a+DBSA,sCX.F+bZ(+PptY->Lx5/_ums.*sGp8Z3Zg)s+xh(pb&v.a=/q/#M.x0UDQs.RoJcMU]6W.&DOI)G4R-H^(Fv-)if70JS29/t[A600tUL5%[-h2;0%l1"
"9ia>.7ZjI3YgE/26+Oa+)T-R&ccJU2KKOY-Ol`$'lvWp&+qH*NLW%iL1P6c*Sg@iL't(=/V/:Z-HqZENuR',NSOgH7;XZG*:'t&P`IDM0+j35&h[l$,0>38&lIgb*Sj10([=k*%0lOgL"
"geKN(G[2D+7ID%,']PC+J&lY-9@h+*D#6S/'&&P'oF9f)w['J)bb+O4mA:6&+LMd*)Af1(vXT+*.GbI)du/b*hDIh(0j71(N*^N0[P[h(,FU3(5e&n/IW,d*/-+q&%]b2()=.t--Lan'"
"v-2`+`Y[-)Rlds.*?+1#`5oIM0H-n&8dkY-6v:d*96o0#=I)D+5;pr-J-rhL%XPgL5gI.MY_.iLSY$x-]2YL:[;iD+8`uo.=_2)+0KbL#SgweM(qmc*=Gd2r6t-g)tRg+*%QmR&-tep&"
"lAvR&]K=v-U,4jL.0N)+8/iD+YeDG;=)2d*/5^V-8ZtL#S93d*>0r-MjC4**rv[-D`Gt2(6j^Z-7#;d*4aUv[trDk'opg8S,-<`+:[2d*e_P(+a6r&2<tM`+^_X31v:te)=0rhLx5OnL"
"wYq6&Y&vN'vnbQ'8fk,2b`<e)%Nwd),[Rx,4FvC+7[i[,;7?c*34qF*::(3(o`mR&D6wc*TMDl0AUvC+9SCq&wXKb*C<fA,Is_KcH'VhL<D>.)tCgb*p5`O1e7tb3LR$,*t?M)+@]nI*"
"2+$,*Ow))+2%h+*BnM)+2:YgLSkZc*L_vc*Wb'Z-[pBs.,upF*LeKh5G_vC+6tL-M]i+i(?-ox,lfH=./rpF*LQ%gLqLgL(M]%q//`0+*#5OI)5wi`+w]2o&4V=M(+m5CFgWu'&Cte=-"
"@9ihLw)651Q6]x,:e;D+4Fmc*J?4#-JsX^,@X)D+><Ja+[CoQ0Dn)D+C1?(+'l#G*51Z(+6b;)+,c'J)2A%@'dpg;.2r'f)5ogF*v.=.)fnQT.:.H(+3h7],#Vk%-:_)D+,rBf)xh5C+"
"D3*d*4h%],HBrhL?hOu-ZSCZ-ZQjn8uC-d+?-W`+1Cv_+Hs0;.<N9?-8_MD+<[2)+G#L?-IbxZ$=[%],B@P8/$@4d*@^#pL#wfR.,l^+*@cna+/kEU.`20e*9v#4(5=m_+=KbY-5m#8/"
"Tc8'fW*?W.D0N)+gb*h)sf2S&(fT+*bBWr4&i^b*EW9v-3`oP'2nmc*6rpb*^i/'+qj_v-m@^'+Bc*',IWx],oVu1:A[Ra+P8Lv-p#fJM7&Y>-nFsp/g3SWAhD_Q&k:'f)u.+.))3MZ-"
"ob8q/&<fjL6/_V.',IA-OfJcMXx)9/*Vte)R4YG-T=uc-x6,44Pg,S/x-,R0%P?HN11c31Gs&f3D6Vh5S^NN1F/'J3AUWeNv7s%,=.YgLYqZX.N5q;.u[$n8kK:4+GZPd*BEJ&,.b^t:"
"b`Qs.>Gj0(5.RbepM-<-At2d*Gs1<Ren[f1=#OP&n*rw,9cjS&rkYC+X/rg(<>TV-qY(C&m*+11IWXY-@KO>-&Fdc*W^f&,ALmC+T2lB,#p@h(u@oL(1=m_+/=2D+aM`4'F_M`+x%xh("
"<tMd*m5d3'rr;S&79s-*E,Yf*uS_Q&r=0F*E=Hg)J+$REX7XG+(tWq.t%s4'-GpB+r[G_+oD7L(Jo%q/WmEJM-8/F->g.^.(9'Z-B8pr-Y>oiL''a%,23+1#Zg%.MmecgL7s[.M[k@iL"
"3CVt-[g/o8kVeA,7M>8.H6/a+lj#E+9KOL#LTXu-e:Ia$7B*H*&%dc*.v`4'3E9N(/RiD+DIlS/E@#W.95^V-,$=L#J6%.MrqOi(>fa>-Bluo.NR-G*-0=L#,D9f)Mha?oF%*X.95rD+"
"S>dF<@.6g)Pl5mR4WJ],D0/E+k*D`+&-o0#YWF^,ZCXJ2@S0F*.1H(+fAlE?5;=V0Y2Vk'(Eu01+L(hL2O1F*-jaE*53bu-=t.A,B6xX-FhM`+NTU++D__N(w1a4'LZjD+a1o.2M0/A,"
":]_6''x5C+Np'?-M#`KcL9ihL@c1f)%fYC+)2Oi2rqG%5X*wc*%kIa+9;eE+<Uvc*]Q&a+,7,</LBJa+7FcgLYBs`+X0jD+Z'$W.$n<s7U)Xs8j3#</5b`D+Z/fiLYwvc*N_RsA&GqA6"
",%U/)cjSA,..hf)+=V[,Bb2D+2nIa+21Zc*/dJN/$4)D+RZRiL_LxI*m/pA,IN=#-@3xX-Mj=Y-UV;p/NNA&,Fm#8/Uo.21ap+',O9ec*14v$,>e)`+?BOY-9>58.2$=u-Lqd&4Y&1;."
";*s)+/fk.)hm,n&CsJE+3@dC+JvKV.Idbu-;_M%,,fgb*CADl0Bb%],A9AA,$EsB8D>P^,fsf&,0rg+*27Hc*Igb^,;U))+Jpt#-IE^N0I<4Y-FQFY-I8)P0hB$90(e)D+H'RQ0==dC+"
"L-2O+42nA,ZfPd$C7$G*`B?d3C-o0#@wn],_.Rt1A4Q?,NEN)+`U?U)[>qr.WdIiLQUHC+']#G*E<..MN#DJ)Ga'V.TvTV.0QKZ-@b?G*edP3'R7Aa+_Hf0:X0F',L,hV.TsX#-30+1#"
"S,68/lfOjL#v_P/lqFn0xhJ60cKch#+/9b*(YtI)%OYW/NPv8/.IuN1Ju[a+[F]Q0Lj=1#aK;p/.N9g-KFnHHcI^8/BoLP/0*RL2-CY31;,3I$9/>C5WY#,4?isY.>V:%6f(m<-.E1@-"
"<5pr-D=lgLYqZX.Zl29/dIGHMFL6n&+_ChL`sWb.H/-W.X[cHM8;N9/aZ[O($t#]NSOgH7KH/E+d$D-Wk<t(3N2kl&tKeX-B.Bp&x6M%,]A@-)8iMW-tfC_&u^KI2R/hV.K)h;.-kVD+"
"e5c^,L*/A,cu6@-+2f-)&fb.)9b`@,7h@A,ff7P'Q6JA,(AbI)GKJE+tP;O'#8jo&Ajxe*Ql-d+'p-n&#]p'+O_)-*5xso&LHg)6%;b.)?FV%,)VJL(wrw-)*#A-);5`11[K]X-NEW/2"
"76o0#7o4W.GZx0#UA$w-;SwA,TsnIM1ZsH*'_B&,ZUoA,7?x0#cd_<LEb))+L/d#[*hZG*C.pV.R?lA,>A^V->QOL#U5qr.Ed0H=.=[204)j4'GESa+&tEL#-&AP'>E=L#J5Le$5MN^,"
"E:C/)98.a+45^V-.*=L#&Nie$s4YjLGui@,/0FQ'0uKJ)i;M]$F#%.2GG>8.s;Mg(@glG*Tl5mR8&YY-NZ+',pK7A,vYB`2Q&Y>-$KJ+4/+Z(+5@Qc*ZZw]%*xEW-b;@-)eSR-)1W.1("
"gS@h(6>*O'1CD@,L6AA,F*N)+PMHb%TTxA,X4S21?^wiL#?Di2^rVT/mOnW.;@q+**+`[,AdF^,VZfA,;hr%,4XM`+)ASP'Qn6q7CXpU/,*ZR0#6Q3'=bdqrL*jD+dhbn0X-bn/Lmb^,"
"GUZc*YYQt.c1n@-Vtu3+cDx.ML<&&,A_lgLRUK)42oB/)LNoA,?\?xA,Tm4^,>tiD+SeRsAW1d^,=3bU.g_e[-@'fx,(c9f)Rg+^,;-'R/>k%x,J3VEQo6fT%N,68/.D&5'[viI3Sa+B,"
"QdO>-U+JM1R,c#-i43T/,V+wpR1i?-vp2.3[#5#-Z0A],8k.&,I0f],GWxA,=OHG*?EJE+X7]Q0Ekd(+Jqr%,/l^+*Tu#o0O-J],EpTV.WP?8/Na+#-)>)*/7hr`+T._E[>,(;.N&hr."
"Wc;50v$'U/?h`@,8nr@,LJ2P0KK+>-PYMP0I:g5'^N&a+Wr0@/K3&a+p-.q7;[nA,;Q4L#8,p?9HN'V.eqwQsxd?e6;Qk-$]_m(+n88B5U$&&,>Eb>-B<AA,DU;w,],g&,`mu&,SJh?-"
"l7ArLgdW@,.(m(+<k.],>q7x,CQJE+b8c>-;e/n/eYbjLtevN'DpRiLFV+.)0Q=1#_YvS/`JUZ->._`$[cM50ho[#8I+39/7*@L2;f]lD'=-C+0(h+*tb&v..BE.3S1e6<F@#<.'15n0"
"GO1p/orpg2cpf],:$AA,fTqHHv[$hMg^f],@s8f3KQiL5F+@x6l_.a5H75s/Q[Wu7nUiD5VuVe.RN*1)A<JvMO)j50b4a$'m)t5'4?n*NR&]iL;FAA,jS+jL't(=/%(,R0[?*FN5RnYN"
"C<`;.7[u&>rmO%#35qq+Jm(k'U:oi1#Z[h(xS2k'JTL[K/t[5'jb%T%15sX.X5($-DRlm'V1x.2k:sP0Q/-s.hMP#-&&xh(7@)%,E?x],.]J5'4vL-2MgX>-0_7x,I<W`+pV@h(,5+e)"
"ON*D+Q*62(q;#d$j]640HJ?%-tTP'AR%6_+>qm_+;e)L)$G+.)1uo5'(72`+r>'.*C;pr-n/fiL*w(hL>+WT/H8pr-ioFjL1skY-;?+1#d2/iL`]A5';]W>-e4x>-Y,oiL]Bs`+IKf&,"
"&_kk2C]$w-RNo],F4#W.BVYS.Y/($-/vM'N+klgL-v@t-KH&&,/Vuo.*LD@,Pv*I-d@]M1KwqP0>5^V-4-=L#RW@.M%_?,*Q'D(Z-xCp.eNs`+59=L#8.dc*%pnH)SdfG3H>#s-SX6Q8"
"o#h/)X1hkL$n[M0Spx&,+$$3'NHr-MphVP0I1ei0r9VJ)<n``+?*JA,<S#=(%G<4'io[h(793l(oi[h(B=,D4#=M`+MJhZ-Pv'Z-aC431NW4#-TvTV.Fxoh(=c@;5t%aP0&_q41SWoA,"
")JX**I#H8/ai-<.p^So5=h%A,>$Sx,%`+m'p.Zc47>u,4Jlfl'Y:-)O9f_V.]Rt+3gGqV.UYDP0W&>#-NAq<1pNMA5fJ+/MRP_?-b*l#-8ixl'i[&v.Oe?g)tgDb7Od^7/^oZW.t&7W."
"i,tr7J(vE7cZgR/o6tX.IKXY-01-G*[8u>-CT,O0G6fX-]e(U:m0ST%AZD506iol'hcOc4`AC?-]>_;.aetf2^c$w-thJQ0UgF#-g4*T/-k5V/wHD&5JHx],MY;50EK]A,W,Y>-?RZ(+"
"Pp4>-g4%@-[Vr11GK+#-%&a4'E[^k1E0&a+b]XjLf,h80XACv-F<&a+:6=u-g%D$-N>68/XVvo/c=J21,_>R0H6Sx,@<fx,V+]i1Tptu-Z4]M1RbYm'hsoA,jYOjLvdoA,#F@q7=nN#-"
"@Z4L#nr:$-G#-S//'G3tLK+>-Zd%#.KJ.i131A`,==UJ)Sm';.]7JQ0Q[b/2dx8'fOQ4#-$2:kLeK-X.4rxP'>Un`%GH=#->XmG*`(al0l.&Q0A`%U/Ud/a+mvuN'KT4#-ld+1:]WpZ-"
"b:8Q0l+nW.k*,[$eCxM1*M:kLHu_P/2QjI3@?IL2K2vM0d][h(<ki%,M,OJMK-uN1M&'f3V'1I$$wv-3Z)>1#mS'02[B/a+TUnHHZXnHHl:@[-Y2GH3S`5G4IbNINI;l(5.-HW8e)JI6"
"D(@A646HW8UUxt1?Ko0#Fisk'ccJU2j_=N1j@a$'o;Tm'8Hw*NHP4_._C]Q0^[cHMFOLO1#dKM)'t#]NSOgH7aM(_,G-;.av/MY5pG02'*E#S/V$ZQ'10OY-huN**[=k*%8:ugLX#?O*"
"ufHW._MdS/HHTV.vNlN1bGc#-wvME4IRU/)5*fA,?\?8a+H<4u-+f1[,TcCv-BOZC+PxIM17ut.)3N'Z-E[(]5d)#l9F3[S'we9f)h:E11R+ax--E'Z->Fv?,GBa@,^cKkLq@ue)9=GQ'"
"0[%A,)mgI*D2TV-%E^'/M*2hLCUoQ0tc7Z-PWo0#ZM6W.=;pr-i#oiL*w(hL>GF/Mc?+jLUlZX.P;68/heDG;WdYW.aI8Q0dcKGN9P$w-M$%60JOY2(08B;-9<:H/Jurl0J3iHM&$/x,"
"U)+I-m$1g2N<nM1@5^V-70=L#VjR.M)$wG*FX:p/Iluo.q)pA,9?=L#=OVD+,5X**V)cD4L>#s-vb9QA$d1(&mO6lL$n[M0]Al^,3<HN'TT%.Mp^fM1g4WT/)kR,*D<SA,L4-UQ*+k30"
"liN**r:t**KNg*%;,Oe)Fus0(A9=u-b;Lv-Y&>B,]`Hb%cSqZ-nK?H3K5XjLNGDS0lC[w-/57w-LH=Y-0b)H*j_+N1kJxiL`:0a+EESA,6:Z$,:3$:9>S`$-OI9:/8EuK1KI8_3XM?8/"
"(hG70^V-W.iexM1;]]l't>ET/'7BQ0Wq7Y-mvNe-UstY-;OC-M',[w-B[m,*,9v#-XrvS/(fNq2VvbY-?Xma$)WLv-EB/e*6Yns.GE/E+Ca^7/b>:Z-MJdw-LQF^,oeu?I%'tY-^M_V."
"*fu?,Ax*X.j.N9/`oVP0oXsP0xK?-3q4R<.Vi-/3'9J^53ljX.rrP^,LQb:.Z;1;._.Jm0%JVS%Bt.A,ZdO#-'lf21Yc6@-G$3d*#TDk'bbe[-NgXY-kc4jL*dx^-_vF^,Jw2)+Ij'?-"
"npJ&,cu2t.bod<.qU/:/8c*=.J68a+LNoA,jRA:/X&l#-l_SU/j%=b3k%jP0g=&Q0j$qc3uN$906sb>-E)B;-A+9$.b`tjLWTWU-iol)%k^o],1od98kstY-PDms.T2(Z-XQ4U.q.`?-"
"hVnZ-j[/u.pfq;.)W`G+A[Vw,F-a`+OH&E+YxnM1q$0:/D`81(#oX/2E:[3(1K0Z-Uj&.*$&4^.I.39/(4P31hG4JM=lds.7*@L2.);Q/BDPc4M#bI3cKch#:4V[,AwVD+9Q+1#7;u$6"
"T6'JNxH?-3$T1*Y?w7Y-JXeEROm'Z-fTqHH*=*IN*-Gc4jX@A6RQVL5c,M5:<^)X8R7#W/7GXn:9Hds8uvQ8/T81a4)YYB]$NWp/:/>C5r&$IQ7slG*WdKo/V)(Z-k$uN1a[cHML'eL2"
"1JZ/*)t#]NJSrQ4l.@[-c()Ye+,BP8@jgi'8D@M12x:kLLWQ8/sX#C+Oowh#<L1hL6J-d+:(#R0v[4N1]P%Q0<)ke3$YwW.9DUw6[E*-*EvTZ-P;($-[;6S/;X*:.l'kp/TEA],f96d3"
"GeH,*x'GL5VvAS8$VjC=Y/96(.OZc*)RuF3g<1W/$_P'Ad6SX-Y;>Y-Y;l++:U6c*I-`3(>KbY-E.sc+3E0W-4W^'/UKMhLRmmh2R8pr-.oCkL@=860eO]Z$o1.s.-30j(DR(T/J^x0#"
"l((0MkcvS/mrO/M9GC$-Td8K2wO<9/GA^V-SpOL#$R_g2K9wEN>14F3Mm5O0k%%<.4J>8.Oi[e2oc9g2_`Le$$S(0M4pfE+B4#W.<5^V-?\?=L#xkd)Og45g3]8:?-4T^j(R^fa+tue^$"
"b6Iu6TG>8.8Gba*GP*^,dl5mRMq431&%g:/5DMT/mQn#3(I>n0`#%q9PjBv-X21?-G:nu:^uIg:xIg'+)%QC+Tug+*&cgb*X_ph(R5?S/x@WT/q4Rw-2(tT/q_/:/2)l?6LVm<.x.gj2"
"/e>r/LLTU/aG?8/?Zoa+-03*4()PjLdt:?-XACZ-F*8=-W4_i<]q'Y.s*JlLkxNb3QI8_3o_f21D>422uhSQ0,3nd3MFlM($v=N1Cd7h2]q7Y-$3Oe-fx)9/+vw-)94Rd3ef2P0'4#</"
"eC/:/1`:kLr(n<.f*SsAo/?r/b14J2D]+61h.8Q0G?A&,)(Kq/a:'(4efv40OG+H=k*AT%m?$-3Q'r/)9KL99-+^U/(%,n0.mOZ6+[YR0FsWe3Cx+wp#g`S0X9GW86CgQ048Np/]c)t."
"t7&q/rtSU/dG($-dIEx-2&Y(5nf:Z-tlds.ON+^,>(G[5$/Wp/o?hg2rNTj9-7G70l:jT/MTxA,925g3g4Nt.xFEt.-1#r/[Una5v`C$-]G$w-g%n<..M3X.o@a9/C?@P1'<vR0&XC02"
"#+#n0u`F1)`FDs-vFLkLY6wlL'?:?-`d;_A^PJwB?B7v?vdTS0j62A5bJ<</Z^&*+tU]21(3We3slO$6u79'fk7WT/J#g+4dx#RE_xip/95-F%w(aT/[/u^,,wmD4;'*e3`^Di2wF7w-"
"-&+.)']KT/Q=Z(+Pxhl/8ZjI35[(O1E`15/:,,G4>oh,N[DaI3#UKv7$'q$7)=C+*X>h;.boBKMar4c4+bKv7JSPS.YLiD5hlJcM)Y?A6'1Gv-a4YG-d=uc-5@&1GHUj>79Q2998A5=C"
"SahT9nH/f=-WJI6lr<n:xdS+>>DSUV4Ah<7.`YB]*/Pj1Wks:8xS;FRPQ7iLegh9MO2WT/9i:kL't(=/`+2)5$waFN5RnYNDS_02$$VCGqI<&#uUB#$0cs-$c+?>#w[$jU_Du'&hF;;$"
"<V@X(Cnp.LxKn(<,>:sd9rC$#k$eK#8&3D#jnuF#-nIH#SS$K#s.nK#JU5j#Y3O]#?2N`#_W5j#VCno#%'Q7$lp8.$@@p.$[j.1$.pb2$n-9Q$CTkE$`t.u,/Rj9->Hxx,Ik,(-h^D)-"
"pvi)->.,3-O?F6-->E9-VL>V-=Bx=-Nsk>-er?@-7@KB-M+.H-D`SM-r:GN-2&SX-H)1Z-erH[-j&/a-su(s-'nIt-9<+u-Js'v-0qP$.0;U$/j?O.qZ-l.qbT6crFI7`tTle+Mi6$##"
"ZEI^2:GDO#:,<D#lt(G#/tRH#W`Pd0u4wK#L[>j#1kHiL%-*MM]tU%Mo5O'MGo'.$[,_j%gWWVQx#VYYPphrd8]]MB(uKAO(>Giq$cuc*uu:2:>9@_fX.12L4YO]cl4n(kKll+s9L)d*"
"JZX>-&[]A5d'`>H&iY`fg;[A>KZ@_fQco^f`IP_fSv@_fB;+_fFdJ=#r1o^fPKW@tSr$Vm8?/`j3<f@k]Jpr$m65j^VL^6vTC9:#[mN9#uY&*#Ub0'#K(4]uhIJtu0L<5vVBW)#a=>b#"
"asC$#k4E)#vKGbuLJLnuT*sjlLkiGmdE.Sm[-`RmTqCRmPe1RmKRlQmFFYQm@4>QmUlV5v&WftuVfGxk)*V%vj^#'l7QF=l>eTmliE7Sm0WgeleVL+l[SC+lG<v'lO<Gmk$aiLu&C&lk"
"FvDkke..gkim)Kj'*Ta),Le5)we60'e]SPu>),##Bl:DbA($,a@nPj#):u6*&jp-$8Jq-$u+FcMx)jxLhOKvLM0E5/;[%-#VhkOMc(^GMC4_;--_A>-w_M=-$+ST%/^4GDT.>GDeTJVH"
"N%u(EK^aVQNm&sQU>#pRYVYPSl@vlSeFRJUjb3,VsQGAXg`'sQsU;A=-dtr$F6vE7F),##UOn9.&/5##7=YF%/W#3#5iFR*@nD##,AP##0Mc##4Yu##8f1$#<rC$#@(V$#D4i$#H@%%#"
"LL7%#PXI%#Te[%#Xqn%#]'+&#a3=&#e?O&#iKb&#mWt&#qd0'#upB'##'U'#'3h'#+?$(#/K6(#3WH(#7dZ(#;pm(#?&*)#C2<)#G>N)#KJa)#OVs)#Sc/*#WoA*#[%T*#`1g*#d=#+#"
"hI5+#lUG+#pbY+#tnl+#x$),#&1;,#*=M,#.I`,#2Ur,#6b.-#hZhpLlmDCVgka(Wu&r:Z7]Gi^FL`+`KtwCaM*=`aUZTxbWgp=c^5m:d`A2Vdff.Sek%JoepLb1gut#Jh$4?fhcPs+D"
",2r1K$8NfL'F;VQh,e%Ot2^rH6uj+MmtEcV&_0DWXbF]XMOo.LOM:MT`1r.U<HL`W>NSoR/(W%b<h3MT'`+DN+@u.Cg@ViT@Zo4SZZ9PJ^7IfUAgj%FfKauG^wdxFX[-AFf3$MgS+U(j"
"c'7AFGrK`EIR#;Z;37GDo[XiBHik(Eg'^%Xg-#AXpTYxXx#;YY$BRrZ78_KlF+N5#:pF6#:q:$#W;L/#g$]H#?'S-#t<+I#(RQ^7e&p+>k-3i<Z:LO;JGf6::T)t8*bBZ7pn[A6`%v(5"
"JZ[12(uJq/aS$<.;rtI)a#d3'IkNT%9xh;$)/,##S@*Q9%XqG/_RW5/YF(R1OU^;.7/v<-AYVt-,<tiL)&IEP8$#N-`NB5Bv2%A0/iv?0b#:A02%<@0`^#l=4Sq<-t$dP1-bP?.[tX,9"
"v8vQ#TonoL&Pc%9q)TV[lnG<-wucW-3ur$'4s_$'_;xiLJ0t>--Ggw8ULglA*>.a9'fe@9w9m31@,H6&2_BQC1``'#msXgL0_YgL-,R)0jU8Q#e96GM(hwl/VgQm#fwkgL88NZ[GK=9B"
"/MH.=v-pd+CJVPME:CP8snxV[$S&K%5Km>-tF%_][6&J-LgNUO#]f$#saIq&qVW<B6pe2$#e']6+YBHOL'9^(KlV<.g)A9J$bk31U_lA1+uNZ[7RA$Tkn/iN_38S[+0o9.o54=#Rgm;."
"6f^?^@1A5B:hdv$Np/=#)7(hl`O`s-i6ENN&rJfLfg^wLg%(Z->avaO)^:MBNR[V[(5klM)jG&#SR#6#m/xZ?ee$6MO%RXNs[A@>ab72L5+<+7?C<Z-MWm;.Q+wh#E*hk*,o`E-1H)N$"
"S_sf1xH<p.FOTB-^x[pA*eq6MkkSTCBlamL=%H59+<%D?0obmLCwe8B/kj8.$[212W<K5BgR6T-^W;Q0tdQ][Aj*`[3hfv7(*w<(3p[s.(suC?uFqq)T$3Z)xF^lAe,Rx-v@kmLAqP?."
"tCB%BknF59*a81;T`FS_7U[=lDx&a+>@V`32b(RNPpfR8OYJe%qPiI?iA`2-__h^[*$.F-iuZV[o`.Q#Yvj>?guoD0iTm2(a+C(ML*(Z-V+@0l:=bQj=jI=1%T%X[x9)<-F=kx#WOEp."
"<7;X-f+2I$<:3B6F&l2(.l&KM<k;#M&nL>?r9(DNcuR3NGfPW-tUCx9-7_#$V81nL5wc2$)PaY.@vGY-hW*;Ms1lJ-])#%M.L@g%dqc>$_$)Z$1S(XL7<E^T?/rHQ+&H59%&e_/1F-Z$"
"TWKoL/+QtM7Q*M-4YfF-<)Tr-I-fERD#WEeWY-kM5*^fLF2oiLrGxS[ha0)MC70O1->v>-QfQV[AGN>?(M0Z?*WTV[-St`-;<^A.pNQJOw9m310C^/;GiXD-:PL68NJH/;AxldM#OAfN"
"JOIQ/nbs)>Hd8q0'h6pg1.m<-v@Mt-[i-hM8;waP/<pNMNdB8/N1)9.%VP:MgjK,Nn(6;-R'i5#iA6g7)kU15`-s0GH$IM9fwGB.d=w>-$aLHOi.,JLW4Ag7N.$>9SSTP1sVpF.)%sF."
"&7'd+BwuaepC;;KCBKb%j_P#)f]',;i3m31o*'58,dL`Nhq5E#]Z_D?BU####+*D?p0058_7ZE4br9C.;iTA.c=?2Ch:XC?A0/LONdcmLuX%)*(MEjLd]8S[0XX)#7/Nv63k-s$cZ<9."
"1v=d&#'@R*ss?R*u)RR*9r=R*raf88Aa[@#a3(R#1'w4]M.Iq7325##>5T;-PG5s-NHxnL+``pLJCQuuSPO;.<L16_3kd_#f;)R#-qd4]o+ci_%,>>#4b6C#X.;K*hQr:Q+9,>>_/,F%"
"+9,F%'-,F%K0,>>?*Uq)`;qCa^f,]ktFbxu,av5/EU]e]V4VQ92G#i7f`Jb*BqE&q8&13$M`5I]QwaMQ(Jh2$[/u+M2%3jZ8)T6(u((m#al.(Z=J#mApD;kY#B-f%oDp-$b]9u)E_N8%"
"@77v#4Rk-%8'Hb&mV1F%SrhY#<4eV$:(I;$AR1Kd7Q*t)HJ/BK42Zw0`Boj###ej#G*9gQ.$0gQ=1^GR(X$N#,PqM#DJhM#%@[iPS:RiP/dabPLH_xKGOulP+8&255cii#^hClOqb:lO"
"#b<uL^k0rM<,^RNu%TRN>ReEN-M6IN_R'%B<Z$[^*H`O4,8)i#_AetL@9H;[i.;_f3cjh#H#r<La&.XLdfCwKl@+L#7;xK#:jrlKuug6<)H6Q3su`j4GRl;CB:WJ1X2#OFO_@jFplQg#"
"AohGHHr$dHUZ:,HsLiJ#b+lrLTSs)HorA/(@YNla:&brLOBFfG-t/GG%%;PDA1u4DD4YoC@rx7C<`]rB=]AVB0N1D?j;l(?ejSf=SI8J=P:s.=N.Wi<Lx;M<1f*52&<[_:@DOf:b',Z8"
"]rf>8ZfJ#8*Z<E#/)xQ#C#c@#80uQ#f#X3$Yp0[[2sm][-3Y,/]l.T%1QB%@iNYb[.%[A@/JM>#tO3LPfd;E,:+Y`=?YDO,lceA:d@jV7O.72L1Rq'#^jF%#kd?n0B]@n0Ie<I$7+0i#"
"<CT?HK/2t-GaLSMAblHMwaai0rh%1,,sv<(VI^-6AnL_&>7Ke$^h+A'MTFGHR<)6MIg`6MR5:lL<nS%#ebX59IO@F%Qlm_#.(>uuO(-;#%-/9voB5b#JP3_4x(?Yl.f68%&K@(swx=uu"
"$x(##xx.fq49;m9A48R3YsI-#`9#F#AEfnL>,E*M'I82D*3H.qG^CG)Wdrl8oA'AkkVru5@QXS%(,&2B_9@J:-oq(<#W9D<kSMY5f)EP8Dd_o@,0el8%J:G;$RY59D;[q)Z20DEhqAS@"
"bA^G36>>*=GTGV?E*%29o<Ww0Pg9D<<<HcMwS)L53Xi4]vZA5&pcBYG=Fq?9_rw9)dWFM0cK1;6UOs%4W-Frm2qDd<mv:GM?t4v6,K?8VImrpLRk%6MLKfS%&K@(s.f68%B9-p8=Lg.$"
"0%bw'r**##I:$##0C)##8S###^Xm-$5D(##65l-$EZ/9&E(35&AZlS.]3NP&>5T;-FWjfL*G,HrSYZTIhbr#ltq,U7aq0hL<3DhLn9MhLxV^$PC[lnAg?hhLXKihL55<o&$>ZUR`3aVn"
"iK$iL<d'cNQs&JD1Ob1UnjQiLH-fiLEHwV%Z`lcE4VgJ`Ijp>$6LC_&lBB5#ES>_/gV>_/jsCwKttN4#r/80#DuK=#J?t4#G7XEeJ)l-$gSX<#$)$oLYZLtLMOYc2#H9D3AF7H3(QT`3"
"-6T;-%XjfLw=Gr/o+oeaRI=_/q#`*#HL$RE,0C5#c+]9MRu/kXpBG)#$xs7#rsIlLBfK=#v]`-6m;P9`F+:-#1bg8#0TE/#JfN$BKm0%#`rf--YM$&#Dl,1#s[]9M0SY<#K7Q1#I1m-$"
"eB+R<(uc9Di1I&#l5,4#pZYEe7w]3#Vq.F%t-b'#/Z1R35c5<##>._J7'=kF.5B;#jZ%REN?p92h)x.#MCVnLAE:sL9q.>-nI,[.l:%##l.0_-nJ2F%nB*##+hk-$s@I9AX*<PAc2WlA"
".WjfL1``pLJmrpLgmrpLH]jfL'S'wSrdm^Rar6qLt.AqLi4JqL#ae_%_ScwJg@nqL$SxqLHSxqLXSxqLoT[_[jR3rL&g,.ukX<rL,lFrL/tOrL,qjl*nkWrLl9xRraG9GHeC9-mM>w9)"
"EKG_&CQ1(#d$3nL1:SqL:0=r.Av(##VLo-$gGOvH.Zt7IWjE;IR[H;IkX$sIt<39JY&6PJ+2QlJJc(pJlo8gLD__sLi__sL3`_sLiN,$0RU]a@$_psLBkqsLEKdmWNJLk+`OPk+aRPk+"
"aRPk+57W%#g>UEnZ[R9`nq=sLN#Us.*]*##1]j-$kcd,NC5b(NFWjfLHGetLDGetL*LntL+KntL$uL15BIrbRBd4R*hO9R*.HwQNFwX9V.HwQNiR9R*_O;w^lW7<#RworLft,wL<(i%M"
":5X<#tp$F7&BB_/VI]-?^2d'#SA+=#W2siLqh)M-kA;=-qh(P--(l?->C^(/5P*##<Pj-$`.K;R$ju8.4`3SR;4h8S:rj4S-XjfL'VTvL'VTvL'VTvL'VTvLQe_2Y=JSvLbaSj-PMf9D"
"0'V+#ZKQk+:QVtLY%wX.Di*##ApBo-&h-F%M9&##b'KV-+0PG-E0<u.dh+##khk-$k4m-$Aen-$&iUMUQq8gL-,?wL7^R'9Du=wLl%8qNTV+L6F+PwL38QwLm7QwL38QwLH>ZwLl39L?"
"Eux?L'b,(')-@k=<Su=#`=(REO6d-6.c?kF4eprLv6QwL[Kdl.cO+##m1QD-dQZL-Mq-A-n1QD-1s.>-1s.>-5AFV.hS%##F@:@-9I%Q-.gRU.+G&##R:Bc.A0$##4s.>-Ol*J-5&JY-"
"xcbw'3B+##KZKk.Ra$##:5S>-<CrP-=CrP-=CrP-=CrP-t1QD-p)8+/-=###8Ol-$i1<>Z8OF>Z/-D9.]B1VZ5HUYZqPZYZmDZYZ5HUYZ;sZ;[8gHo[X3_8]?x)P]_)WVRXj0wg*.dE["
"RF)##Kt0wp&Z9-vlt0wp%*JxL4aDE-lrdT-IHuG-r96L-k&,s/1-)##R8*##xQZL-VB'k.N$$##Es.>-<APk-]qH_&A`FM_Bibi_Bibi_Bibi_qJji_g1,/`g1,/`QTR/`7kX+`:dN/`"
"tutF`OGFJ`?mEJ`q[cf`I:_f`]&+,ae>+,a:pAGa7f>GaJJBGaOipGahC6`a/VjfLY6ttEACa9D'uF8#xc7hL=3S>-#5J/00]+##oi*##C1]^.4_(##+53U-_fF?-/MWU-vFtJ-)3^Z."
",D+##wJ6p-3],F%Fsk-$ZYl-$lE]>dQ>+VdEwNYdYn*ZdUHFrdWVjfLZqM,'r.-&MO:.&M#A&8us46&Ma@7&MM2DDht:?&MbF@&MuG@&MiG@&MAMI&MNLI&MNLI&MORR&M#kHj@RaL,^"
"wLZ&M/Y[&MKY[&M0`e&MWJNvs;.4-92(,F%$*t##6PU9`T<cw'R,>w^>P)&#5eI2#H[uiLaaZp-j&4F%'x=JiNCBJi*3`fi@tYfiZrs+jVrA,jE8kCjodHGj:M#<-N5T;-lVjfLLmx-B"
"=E.&GIu62Lw9g9;CmWwL(B8#M4Mu$MDX[&MTdB(MY1RA-7XjY.fU###dU]F-7LwA-7LwA-7LwA-7LwA-8U<^-xdPk+bpo-$ssZcj3_UcjB;fcjvK,hL#S'(M+b)l..F&(MGS'(MBT'(M"
"ZCkR6wx]RHc/Fk4:-@vLrNvwLu.gr-Pq2F%5q6Dkq#<Dkn,&ak]Y,]kv8W`k:0R`kLiX`kMob`k-A;=--6T;-NWjfL+fC:Y;u,K`h@TF_3eS(M-qT(MFw^(MW'h(M+#5/0cUVS?-v_le"
"935)M'?6)MgZd`i;?G)M&QQ)Ma=.0'>Qc)MRjv)MZq)*MGnC$+Cp:*M4.E*M,F-I:uw9n[G2`*M4pq0KI>r*M)vib;KJ.+M^^8+M[cA+MeiJ+MMvZ_ug+,##52G>#2;cY#*E(v#lNC;$"
"]W_V$ra$s$OsZS%#'wo%a0<5&f9WP&6Bsl&]J82')C*j0]TSM'R]oi'me4/(lI;N(MnOJ(PG1j(2NgJ)Kcvg)A<hc)iG-)*5jcG*s'+d*8/`D+vNKa+*(&#,OM[B,Q9]Y,kBxu,J5T;-"
"Z5T;-s5T;-EXjfL_C.JrXFgJ)Rpxc3kHZJ;VnTw0goUw0wT_-6>*jxLU2_W.5WF>#[7lc-h@.F%5@n-$;g)Z-Eq8gLc@+jL#?+jL&abJMXBTJ`%_(R<PAb9D0vOw9l6I9iLsIwB$<Z6#"
"dS8_8@/;'#(V;pLUiEuL5eRU.2?F>#S65O-ZeRU.*sB>#733U-mreQ-((LS-PvR#/m+?>#s(m-$9Ln-$>]T21Mq8gL:,:kLsl$@-)#9kLD.:kLZ,:kL_J?X77JW?m+/KkL/9LkLWC_kL"
"ME_kLME_kLME_kLfE_kL/JhkLgKhkLPE14L.AgkLia6Li/GpkLePqkL(PqkL]PqkLtQNXeX`Q(#Dx'kbOSHoLe]BK-'54R-TOff.j]>>#S9m`-Z30F%rJp-$oKE>#8[j-$.g^D4.g^D4"
"/p#a4j*]A5gvXA5&`VA5cD?C5]Aru5tH7;6dRRV6m[nr6+>R;73VR;7PpC<7ZnNS7P*058prM88CBL88`Q(98a4KP8SVjfLm'`sJ(3QV[)-@k=]=0kXk*T(#G;rE@#-7R*iArE@T.O7#"
"ck(=#@.oQWYA?wTG:l,#8(:_8HE1R3g)F/#$.G,#c/v9)Qe:-#x7._J6$=kF7,Ok+]+]6##iS+#_P@gLt6Y9#*U@_/CDa*#EY>mL*=<J1`i?>#_eE>#tKF>#V54R-Q$Us.-sC>#JZl-$"
";qgjCu$u+D(.:GD/I#gD)5sfDjR=,Eto7,E<$QGE`@tcE4&])FXXm%Fq$:)F$FUDFnwTDF754&G?M4&GIvR&G%vixF3)4&G9@LAG?d3^G@;fuGTG+#H.,0#H7F-#H4CH>H8[m>HVC+;H"
"4CH>HpKM>Hk@cYHrVfYHkNI;I*?fVIZ4HsIxq^oI^2'sIFHA8J-dt8Ja$$5JE6T;-U6T;-^XjfLUSLsLp8v#'#U^sLg/m#BACa9DP*MwBo2Yw0jVs^fOjG_&76Sw9f@=*#0Cu:#PsA_/"
"eD:3#-XmxL[P)7#?rw9)O9o-$srs^f&n_9MRPbE[,BwQN_TMwB1e&kk];H_&:`hER>C3%#]VfjL6b%Y-,L1F%$UGAP%_c]P%_c]PwQc]PxZ(#Qm8%#QXXB>Qj5@>QK9dYQ6lkvQ,R[rQ"
"W^w7R`1^VR%2trRIP=8SY2]SSBAXSS1eZSSeWroS%SGpSs=p1TI6T;-Y6T;-wWjfLmdgvLMjpvL@nVdeBfxvLKo#wLnt,wLi=/e.IL$qNv'Fe%>?s9)B/xQNj-^-?RW%F7F;xQNN)?-m"
")(#:)ul1F%r(e'#b#T9`MPxQN:IW-HZkiERx?-:#:-slL4`O_.kNC>#<C3+0Zj?>#rXF>#$(KV-A)xU.pBC>#Ai(P-uJ,[.3,A>#?B;=-lRgc.T-?>#qa/v.KgD>#LOl-$Uwv(b=5>Db"
"v3@Dbq/t%co5T]cM(V]c5A$^c+)8Ycfxuxcl2pxcpQ]>dB:o:dh4VYdg<4;e%+SVeU8)te>iKoecsg4fq%-Pf?F4pfN-Hlf<Ot5g_7d1gp@)Mg28N2hV[%Jh09)/i(w(/i*%#/ikGI/i"
"j+=ciXn#,jA>oGjIE9`jOVjfLHR'(MAX0(M_Wdke1U8(M>N].0m`5G(5n](MNw^(Mdv^(M>w^(M>w^(M>w^(MCk5ln2cjcs6tf(M#'h(M,-q(Mf3$)ME3$)MMhESZ8*#)MNf`xjYrBwK"
"<IA-m$q_EecI9_Atx@*#&D-_S#2srLYiEuLnNvwL05P$M@FuG-;r-A-;r-A-;r-A-;r-A-<r-A-Thi*/J9@>#<Om-$5@n-$M3o-$f&p-$(pp-$9p'8o^1)8osp&8osp&8ox;gSod-Blo"
"@A$5pDTBPpG_EPpZF[lp<VM2q5OY.qN5T;-_5T;-&WjfLl$@<GVU=_/=rhQjxtl;#i]w^fB/u##x17R39A2'M2B@;#qA^w0:B^w0:B^w0:B^w0:B^w0[`XwLd^g5#viu92@mu925X.F."
"Nje-#Qa4F%uHW1#QVfE[@J9wg2X;<##WjjL.=%q.u'`Y#d)k-$j@ZY#pKn-$I'o-$/>_Y#Bnr-$F/cY#csj-$:HbY#KHaY#rb_Y#45l-$OI`Y#Hpo-$J1`Y#(']Y#SJ-X.K4ZY#1ocW-"
";W0F%,&q-$>KJT&T=aP&A6T;--XjfLkecgLI,0$5<+pmAU6(&P4cYca9iHwBOg=_/TEv+#1$_sL(Z]#M**r:#2j=_/8;[w')B:'#'ULk+mb%_SEULk+r8Ow9A,#REA,#REA,#REA,#RE"
"@;R(#aUX9#j3L:#MbmlLa]BK-5HvD-%I,[.:5YY#tbEB-tbEB-`>:@-`>:@-x0^Z.S(ZY#SJ7m-aL.F%l]L,*.PM,*)BP,*neR,*bdPhLxTM11jKqhLaL[UR<=r%clJQJrkQ$iL4Y%iL"
"AX%iLn>$cE5Q@k=&],wLj(-h-<13F%-<bY#r?qS-XT=Z-:?G_&n>p-$*i3E+GpMA+H``D+IfiD+YgG<-wWjfLle7iLKe7iLqk@iL3l@iLuk@iLNPu=?nd?iL8k@iL4k@iLRpIiLKC7J;"
"PZn1CEPuoJfKK-Q:tixLaDtJ-/WJn.FAYY#po-A-9+NM-T$JY-Enbw'A#cY#1KWU-/=9C-W.PG-W.PG-W.PG-W.PG-6ure.XrYY#6d&V-5_#`-+VI_&N@X>-f1]>-M>[>-M>[>-RLX>-"
"1?Z>-M>[>-M>[>-M>[>-A1TZ-RYbV-dVjfL^A2&P(clQWI$r:#T&#kks[$lL9X`=-TX`=-TX`=-TX`=-UX`=-n>:@-@<D].B%`Y#Q@;=-,^BK-(EtJ-vj*J-8KWU-wvsb.0>_Y#tZwe-"
"M=3F%:abY#4*k-$lla8/*p8gLmVOjLaVOjLp_XjLJ=mp8&j8KMn>%_SR4]w'R4]w'R4]w'M^2_AW_':)fiS50`ar50sL;20`TM50kwP50h#s50fWVM0`[lP0XEiP0>NnP0bw_m0e_ri0"
"w5T;-f6T;-=XjfLX+v&un/X',ZcQ>6%/dV@EPuoJJVd--r5DwKii'=#h:REn`66R*7._vL@l+G-`S]F-#?:@-e'xU.Jq[Y#dl+G-'W_@-[G+_.@TbY#TaDE-ext_.S1`Y#Y/]^._MYY#"
"RHvD-tdF?-O9m`-E1bw'@cq-$Yu,g2tsE,36gF,3bA^G3s1Hd34[g`3gZ/d3cp8gLg]-lLjc_41nkiLD^)WVRT^0wg*tO'MBAX<#A+D2#O#Nk+q?S-HA;9_8b]JwBJ3E/#7sjxLAKx>-"
"Qi)M-t3S>-V0QD-*'l?-H?&n.3baY#:2RA->EtJ-e(m<-2R[I-g=%q.Se[Y#P@n-$`n<#6*7+?6rM@;6F5T;-lVjfLl=.)Gn&dERs2Nk+k:c9DQYnQWL-D9r(=q^fJoPw9@lREn$oXEe"
"L2$&#Z]f--#^f--#^f--#^f--#^f--#^f--#^f--$af--$af--$af--$af--$af--$af--$af--$af--%df--%df--15x+#xWM-QbV,1#Us6R*eG^0#s+76#&91R3@RWw0DmJ9i*Nu(3"
"<Yv@bmc'v#D#<A+tl(Z#<1[S%5c:Z#O/oA26bMBkFhC5/t,oO(T/XjL3=]C#e6bIh$7k+)5[ELur4n0#i67##_6&=#Sp=6#AL7%#KJr6&jxZ<(L2*E*]j14'?b`,#N`<Lf+r+@5HMWRu"
"&NWL2Wnn8%^1TV68ud'&n]d8/K)'J34Ap*'&vhm&1Ib#-Bmt-$KRA=>jdv,O_75fLT,pa+,Cq'#l_(/:v;qr?Di55/+U+_J'wJe$RMs9M#c$##@k^9M?^t%#)Q3o7V.YA##>^Y,O>wD*"
"Xt8q%T$B2'Ne.w#TQTU%O2@H)?U3t$MX/m&C.dY#O*4]#AluY#j`C$'In7w#'3X?#_.5C+a;ik'l;.-)uUx1(ptPC+Z^#r%taXt$)P4M(q0ZC+QkI%#lJ3a*'HP,2Pr'W-$P,C+=O5kK"
"t.SL(BaFF+_f%L(ebpF*Zw@@#txwD*)ZlC+PSaqIjfZw'^Qns&T`s)#k6QGkU(=%bsL7I$;mtghncgta$'W.Arq)f$<BTe$D@9$c-[Yn**bn0#$JJk'J,eih'#jiLCL</18Yfo@ALwb4"
"P*/i)FVP8.R1x;%V5Y)4355jL(+F%$-@hB#Y-U&>($n'.#=1F%;X0jC[2H_&i/LI.(GJ._#0b#;6Oj+MEaCnu#A)##bMIV6W2wFrb^9D3R4Y2VAdic)%Y;m/Lh<B#LMUlSPRV[&4&P?#"
"v$ji0V*Hc&+0k@#](`@#NpnENQ%ZHN-M$T.;EpV.dt?H)ZDHZ$J3xP/F,WqSW%ffL3:YoR+1sQ/sBfS%u`SiLqYae3O#H]OC(qb$SLWSS609?-naRD*jfb;-E0D`N2umdNnfM_#]g(W1"
"_98L*&eEA+i0Km(C_uf(dxq6SKF%%#[YlteTHv2AuUEpLt)&7p/a9D5-shl/ESY@3$8'hh@OG-2eY.@5ZTjl(aPZXNdd&@#UrFjDw^8B3k==$cARSm2dHT#AeOh1M0^+(/J29f3S`jj1"
"q:gF4-a0i)aE^:%B-Tv-q?`[,^81#$Ynn8%jm?l1KII`,#X3d;:EX$6u,wl1:Q/f=p9H.)Kbr@6xFKg29uC-4G5,g=F?A(+&pgm2V#l^,m%g^+F=sm9oHx.G8Kb)<BC=R02%(J)5SeM1"
",i?'?0_.h#N5KU'i3n0#]rT##JEf9$hsq7#U3=&#@Ja)#<?=d7NeBZ7CtKW8T)6<8;nl)#:7D)+:&D#$.N,AZX-:c3cSr`3<?jB#>MdO0K0bM099***aB&w#Gi'=Zt6ZC++pWA+Ixv%+"
"Oevu#^qWW8*qgv7bgdv.n[si6%6:q'-ahV*@)B*#M(gLpo-,=7^#7/(gdYGuvX'3AB9GmMmq^N(,&+227/_HNrNWL2UH:a#S,m]#]q.[#C]R_#-87<.uiWI)*)TF4_E[$$%W()3n6'#."
"nY9e*r8C2qqUSQ0=U3>d@U0@6Mm)H#;`XK1rq6c*KqnHNlO6]6rGl-$XjIKSPL:58$%v1^YRro%pw[f1W*ruPlPgi0MH@M9-#?/scV75/ZtWQ)I(D@#,t<SRPc6J7U',E#c^XP&V$5N'"
"QCI8%5+8B-6;A&4@5Ki)&J1H4e+1W-/q<G4LC]A4rTLC4P$PN)OW(A$A+2d*L42W-Ld=>-h'<H*%FlF3_To&,TUjL)&='l:L?Bn)8,?B#HNUlS5FLo*b*s@#ZKe`*fI`;$#(#N+02Rv$"
"r00B-aG5W-JH8s7Jk]w'W&7L(*ARP/WsB2:GO;mLA-t9%VD_8ITs/kL]?GF3k6]S%14Vd*>he>#8[_oIVjQd)C-O=$erMo&c;7p21J-'&d5LQ9>VL88L`nD#vRcr&>Ku2v1/HQ&h=B*#"
".7O;p-fj>7fuLp.`fBI*<Mq0#hIQlL1rjj1A<OBkL;YKA&#P12ln[#A_DO;p+idI$XDI2KBT'$cejAu*-fGeM4M/V/CLKk0Qpc((,'X2(CdF?-T`Ca%$BCpLCJ7e2ag](%%->F%H4@x6"
"c8w)4gvYT%BV]C4+ri?#aSID*GkRP/x,Tv-I*8M)SwC.3q3ZQ'1O[sACDtU*UqRe*?i`i:+EDW/wVX-*Zo:(,?+Yd;4#C;.5o;w&D%jdE6$,/4p]b<-VW`b=>,hq.vX;e1?+aq897PM("
"rq/j2E,+L<%sBe*f[n%-(:':/eJ@j;=E]Q2v5/K)j'ZH3<?h^-DE*H*7(q.&:cIC#P0s*4*m/W&3,D'#n3#F#p3]l#%]u##-qw##i%BQ&?>[s?1k5T#YZ)220241)6Wg8%3.p('#mhm&"
",O(i2ewgIE1c$##s<n(<S*UV6Bq/2']uq;8v)KN0Be/6&]jGpn4l-w#oM<5&8:NP&wCU?#/I.GVt7[`&eAt&FeO2w#IXWP&*/s;8lUf=%U_u/C7)J-#^]#K3iRM0AM3j.AAj<BG3B^.A"
"@='53_M%6/l/_:%g<7f3a(tO'crr6:sRJZAF;=n:U^36jZNrMsBU`kAbV)CM;j)vu>a<_NRd=:&f26?$0Vc>#SliS$PCFGM3([8%AlY>#8&c+`/bX2$Sl^>#HAF*$F?>##-TC;?$)Qn'"
"RhDZ#NBB6&F#>/Ce(Ie3qII`,Sg'u$;ntD#N)bd%x5[]4Bu#2^bLvF``.l/,A[lrHst2[#aDUcDZ$F2_LATv@ZHl?.cu1=Qvo@2+1_3&+ngOS7sX(D+?t3@#L89Y(2q,?(YrEe)K]u?0"
"n[ET%PpEh)hGc^,]ise)JA*o&%#Vx0ui%t%c*8Q/NoL3Ch.Z2(tqib4<ZPk0.AQDcj($u@+3BT(M,BJ32F+F3aVPH3%0Rh(-X;I37&Dd*p+61MO?1o0,P;s@c0t<1WI]2NT?1o02^k;-"
"E)^m%Vv587Pg5N'JKOA#r[2Q/2;XQ'[bQP/&,]]4-K?C#;'PA#Q1TV6vtB>,O81Q9w&QV%<=&[-pwiJ:u6Lj(uAl=$p+1]5<D=u/wda20OHZj'Wel`0)q97/5?r($ZM8#,a/%E3f>`</"
"f_fv$a@Y)4Z?cj'5V`M')fsg;U;###YcZ(#[;lu#Of1$#_YDY$82R8[3EZ,&GOrZ#82U/%7bf5#.]F?#e2]t@b$P12%3cEn7aG#bsds&3$q@+4_T/i)_kY)44b_t<7q_P/k@`Jfhw19#"
"0A4K1JaB#v8]+6#MsC$#g3xr$YaWj)/-V$%a]$@'LQPN'#PVE<FbW9%6b:I36mm-?=&,7p9$7h2`XcI)]#/Z5/]NT/r(0?-@.&@#X3^j'tm#05Z,pq1.bUdM4--A#6@.@#(6>##V2q%#"
"?.2Z#sqJa#Wl68[^`*Pf3K;Y7ZB_*#A)x+2E79H#`.@(knlWL2uGOhLhARFsvH%)?rqAT.O6&=#[Tq/#YC`S]D),##2G#i7CQ41:UIL<-9xqv#>4+ve#^W#.f>PrLS7(u$e9/<-PJMM%"
"5]Mi:eqCn<5]3onYbVlS8<_<Ln.Qj)5?Y)3>>UG)+SC;$:D=e#@wI-#G82mLw;,,2Ar[999mX:.SpoWA9.uS__:#C8N/5##I<Jt#pfK%MXh>&#93:2(C+3.++$hj]5QK/)dCsV7,S,<-"
"E'+r.r<a=lV)%@'D?niL$=5,Mw'^fLVmO?-P%9gLIk>l7c'A>-L*A>-5uU5/W1,T7g9]nLJ^Sc;]]Rh(0ie/(p5Ke$`S#%Pq%KV-P`IfMC?Sc;j&(2qVuI/M0p4?M5V5;-kp/C/4^Rc;"
"YLKgLK`p2)1hVs%tO1hLASGwP++i5/ig-87@?J0MZ#6/(Zco0#p5'hhVj8g2P9SWT-8@m0w)fF4_R(f)-<Tv-&n6l1#.,Q'm?`[,tq-x6@%q2F=uw-$t3o='nR39/a?IENV%/8@OGX0["
"`r?B50[2O1@ml.NxqJfL$kPF#+<&##M?w1^*qN`<JOW;$*J=&#9_Nt$R4eS%JTY3'],xH%PX2^F_=dv#tb8>(6)VH2AmrmA]I7t$C1rV$'42,#BR-@5&KU^3i3_h$i(`#Aq'(7p&041)"
"x?.J3wr;O'om+H5].av@SqbN1w*)-*;_sF;'1la*.4lGM,pHlL-M7;omY,/1#Xq22W%BF*1pA_OH9B:%WV*E*l_#C+Q6FS7+I5+#uru##m)DX.9Q?QJqW`#P=ZP2_/,t#)O[.F%@EW^("
"EtN>dde1hLt4nV%]KH%-R[`$#%vMG%aRV$#?nu2v9OXh(>`bQ^13I@%$RX2_tDEB(CbGb%UK2-&kgBQ0L2r'/c6NVn&ZEnL=wRu-R0SnL7J&n7,IRc;>oCZPo^-87S*)kLQK1o0(a9D5"
"jp=5p.lhkLg>6/((F<fch9R*1.Mj)MgK$12uITB4DpMG)H'5N'r<6g))ZJ+4$2f]40dCu7&P-TI=*U&$JH^@#+i9@6R%Sq/(Ga`u'Q8,3qV%M19L7=-_xEJ2C<Gg1lC-x6$g=f#%qov7"
"k/Mh195%F<jdO,2q9Ga,w;w-3N#G',mLTF*=-@?,`ff-#$),##M3/X#*&%8#`T5i7aAqA#dS1DN[n&U%/wh_$8D#W-E30I$_UJ['X-u2v9$tpL,Vc^?Y(D[#sfKG.d@lJ.bD(B#i89B/"
"kPl)F&i26/H?K.EtNc'$/T1v#dtuB#'*UM'-1Sj0p@pC43c39/wHJT%])XuPntjc5Kvv/(]JFO27NlwPp#$3'FR]b,;%Hp0NaokLqm26p%[)22b@O22+ONBkEWZL;O=Jt@,&+22sS(9("
"K%Q;p19ZX$KY<n0s`Mg4v+`5/c3rI3,7vo78*?v$$_xP/m]WI)Q^0#$?2@T%]JI`,XJ/m;6QmZ.URT(4Kq[X-/AMU8:'+q.0eZ`4U9Su6mF/u.R*4TB=q2M2sA@L(8X='6TFK5'lv-M1"
"NTSE+KT8k9Yv5R&/WVW/nx`U%&h5v.K*5A-G_R<$A.f%#%/5##/c%T%__s1^Fa_c)dxu>7VxZS%X83e)'Mml/hQ3Z#Akoi'qj`^OTG<E*-&su5p^6S)#(`G)hMJM'1KF[P($&ZPEk&Q&"
"p#HJ$-92,#>)=3p2[)22b;W6p5$E6fqFZsGq-xghSm8B3leW#A(@RL25$;H#N[U&$:H0O9t9Ha3V@Iw#CZ@0)HdKQ2&9L%@$xEA4A]KJ31HbH1iw0T2iaTw[7(5K-Nw@s0$),##W3/X#"
"pcQa01P-f7&c4m'J^q+M8a@.Mo6j0_:>c&6<KxP'mb%T%J&@4*+:bx'JOvY#W#C'#kJ'J-8k%a+$NZ3'u_r]PBqdl+Vnr$#M6v/(F?$2(2i:p.R^Fl7.NGb%84cgLr.IV%dktK(H;^*@"
"jnET%<_7G;ovdo7;vYEnGgx0#qFT-ME@Z@3;0/x0wxCp.N(Q;p+uF,t)bV[,GVBh&q=NT%#8o]45`4Q'i]0NP$%>?8qwEX.F#Ce;AtY;/T8.HF5A[s$#Fw(<*f_;$._'/%*3j-<2-LT%"
"[owM1qd(s/hN@J=Uf6r'mXS(#%/5##V<Jt#4*Y6#k2h'#QJGX%N9_[.DK0T.DlB%t3*m<-1.r5/Y<t$#dU$iL_'U#?]KkG2?bNt$0YY##)1ki0A6w9I%E$.2jG(6S]@_W-Ndeu>Tkvj1"
"?gji,/@[5/`Y.X7KRV$#=$so*kmlf$Pnhr].wh_$;%Hp0jT%-1&d<I3TS6/(*D:B3DVvghhV_5/B,,i2oV*QDp2Q0)$2f]4RIR8%fXWXAZmVa4a35N':@J;%A@:f3(-l1DU%Vv5hda7'"
"2&T#607eC+UuA`G0gu>6OCsl&k1iZ-in-q7;A5tTj<#)<o>%c=KC3U.QbX9/'m83UoSpQ&keS-<uo%21P<66:$,>>#;c1I$Hlgt#<$M$#S%FO'ad68%w2$0(GPV?>ruCG%QU<8pP#7/("
"rlFHp,Z(Q/$8o]4ZH7g)0M7JW=Y8K<NL+Q#@C3r9_Yww[.m^*=m8j3Xo'W*@SXvu#LP*fq?x.>cxS:D3xxUM'eUZ$v$H]$#[jv2vlFIN'Y]&4(5-S5'xhe20-lB%tL^`$#HF,=(L[Rc;"
"cM#<-HM=v-,[DiL#_B^-=_7G;nXnv7:d712u)Mh5+X@q7)j0s7VxDL)]lbp'R^Fl71jZX.N#>;-On/K1^hpi''mV8&R=Z/#Mc.$pYc;)P[v<[9jl:&PM_`$#%q8q'xr$Z$/FmhLu,xg%"
"9`-1*JCt*IV%nf$MwMT&.wh_$J<=V.jd-87-D:p$e>(,+a7AC#UjE+1T`86pp$]#AbC`8.4]Zs0&;%q.9Ro['(,k-$&wY$0S./(#YoH2ri6Kd<n+>)4dI@X-C2Gn(eY8f33>XQ'S,e90"
"1kUS*bsf=u^&(,5[+V.*@HaH*)7d.<e'jL38Tpr.GK9iTS_J:/SeP2(%<Ms/4hkL'V5Y>-4WM0(x*KQ0&o3n9(Ui&5,c#)4h7B$50dug3/c)Y7i<L41`oKoK>'R,*>0wg)[pj)+;66F#"
"PBb#-;j,s.Hri9/Q3&S8XK9D3o)@crZbBA+uG`4f,0Pp8fn0hN-r:T.+BS$#u%Vp.-tr##<2bGk(M#<-)*vhLVW]ds@+w##d4MW-FIM$#s)u1#rjquYMhZ,$x,]>#M?wHD3+V$#LxdS%"
"Yq?-Nb`Ys-E;<hLlt8'PLF`$##'L_,8wkm&2G#i7=ORc;e[H5/F^98/GuJ=?=10,MSV)v>eP5<-mu:e$Il$-1.Q,JA(R%@5kbW#A*p#-1>?RL2Rxhl/Enn8%hB:a#6o%f$q:%+Y2,`)3"
"P;Bf3:tpG2]]WI)S+O3f@<sPCtFUB+6Yeb%lG-)6.xUv6jqNC&',gEf_-wh*KSBs&3Tmi;ZvU=8/Ao-F'SpQ&ihfH<tf`l0O3qp9[#vx4+g^(aUI?5/4V###`,^e$Re0/(pJ,##EfP##"
"5+>N'R*3e3#)P:vU[0MBYD5m'ilcQ'L+)?#/c+/(l8BZ5YZp%4qgIuu5xqr$?uw;/2VY##2wH8[E*bX$5oLv#)Auu#+X=m#?12v#+VUV$8XRc;8-u2v6gQgL[Dc`<Pc^Y#lcZ.2G''te"
"AaQ.2bTS;',%/j2see8%es<H*>ilK+$V9S[QR/wQ0Rvq^q####Svsb.j3PY#[o0P3C&>X7N@w8%8LEp%r-eJ7x@k7[SVpA$Is(T71MY##'V-Zk+;XJ(&d<I3?K*i2lN7g)0-k-$HBQrd"
"4Pu-$+rkF#TrhRjc]`#.^snb16-@8[BtE=$1](Z#I>5U;NLiY#ce^k./Vc>#[beBM+Ud>#%f'B#(1H9MxqkR-A8kr&)*&hLp/L]$4mus.$[7S[8i-A#uE9[M9L^VMMABwu>kQg#`AO&#"
"GtSY_c+Z=l-NRc;nI2F%GORc;ja=T76To$#,1u2vNr4P(Nwt$.)jId+IX'q/x&``*]O5c*[?NJD2e=#$)1=Q&BICV&:_#12XM1v#]S.m0-YPmB7)II/6aRc;0EvtLH9]g^9X7G;?S+.#"
"Yw26pHF5,ku)</(sg9W9`q%9A&#P12B[ggE-3ot-E[QB?r+/d)%CW:.F.@x6bT^:/p%G?5nS&H+YI?C5oO-C+c)BE+8LgD*UE3H*V7X-tTd'^#m5Hn(oct$6oj?l1&l3]-MpqG)fTqO1"
"d;#F+@%s_aE=FT%pwao7X<]VH0<*29q3hCsQ*K(95ix8Te&*C7eS)E#Hmu4S^G:H.%&7AOk,21+0SP>#(O(v#LbY9)J?8np6[(<)h8U`NK.75)BJ93,dnLSIa<G,,P7LHQHLYa#Qwqi'"
"rqTa#m8ff=`q^#l-V6w#<9.`&+gjP&mmGC/``eP/Smi#?G9RmK1qj+V>'<`>X*Q=(q.Y/)I#1L*&4^,26V]n0bxm,$S;7,;1ZxY#CYfK5I_.0:,GY##9w1o0pFdJk0YP4(`$I=7P6cTg"
"pdvGG1h7u-*Xs);<]_$'HZK&MhP$5308Z$0egSm2dZlrBBVd8/?-Fm8X(m,*v@0+*X+Nd;)IlD4'W<EG/.YI)7.,-3k=8C#K]k%RaEj=*x$oP0OIN&-R<GA-^j=J4.wM+*:?/*+#e)`H"
"3R,H?foHsKX`cX&v<eM3,:[>9r[t2>bc4`7ZC76qx&gw#ck>g)vlxp0b2`K(b5CG5b;7Z._*hOfgW@^5AT.dF4j9=@/>klMg$g<$`WdE3c0JlEG8`+4bZ@v8H[_)=]x]B+woT;$Z=D*>"
"%/5##-5YY#ko=6#L_R%#t1mi';mNg38/>7(Y^5n&Oe<T%Ge*t$b:pF*i>7d)go%h(S8[gL4j4)%S<0Q&1McY#`+FI)ML7%#ci-n7l[[c;MY&w5sT[H)Q6GJ(ev(K(Xt*A#^V8M+tEMW+"
"QK+A#+o5Z5h5$pIuW]_F%=8x#r7Xe)9Qns&bXl#%'82mL1NWb$q#&7p-1lZcDcW#A'DR`(`q-4(rq)f$l>;@K$h^3(B0G7c4UI%MVdMIMAiG7ciuuh2KT,[-E<^Z-9tT&$Y82#$x]$@'"
"3mk?#cLBN(mO8uc6kXQ9&?8Z?iMMT9qrT;7rwW&-1&;t[:cgCTQ<s2YO+K>#`&x3;t+&##'6GY>qNj`<O4b`*/Dnx4ch,3?5tcwHaTuw$AhhHM`Ks$#49*?5$,v##qXKvH5gcp%?d'1_"
"n/AQ(8X7G;ip6R*Zk]I29f61*P,w2vI6or%nGR%5(-,P5nid^&XD#?0^U/Q&t9moJotJ*#`k8B36.-@54.;5(TS6/(fO/o0*dhh$)-Dn0JLs&3-9Fs-6YTN((2LwIbao8%lYWI)Ul8+*"
"F.158t_lS/a1b)<Si(?#VEmh2V5II2+RD=6<TtE4pKM9T<H(k'@G2l0=<'E+@YB6Ksgj22#J;:8S*rN(5x?s$%r[h$A3uf(V.ZC543h*<=6SI#:N[fLl31V&e(rv-t,1*<<;_?-:MNo&"
"(2>>#OY*fq@v(>c1eArmEsgW7GdlNDM#dV%`d9LNHKT]#9Tu)3<@V$#I6Dk'Vp]E++$hj]R6]nL1Son7rAGb%CGA,MCC>,M;l6/_62xa'uxI>YjWu2vn*=4'9)57(&(ugLochU%-F7G;"
"F7,hL0iY^(Y0SnLwD2m7_5?p/Ua:K(-;ZT%/M>s-&h@.MBmO#-2JPk4fFsV7mF3#.gmnJM2jc&#3bRc;JariLB?L*#@nQ-3o*AI$X)gG3U%vs-.$X%=&MQ4((>@12c./(#W[Zs0]m5[$"
"ewql8<wN^,r2Gg1F_]r%9=?c4LiY>#g49g>Zvo]IaiYK3o/mr%iocF+h#2^-bAhc5C?A(+xab4:FOoMNaDfb@*9i0(6c.N'SY$3:pK1mCgSNS&@b(O'Z3n0#X3GY>Z3ruPGA2/(nhJfL"
"O/81(^9XK)5ORc;v_FgLa/:U%D5KvHn#=?#KX^S]^Fb3.H+^.MftlhL*ts1-bIK#Y%E$V%<oQL*K)$q7fvRp&mt:hLF)x8'RxQO(`M*T%.wh_$)%Hp0LcX-3*xBB#(2MH(6^Q^$Je=n0"
"=h&T.a%NT/$W-i$=6,)3>U^:/vBo8%U@dY#5:3eP1xm<01SXB>OO$`uFtsnNcV^t%a=/8@0H's0,J7GVbN?$?%mMNP]_bi#hpiW#&),##&6YY#Fn=6#NP(Y7Y',j'X$aZ#F_[<$GoWxX"
"`K/E%XMQpIBCsoIOw,87Ps'*)%QXW#R(@B3#Cf#ApnWL2H16g)4`d_>0VL+`$`q[k;_v1^2L97qN4n0#-vnA#)f'[/?W]W7LXjP&.VY8&=H8+@R-_ih?ejN(rG;kuU&+]u9;A]%i.kbu"
";+,##RBSt#I$%8#'w$H^M_`$#8Uu2vB#Nn'<qYa*>GVH**XVJ#eO[c;G5Lk+>9TM#M9#D0E9O$#:0AW&D),20KC3U23.bw'qPh2q(;)$#haG#'ZABp&cIwA-D*SY-e_-L,4F1'#NXg(0"
"v?c+MQ7;X-Xc_w0RM[W(Bmd)*Z8:m7MOV$#IkBU%J81N(:/U,N#W>W-MWb0>J9og#Z0-87E#En0H^nH3.Ov1/)cX-3h>2mh-FZs0-d`*MaFIscb./(#P0ki0wL<O'pvH&m>4158:;LB#"
"g*]K1a%r8871(<-ZO>O:HoPv,^R:+4LZpA,q`aS0mQ5>>B&_5&lDJX@0K-m%nm%(+t2^s-^rIfLYS-C#$'&##H-w1^f5Q]4;LkP&rv+v,1lLZ#<gEp%RFd('Yxc;$#Ol#%Tc&*#=$ix$"
":Mv5/1eYGussUkLDP2N(4o0N(501^#D6Ddu?G`H#,`xPuYMj`uEj=muS3WpBVSBi^Fhd%$VAd6#)E#i75O[c;.f_V$CN6,$`V:CAZ80*s;>bs0vI=F3eV-;B%>nmLZp8Z.t2/X#rZQ#7"
"j1qV_mTcIq+Av##>p(@#P4LU74)#r'H3V$Y3Q+$M6X%iLh#C6&A@0I$FESc;E:[S%?nZq7JQu2v3tpl'Pm(nJWpcN')s^W$3bRc;x[Wt(ZUET%#'Nv5-_1o0XeH=7YP,JA_nQ-3^jq3A"
"HuXL2Wrli0]+AT%vII`,k(TF4H>eC#kt&]?E-el15:dg)#nc<8BSl_>PpVK(FA#r'=xkG#?%Br-(uQ9`?/lCj;+BV%W[DZ5hQCZ'V`*I)[a^@'`V^?#W*B]XMAja*9WaX&S<o0:Y8)S&"
"bInS%_[np%w<vC+YODv#+SUV$s9>gL/wcca#*lV+C:Q##v=TC+&xPC+0&*)#EjZ`*/.35&Z8:m75^x]%+pUa<EG(w#p:]L(f0Q$YZn1gak4sQJDh_V$nGpi'dcse)D)BQ(4miMiwmvGG"
"-dBWGubK^u0&J4(IAe^cFoK0%kUuGGqC2j9C8_B#:4^1(MM]s0jtTk$SO:t@a@Iw#c`[D*IweP/Fl*F3W7o]4?Q5,<s0_m0Lm;f+Yi)(?jY<<B6O(S:lK00.FlK].g5nQD8Wp)?><K._"
"S5nOf9'Rl;wb-q$J'&##)*&2^;x&c+x478%E%kxXs6P^$5a&*#u[=qV@2MH(q)tt.EMBqDEHAtu7<g+>#1fFV_sDB#gB%##_d_-6jBaf:W]9#vDT5w$3v;Q/KlB%tNf5(+DRMDX_sRU-"
"?)LA#ld*&+&epf^.]u'?d771_8,,E5MZt87v6L`N:x6[#>enCs=IET%?jW%tc0Vk%Z]#2T4eRZ#tMUcD1N7)$([GZ(e):DNeGLwGmSv2vN2A?#ees1-vT6Q^9e@G;Vw_iLO^AW7Qq@0:"
"notm+Y^5MX7F-1,&PFD<0B(50?r@>#V4R3TEHbw#TmO?-l&1w-&CL-M>p%9&]GM?#`gG`0];B],'q=?0u2B882,Yr7P5?2_q)IE'Dno;%cwPm^I$AG;`6o+MFv[s&?0bcW[hIqJl#/68"
":i>8p4]Zs0jRWNr+VN/2M>6/(o(Q;pWI?t@(_YIh)$Q;p_EJ*1NC:,11k]#AmQim$rlxGG&51L5UQnm0Q+O[$F+MJ:@v0H2$F.J3<2m8/`p+X$n(7D&gFa9/hWYN'@`Z5&H2)?>Jb.a5"
"wOvx6ITr%.Q4&N'3s-W%et3i:gc*]7B:bLptq#-]gNxWIA4&G4$io;1nU;iT:qZtHwY^@@t>Y78anv5/`sw1^xSk4So1o['HIZ>#Tg(v#5Mc##qKRH)m`CwG1gcp%q(>R8shp58iR[c;"
"+=gq)RvFvGQC9.)>m6jTXH8E%BD,?#$)DJ:k(3=(,-KMBcCD[#qn7b<Y271(qII8%8CQq7fpip7d;t+;YW8<7Zqdu@n'CmMl&:A7o*kKpp&b3(vd(`NnEp/ch.Um2dHT#AI-xP/Fl*F3"
"mPnL(Etkc2Q5`p9'E=SAuBrnD%gt#/Sh5[A$,E:m='jhMqg@`#n9,+#`5MY5=eYlfEvN9i*4A8%qWO2(5*x/_:FZ#M*L>gLSe*E,%f'^#LPqN(5hRc;K@V$#`^l'&1Zl'&]<u2vipu6*"
"J,l3+12*x'eCsV7Gn3R/W:M$#S9q6&@s&vHSr9)NFXPgLE;Xp'_VTq)MNE=&fg_K01P7<]*`Ys-I.TiL^=ftHms3?#d&CkF6&CkF..u&#B4g(0qYOKMW5fjL08&n7>LRc;dnvN9_:lc-"
"<io6*O02hLS)<pJW--87=0>n07I^ppvs/o%maTSq,Ebn%Wd2_=?sk,2#F/[#h/>#J'@G)@`mSAI*XuD@p.:#67QJ(>/[7#67ZfC>0m.8@9/Hp19;se?n_8<7wIXT/C>M/NO=$##&3GY>"
"rB,]6E/QM'<^0A=7Fluu*<J$#-4u2vfw:T.$#jIq7<Mt-72jfLP9j,+7U7G;_MDK(hA2P,j_IT%+jJQ(f7?$#@_l[$LtAm/J[P4(DNs&3)7I#3,R(f)s3si0jn0N(F:<u-CfPR(dfHC#"
"7kO$1*IDk;Eqb33SYc03=B,#-^R3G`=1RD>plG:v7NB9%lOYIqZB1S0U=0p&1scE[)Xn.:iD->ctAu(3>Kc6#GFrF8,>kM(aRr8.qI92'%;bJ2G_Rc;2f,D+k(3O'T>N3(,VY8.#*te)"
"dh%=-sMK98N:Gd3A#jIqhC)<-lV_@-em@,*t.>jL9JF-&H3U[.,pI1_VQ*$McQ,P9K[chL$iY^(Y0SnL]@ei76IRc;OZM-MlSJqJ@iwJ1(%Hp0AHcn0QFPp0TPi*,Fa(tmNlhl/-s<3p"
"pk,@5P5Ii$5i2s@BoO588&W<%cK^:%Tcjj1MF[X$>]h58h.+r/V<-D#K;aw.qa`m;fZH)G(1KZ7:<8=J*,GE*sEx<$_qS7/m8`D3CX1>8c0v2;aX5e#Ome%#S3ZtLPLWg(g>hd%bO6?#"
"3>WP&+b_`*3TZk]W6]nL)#&n7pPGb%;LLHM1V4faOHUQ&7r2Y$^f=F$`aL;$b>+qA%2l?,$l#D0Busp)q(6$#bPIh(%Tf68T$-87<d4l(G^aI3Vv>m/Bj*u@[PE12%K]#%Tl=K9.+7m0"
"KL%+%YW]88Y>>H3?DXI)K*+KNsOKMYwijI3801.2MD34'Zs5;Bo%*wQuU(47bJne<uUKG3JS#K)2.vu/sAC$7,Rueq7NB9%Q/[TBSb?Yu#f8G3r7.`,0,>>#6d)fq7`.>ct'$v,tNxP/"
";Ci?#CU<5&Y>u,.IKXA#G?=@#X/L`Nn6aq.$eh%OlQ*^,V&-Z$3_eY-)8*W%*;0^+$=]2_]n>^Rpvp*^3R7G;+$mX70MRc;4>ro.HTG#'=hRc;0k:hLixi0(G,1O+7,vg1Q>@N'c2aqS"
"R-Nd$_],d;:CeW$j[tf,0SQA#jU,Z,Sn8C#6@P3XbGEX%-f:C?QJRq/6T6RSL175)uBpnJPO:d-fIl3+%sh6SlDHs(Ot0kXNFB*#P8V#AwU8B3jIf'&h/v2AOT1H%;v7R*d(8/(.fUkh"
"o*Lk$*4s*%u]9D51<Bk&YHT#Agd5$c&;U,3i1a$'%0VfLcAj.3R[js-_S1+EG75Wg/u]^$w<Wv-][_a4(Xj0Tt<k]-2%WC,_8W2DnCa_=v4WX.V62*4HbRe4jW&?0&l^T&Pf&<9Oj?[-"
"vkqW-lub<@YKqE<n:ta*Np,8/wV%h(El#k2Plxj'B8^:'q3n0#O=-##55YY#Un=6#OoUY7&FnK#a35##)G(v#Tu)vP-M:;$_wrF5aHjv#;<6pINw,87N)9mLHl_#A^aYGu@h3^cE#jc)"
"0q3L#Wt%p.<+tq#vcbFV^0JoLTM?>#gI+fqgX4_Ai8DV?Z&rU%=]qk)#cB#$xX'^#N7a5(,,iw,QQUg(Hht6+Nqmc$6vQq7G6cmJ*lB%tm2sb5_(bd&oBCQ9dj>n0OVH$K6@'3A;6g#A"
"8Av5/%]R_#F-7(>(Kl'&eZ/[#%P26C@a_^@Q<R51RO)s7_8eN:w,5P]AK,@A?OVh3o)b(<516U0xD+9&V@t(NA]r29=mYi7=.3@#jSu+Dw<$8'bDR@'U1Z?#od0DNYK]&&P^*/:aaN*("
"6_AYcSiU0_/07N29e@G;`vGn&XVYV$<PUV$*`NX(kk*t$c8uvGSgYR&C?GSfDk;]$s^4A#-7u2vn,-+*?u2)%R^Fl7XdGL1Ut$s$hciS&K)7-)X61cP<RU58%X6a$FJAkhh6G0AMSEn0"
"OY5YN2>hBF74kn0SRGk0(@9$cWC]o@88JC#=xJT%Z@Iw#)in$$P:,i(e$L_4mc,69$B];@fJMT9RYvLD/s$14Gx:i=VhQjUT@8wKk9?wL-bZ),V=bcMPh:;-<]@Z.fh+Snl)mV%fC)+5"
"))Jm*o>9@#@A(8Ibg&i#XuK>#21A>,ci-n76eRc;k3Ol]3_H.M&v/E>9e@G;1u,(+7,LJ)str-.u01J)/=XP&'<l]#J4h%OZ8RL(hC4I)q8WY,vNE>-smS^)_c6PJ=^6O$nhh>#Ua`'8"
"k*#3'Tx(<$I1%<$#p4/(+W(pALx,B4Zv5MTnXK3(;SV8(Kt%@#S2M0(X@_G)Aw`xFu8'J'.O=I%Y=Yv,;C*9%mh<E,*Z>N)('niLx'Y5TGOh/#6aA>#)balA-6E9'1W5##U).L(rdVp7"
"]TM58R$-87L8*jhh_9D5-[Es-kxpkLq;6/(igW#A6,'HGDF2wnI>221OGxMNSrYHN<Upi0?+o:.sP&HGX8JAG]lu2(5cg.A]WIm0t1(_>CRIAG%AwDEVSWM'ucl8/H1%`,'=tD#W&QA#"
"^7o]4f+I8%whH>#K0qr0.?j@.+%F>-,wvv?xLPW@E-=#-,>'_.6CE91+DS?Nef^N#+007U5sWiD(nDkt4(4FR,mBouf8<Fm$,>>#:i###@kv1^@R)B4u?-7+Ksu2v]]Qq&pG.V)@K:K("
"^#dX(U,67&n]Rh(dG2O'Owfi'Nq[W$Otfi'[>%h(#4S^=5h^j(ci-n7Hneq.qlUwGN:+O4tEf@#aFf+M'-K3Mi0SS%=/>7([o)<-ZoR1(e[CG),>FS7WY+oAs-PIVpIG(+2Spi'1Z>]#"
"h[-6%mKN78vJ]q7p8Aq7qx#-;=R$HFs.h.APl#><<Tnm0eRo['i]E.DOTbA#9E4m'wYGjB,g6e2]^7H#44;t@GweP/_=q8.G8j%$PHCD3]SID*T6+O0i?[(+pBDn'w-*^8s#3PY*:WZI"
"^VxK<^+tG<2'<>?-%gi9$>lY#O+,9_'$###*GY##xs1c#>0`$#tbTP&ij[D=umaY%Fh&Q&qWwH)^;`0(PY%-VCB=w#^_:/#Ulcn%a(i;$2o_V$Z@LG)CnM]Fs2n7[5_fi'LU)Z#AI.@#"
"NmGn&n)&q7aQ;p7Xt#1<TxKm(C9I12j[iKA,qt23(nKL&rhD?u/.U`(W:Y)l]sQL2Av6C#*LM<h]6,9.m=@8%E`B<JP_)9AbOLZ//ea#9wDdwf'/t:<'E`7CE@.onjo^Eei1$##6SWEe"
"^qRc;U/aK(Se7@#_O4gL(bT$H>[.%#Aq/U%T:eS%a>QR&_Z(,)RLIW&`gf&&M;EDuX9LDu-V6/(c`TBkpqx<Kppo+%]/Sx2hR*X$,0fX-(D+^4GG2^#u?4s8^LW,+^[%5&N&;T9o/q[u"
"Id#r#HP2_?(H(U1@>qpAIv5K=VafERFvo.:x+.j'u3lC,x.iV$ajfE%h>>+%Wf'##^l^6p00,6pQA4x2YN/i)2-k-$pt'YOLg3j'(vs`:^u#[5Ns^@#-[hrZ<[e[#*J:;$78+e#@-]-#"
"I82mL&K,,2<9U=(+FlsL=LVD3hg6r@/w-*$ho))#,V1vu1hq]Nw:R*.k3)>Pj%*wa1j#'3nqY)4B-k-$4Fl9ML&j'$7XCtL&1m12gdjV$6'xr$h@r;8PQrg$vAaGDSrPv#=i6O$+&^l]"
"YZWL#I%d]4Y?+8IuZl'$1^L;$]1ffLSO?$$2G>##0(R8%VHN-$X^r0$/PY##C<C#fEZ)F3bi,f*q3H12Dhv=3=V,W-JBGm)#,3,)^UQP/=@$HbPtkw:Gj=mug3FA+0wJB#oH)Z5hOu.:"
"VH/PS>ZZ`*pPG>#,G:;$Mn2,;(fe)M2QK81W_;W-_Rd>#8-3*E2AAZ$xNrl8(ovS%2(3a4kl:XgoxDK(,C,+#-A>##Hd$o>os;Q/QAJ$#t;cY#SUB;kH.5T#FOT@c^.S=+^141)7kcsI"
"dv$/$$u6*O%:'9.P)q#v2m-o#FxL$#r(Jk7bg'6&O^:X%N'(%.qn*i]5Aun(dCsV7:S,<-#wkU%&mrW%Vg;:0T+DZ%8PLO)kCwn76ORc;+Ncp%..C[Y]+4D#@YpNOO>`6&YfBL3UgIJM"
"Ftx1_-1/XUk,12q^wP'Al`Fx%Q0SnLedSc;qXnW.LH0T756I@%aGb8&+S,<-Cl*_M-)MU%)v#9%iOB`N+uU13s$;o';nwJ3uCu-$lZ)22SDNfLdv5/(WH[m/,)i;cC''9(u$)t-[EC=<"
"J+LB#1TSF4i/&C>@2v,*3,m]#B:G%(fW;f3C0Tv-@Tsv6FPOV-I*GK1Y4JU/:Pp'5kAwn&8[X&-CXA`,TIU71)+:J)#v-M1w=hQ(-^?Y8vX.h$e'RX-CYMB#<QtO:bH_n#GK:g(8$Qn0"
"Gtow#GvDA+J<Ig)7Qe[%2####v^l'v79bx#=:r$#-i6@^S=Ue=lj>l7Zks/1R:M$#jsGb%=hRc;7[wm/Sa>3'#DFvYv78R0*5x..WH)+*diD39R>Gb%n*n#M7/7'=3=a=lSpr$#7aTcN"
"'ocW-xuZd+gtj^-CnQ6`#f_<7E9&7pP#7/(m9C.3+>En0CY=h2TV<n0->fY%<0Tv-dFB_4bBpZ$4+4T%jZo39rMHD6b<osA%fpE-=/S:/R/6U.@pKW7286k&f,U6CJh-X9gLVZ#e6;f:"
"BpTB@71aC,LV>>#K`&crN(xc)o;3m^C%ZF<cH9j(3X#<--Y#<-ct@T%EA73'%agS%8jA:'eqN%b@d<**@3k;7fLE^#V[Y**Lf^TripdgLZWVhL$gcp%Ns?,MV45Q'WKK['Fq__$f$sK("
"J&-p/PF;$#mV[@'%,#S.^Jx(+]7OS]Fe,F%o0w#MWG'cN*,Wt(fBS$#mbY+#X3s6p:6E,Ml'ip$3uis@QWi^c3YC0MJ`;v>C6'etaB2gC9HB>]U]X03#B2B-so-H5mv.g)2F4,<HBgW7"
"oAkP('H>8/vo63:dw=5CY^H3'@VPNB$dG03M?b)<=@@W$XK9D3mSo=u<eJM'GN2VZW=%9.jI1ci632F%T^id&[kgk.R^Fl7L&rL.7l[<(,`]e$T)57(]?Q/_a?ds&EG9W%]o(4+fd?p]"
"=_7G;iX8W76[Rc;NN@['?80jL.CAZ$'Y^`N:k#D-N9c[$Yx%R&+:n:&8WaX&xWv'=lH-87Y.%-1HE2o0e2kN&%Pv-1NH>.8^QbA#:H#6/KG>c416.RAPI=W6Gl.GVn3kp/@uFt?+IrR'"
"F,F$8)/+w.d51,5Rd0@#XG%A,vu=<@>d(Z#567S%UcCQ9i*>5Cb;*S&&&:K*P@6u#Rke%#B=2d__VEQ1HiRQ-N;lw$1$oP']4m;->8w*0,IRc;ZXV$#++0k0c0f0(.X@/_rSXj)Oxvk("
"nQq7)+B@iLK'5H<4eX^#]<Or.4^Rc;Pc#T1+To0#v%;?#bu0O+><7O+l2:2q@q&'Fpq9#ZB__HMxkE$#tLP7*<)q/_->fv%Ae7G;QdU,)nIs://]M$#+>-f=?S=_/X5-f$KU<8p9QIp0"
"&[)22:[C3pxqc1<st$-1v+kKpS'#i2TV<n0?NZ[$fRW20lj=A#kDPA#u8:04MH_w.pGUv-nv#E3g3RS1Rw/Yup8M(?auw3'Y&Lr8<TZA#Y^,E5T0`/)pR>29u`G/MvFTU%7&EU%c*540"
"'wmC7?7md3?,>>#OI2I$8Vh.$>@%%#x%j>$F@*9%E47w#%ixjKV%xk'c2r_&*M<T%9X7G;a%C##W?Hp],I5+#8coZ$:M1Jb9KI4(PY=w^`ha#A5]v9%#xp>,:#G:.GuEb3I<u402qYn&"
":8Pg3u)9WB?[nW$wOij9/'@bu]Sd4Cg#15%:/=fqVlSY,;EY4oZoT#vp;J$#B#_Q(XMKs77F0j(=Zb2(O[.F%Bbcg%W`s)NDXPgLO@i,+M-Z&#p@63)F,^e*ChrZ^^?S$#r`Ys-X5IHM"
"1Son7pGGb%ku=T7,I@G;e_j>.Ppr$#ka8Wn1cM$#me_v%h'C2:7+dW%053`+Y%VhL+_B^-7U7G;v_2v-owpa<%VWq2&xmdN46p,26lY>#^*x+2=K3o0XO_<7+mc;-;x9P%?l$-1q^n=3"
"+>En0*H91DFL5s.mBO6/rkh8.BZnv?9iB#$IrJT%b)TF4Srj&'odMb=>TBs7`wo8BqM-q2s=d$,=20S:4(fq/SYrR/*0bv65(l&+vef#8(DkW/n?Fc2#/9R&(Vm68_5MK$av%S1$_VhL"
"%4$##=xe/1#`l##eDbU_sgcIqp:sm.3Vwo%6oc,%+?Gb%w)j3(R,rjK*gcp%NLVe$bQWX&.j1k+*NFD<qoU]#hjR0#KR:i:O?Z.)eN2U2lN]$#t*2c#E/i>7i=XI<wqS,3oS,nsHuXL2"
",G9t@>snO(cNF7%9I^L(e06l1#.,Q'8s>b<H2RD,NMYL)3p/,3?n[A,:W<`s3JQO&>%hA?5]pU#'v[T0E.Is$uZY+#h('58H$?N0lsp:#5(V$#QEb$#WwI[#I#<D'X+-?#EC,/_/PFW&"
"80vB$bIMc#9%AnLlH>8pV80*smofwm@mSL2il*F3g88QKxD2h)H=-,AA0l:.:Ek-$]Vj5AHKOY-;rd<CK2Puu%tJ*#BWZm/Mqn%#:'QM'us1-&2mSU'J-Sk77IRc;n6v?,JA=]Y0GW9)"
"L@)5,TnUH-^#,w0&5n_=-W^8%Vi/A=n2xcMlI3Y3'_Dm04N,mq@r*F3b/`,)sm@[$oP6n&-gLH21Ef810XV0`(n(($G6GD#3f4/C]t_3X%v-<-uZP+#$2l:$Eke%#8$ve)8qRc;Tw`$#"
"A?Na*64=0(WHu[$T7Fo&8W'3(0NE=&(D#W-0bh0,Qu/D7nK*9+`wu2_xi]Z)9'%%%0_DW%7CBd)/diS]e9]nL/5&n7i<S@#Eh>N'2Da>-0+Y&#[G:[0-%L-M0rJfLrRId+O)Qh)d7NiK"
"ml71(_Ja**oeW^-rvSe$?[d--bWx$#Wu@T%msc#.83;_$0ofjKc9v+*Bn5R&6)57(BHOL:-P$h:uo9g:]<-87>8dk(KD_<7)gsWuK;R*18__x;A6Im02XvF9J5Im0IIS3:.K-L,VS[>>"
"nE^&=N:B_4W7o]4iiY>#'_ov7IZ?o)FLS),00+]5cV_'F;:%&6Hp/o8`(s;.PA(2))@SI(E6)]5p*7(+/LP)#sQY'vmuO:$6f1$#`aB@#t_>6se/:U%.OGF#V(2$#@dl/_4($6(5^3X&"
"+MN-$-)F)<^Eo%=7QLm/E5F+1K0/(#F.&J.I>%&4)+OM)Ga`no'xM^%t]Q7&crRb#1YV:Qt;hq%W<=g$q[[[#e;-C#d2#:.HXRc;q]Rh(^('.Ml_20_G[]i$^U:&l4dRc;IZlofE/D%%"
"L]1C/bNu2v*0)iLTWg?NJ.#i]/a&u&@0uV7lXxn0Nkr$#=_:K(3xw/(sddJ;]if3%Y6u2vL*ImLt'ImL)HmD-umpC-4Xvl.?';?#X(JT%1-eu%J)9_YZF1U7F&#r'JhWt$-g-G<p:1[,"
"vuql0SNjx1X[si:%_b9//gi0(N2Sc*eauu#5WV6N_X6hP-fXgL(*4-&/QWX&(V@m/tvR4(K/R-3cLBk$hhQ#k-V&53?K01AeRB28$RtX?C?Gb%F1tD#ae_F*D[Em8GBZv$8@hl8#g9T7"
"v6sfDK%WK*UprE4K(lq0]Tv&+2#L[6F`Np@=G-[-1bdc**eQ%ts<2D+X5v3'i##j3fU</(*^Fh)IeQu6RIiT.-Mc>#mbt$%Ok%##.hB,)SK*AF8Luuu:)wgL65(U%5jA:'Mf8,McVS#M"
"p&8?&8&i&-6w`8&ai,1%-'ZFa'xbkKi'Z+*+gUk),_exFXak&#oeP+#s<Fs-t2i?>^D7m0iJ-e%.RZgL+$?=92qMHM$J<V&FAt_#JVaFrW>rc)Uuou,_Zg6#Fnda$r#v2v/xAiLA4Ho/"
"4Z,g)AJ2L)9[Rc;fbTuY;toA#E3NB%F2)C&v%;?##S<j0%PXvYu;Vg(:4&V%bO3H*(;gF,V(L,M.go#MT`KcNe/LKsdO$-1oonm-XPYWowFjJ%t)?S)c5E.3)*?a3;*8$&8hAV.)SU+4"
"k1rGNTNRN<)p64MV$E;$5f0X/54K'7PU8F%C6WA?x[ooLtqJfLWq6##h:>b#RF%%#R?O&#CoR;'U%+n-+d0I$6R$iL#GPG2++1'#<eRc;wWugL2u@w'6kRc;4O1O+HpH-dko`0(1L7G;"
"]1av$(<s[Y,l^`Nn64i*Q>kM(3-@@%QHVIMxqkI)_i79pi+#K3L5bQjvXP4(h/Lj9,TbA#G>k;%NBr`$?+bBoS?ng)<*'8%_[H0@+=MR']ll;-<Ndt$+YJa-eb&sA;`)v#@?u;$X<mB+"
"6s.t/3oKt/o=kp#l]/7/$U&##XYd$vE/bCNHvc^_A@@L*eU)0_(@%gL5xxh]ZcJ#$l[sV7COw202rAjK6gcp%NLVe$biHL*Te^._iWds&)I5+#RP(4+[rjW<N.,F%50=N)WJ#7*Nvoq'"
"(guGMD<JW$:&S8/p]8Z$[)OX(-Ss(=FSim&<eRc;?S2U2ua5R&3Zst&'bZb<8.xP/Tqj>7El$-1/[At-_$et78U21)5WLD3)W=P(B-Tv-MM>x6CGv,*N_Y)4::Mt-6i[8<ho9R'x?a$@"
"N=osA%i,b-VP`*%6M)m/(XED+)RuB$&UkA7^3/0)IVmtfb=73:_1)'m4aJg#G4i$#K2mt$rwfjKP].4'3iNp%kpP##HPc,3p=XI<d_B3((ARL2w+m]#]Z1T%jN1K(A+tD#`_1w,q#d/("
"NDTE+2BIa-Hcww#+q&&=?CiZ#bF=fq0#t9D)?&cr(avc)6iWY5W]9#vd#&$#NBv2vGLVU%W[WH25*Ap&(<3?5V-s$#TTv2vwB^-)Yubd*0L7G;_:M$#aS(-4)V>W-&3)cG4con73_Rc;"
"8LUhLBmI3%l8Dqqjb)0_w/id&l/Ib%$uCT'.E*x%af-]-$#d'&k/0X:4u-3))#6T%>4-w$J[`$#TP=gLM6Z/(^RXm/p^*^,?m%mKI6bX$p_,Z,pUjiK?f1,)b(2=7B@:lKOrL_,8qRc;"
"0UY</7dRc;-t:-M)VS#M6`Ys-HMWhL^TV'#Nl#*=?IT:)$N&UDFvCZ[*T&7piK@k(AX>n0?us'ivP3*s9b@Q@-#'g2TRw29[8EEcicj.3>U^:/[J7&4WF3u7h@S491Ws*,H&>_d^@Rx6"
"d>td*$AF11*E;K(rT9U/XWYo/sd:80M,W<9KEr0(A#dY-=JNo&]=<=.qvg8%1W*]%07uM(o)-7&Nq,H3G69L*Bh>a*XIVS%roUf:EA%/L;GED*&IZp'Nmx*+<-D,)CIRc;LM(0_4($6("
"H>k9'P]$A#'%9q)P]0q%kCwn7`nr$#d>[@'P0TQ&:Ok0(4/>7(k::DNV9-87I=Op0]5=blxa8B3=:R*1)DRL2G'?F31xlO2dY6C#C]R_#H4.cX(E$b*h6dH3>'jN9J5fT0F;hS%h]OH3"
"d3==$RVl_+3UpC#1i*hYuPa-ZFGmS%36O`<M/=a*.UQd2BO1,);>.x,WmQd)gfaX*a2,b%AuFL:AFOO'ci-n7MIM$#[-O1#U>`0(oL2&=,p5[TFuDt-N/jK;YrM;T=tha4W,%Mp.vPB6"
"q3%r@+wj<-d%4p@p9*:.Ft#D#A'$kA(W:v#3wO6#_=>tUY*#)MGVs$#WC6U%@OMT&kCwn7>bEN0;x($#:=Tq%ITUfL&SF-&`Y%CQLJ(0_)m=N69Y@F%qFU0M/Z?l74n=1:WEtT%ci#v#"
":>uu#C4%<$g1AjKVZ>m/13n7[%)###;RN/1I1<L$.=5##=()Z#q4S#%i^4L:pi'K:j]tf:I;C_6c26/(6OoSh_wL+MpAU`&?.Y:@/o''#mZu^GKB0NMQq%s$m672&9Mn]4F&cgDCTchD"
"1pkW-;A8L(FrAp&jPTiuCD]I#cE^bFG_(q/BrNo21N^j(s>wCsU^@Y.:Yfv%RMB>,3bRc;8#jIq5j[c;@HTZo,hu,MemJ%#a8*x'l2:2q`[:hL3xjW%$Z^S%L[,<.B_Rc;mxH]-/=;b7"
"1s-@'Ll%@'Y*A?#uu:T.U28%#so(9.1irN'q'pW7.LRc;hm_`37]4R*7M<H/uL.F%,uCT'#M'bGWC=Z.rob^.H]3C4OsF1:MH+>-Ql6K)ZJUZ-PW]e]XBx3Mnega'Wr0a+p/:onBW>hL"
".2&n7t_[c;%XPgL00M-M.T5;-d$$'#5ORc;.%6674+S3:d$'PoSC0:#6bD>#JjG]OLn?0#H.H]FH3]3M,l]8#nS?)*>n[c;IgC1.X@(hLKcbjL%>$c*>F2=-:Jt;01._F*@tK1(7<+C/"
"[STZ)n2:2qWILhLwe=i(:6oP'X&U,*ArpwLnF2=-i06c%UT^@#5sR(s5M@A*4=ek^scV5*J4`@#(;HM9JwTC*G,c@#k$q+*e7CG)+>?d+eSaiKKUW]#PI<T%Z37<%=R[c;Wb'o-nEpE@"
"t>`4']&;U)OaSc;aTru5s=0T7n>s?%&Dr2:M`<D<UX2^FTxt;-GZr?%th]jKRa>7&&SBp790,F%2:hv%rfJv$'/=?%r<A%#+oR:.DhBI)]Cu%l?F)qLInhf^-tI&>b;(C&4C[m(?=tmh"
"`##+%L`#?#-sT'%5XV=-Dft?/[t7@#n[1hLaRhU%5(MT.+$hj]0fYs-ni3xL1Gqb*F]qk)4B0I$?_LhL1(J=-Vl.j)DLRc;%xWP&Hn9(*^Yi$c;q_s)L7V@#/]`f:LeHa3JL)%*6V>J_"
"T^?d)v&O-$FR7s$c$D($Ht?4$%u%jKSWUipm+bS7l`G[#?8aH(*0%<&<';%%M(IW.Mb#C-<iEe+iN&@#rKL;(TkZ>#Q/)>P@rB+$_u=/(5HOL:v%CK:po9g::9D.&@JV#AlS#HGX$*Z@"
">MIAG*d8p@,P2s@:3TV-gQ1h*P(C0M]LZHNTBQh%TRiu0rm=?-jGf+'s`Iq;L?k0,5$(*+`/Dn0KNtYoU7ue=iPb05IGr]G%nB2s4>n]4*/xo@rKi/:$L2;7]:R),xxkY/xXnx,17@X-"
"_jXd;0QbY-/9b>-&;^Z/V@_Q_C:cB:-kY2T@M=rCMH@OEL`[0DM*2:/@]e72rKFFDXIVS%fb+/(h3^1pDa?D*1?CZ.=qLG)hr&F*b,;0(=^k?#^#vj'Ia57&Tvlj'IdPn&5:ew@^5rlK"
"<Z:Q/@N]._/07N2Y6F/k8x@w'UADk'[H?r@m63k:0V6L:*DqK:o5jp75;N;7)5d;-)Q]F%iV(dcJp[EN[,#@#$UY?GNcL/bDbtV/--/J3aSID*,uG<-Bf+.)FcsS&84]Q23e.?Kp(EOC"
"wYtC5r_l@5AWtn8J'Gh^IP:^Qj),##kt]E#P@110Ht.e_55=%turar$]Twa'7R,a*Ggu2vG<^@'1iRj'CNu/(*6(<-:_Rc;9l_V$0XRc;c+x)*wLBF*p:9F*eGnD*xXW9)IqEn/T#9Q("
"?D14)066T/J.;$#x0`v%FEt87UTg6&GF[s$#NP8/BQn;-n5W$%q_SjKOT#r%LjCk'VtVZ#&`lofiH60qJhNt$=Cr$#?t)a+9dPn(tK[w%F>[,23l1l(;-EJ#q*f#AgjJIN*eOs-Q?='F"
"i=V)+Qco0#,j,JA';O2(;]8j0qTk`*^c&i2][Zs0.`/I$6'rLj@^W>&&3=Z#_FL8.Gq[P/v[0N(FZf:7$P3[&W#Be*Ps<oA<llL)Bg%90qLO.)AcHp%ZQ/K#P+%LDGZvhDG5biuO;Tt7"
"jIrV$XlIfLq3TE#G:$##59kS%vLbo7F0$N'eKR0#A7VV$W7Pv,DN_,)?U[S%[)DO'ueN=(+>Is$QMp*#=NORc=B]:b/9kqc#wPBkLq/T.>9UM'xUf^$n?p]4F>mA#w$SK<Z>^Y,I6sO9"
")Hq[uGU$K#cUMoCSq,%7+'q$A=n@>#=wm.:&8.j'Pu`r?BG1<-6x1?#e1=M(9#jIqKB$3'6?83OeJv^#Hbsx/Ih]GV#/b2(nP/#.R&P1#V;ZR&F8<5';Dx+2@B'*)-X;I305e)MgERm0"
"45[/A1>Y-30ARL2Op$6)(i^V6CH:a#A.*u-[5MG)OKOA#<2v,*[jTv-L?CV%kLD8.G_vG*aLwN:sB`i2T,U;.s%]A4a#IR&v#p@#m6';.S(mW7-?n90-e(6:+hb<8k`]N:$Hr80(#Aa+"
"4####/jR)vObw#Mxs?##I#]rZ2oh;$Tww+2x9wHD<9Z0)@9ApA9p.j'0hKfLF:-##uc&V-DJuO/Mc`/Dx7+gLu:>S.sfR1('Wu4(K_=1#)av%FMY^Y#.[r>#'#jIqLengux/L'#AUDQT"
"nr8V-XYYo.]s*Q'o4hd1`5qB#S(7]6qL>c40nf*%rHZ)4*gx.M,Wl]#iQ]s7erZ;%6s0W-QCt)#>A2l0uFET%YMDM0]]lS%ouSV-KgAa5Apwo%eHJa%aA,>Y2YCv#R1?;[9st.#fZU;$"
"[OLS.6h+/([3g'+rvfw#h#Y&#k>3d&f+h:[cBx+2:Uu=3(.v=3B3H12K9C0A%vXL2cS$1#[@Iw#a%NT/O3Bp.=*U&$C=3#TD$P`#ab$=-teKG3NJ:(,dvp6&(J3g(e2)I2#*LI2<5&P'"
"#VtE*qcw-)$mjZ5Qh@J1@rcP/q:@D3M?MvI=h2;?(Pc(+5-.iLIvrm1t/Bv-R=/n9sLPc*VSOu)?r2q2s$u@Xo[ov1ogr-*Lt[-NcqLe3Wffi-B`TcNWUfi'lH$eMR#]O(ehxm0AA8M("
"+d;Q/pd,mTVLfSSk7f)=JK%H%jBHaNB<4GMtS,mS9FRw#&'v+#P;6N3B<],3I2.F%)a9D5*s<3p@Q<I3GlHb%35q237+js@ow.1A=XjkLaoDaM&hX>fo#g?3$$ft1V8:[0Zxgt@2h9s$"
"dW;Q16e^=%vlje)/IqhLut^`$tAvO':]d8/+EsI3Duh@6_&[)4b^>7Ef6MJ)d1@8/Q&%;%WjdV#k55-`P@TT0H)SL(K[>;L9+,G#Pn$Gixo*q%HH3**E.a2:f;Z3'=r(_?)bBE<1]UKG"
"FK`4'KKA0:$,>>#rw]+ME;GYGevT`38Luuuw]Ic*e-gn/`,?v$Z3x+2OJik)G.<*,:@i?#;ntD#/]NT/SBQ5/[9ve)M9]]&2l)lCBKEw?w/vR&6#1c`J;J]OLJSY,#(CW&Z4v##jcjW%"
":HO0_lQlg%NHQ1%)Rs$##XniLAIYI)gcO;-sn+kK6.qb*$_)C=rl)w>$kVG<,ag;-wNBk$](&D3k@0>3du&i2Jr-W-I=&&ep;(u$dV$p2$GgF4N&x#6#0PK1,<A@dm>d:0pl/'+>f56B"
"k/;T%KSoP1%:P7C4+)($H?c`##9].##)P:vrw]+MQ[DYGWkTiB2UZ;%,dIP^Gq=QBGYnfL6r8R*1TL'#[2HJ(?k$.-sOaxb*6(<-KgK#vK(um#?6i$#)8N'#p?bm&u6s.L+IE[#Gx79("
"f/:h$jVQn&SpC0(ZP`k')`pQ&Y][G;:CaBu^RXW#A=Y@5eu#:A%6pr-e@j)MBfe`*?'LT%&EsI3)`OF3WHpU%l,PT%R1=4V^#(>>jdv,OIMOkiJd%##.J+E<H:5a7s,###,IYkKFHPN'"
"%Is.L7n&]#Sk03*M/>@#Xc,v(;/8RANw/U%[$#j']0sZ#bPDO'K-kT%_atX$FZ<FN;1K:)'2r_&iUdv#V,(5p%w<4X,E^-Za8O=3sL>so3-@K),VEj17_hE[L?Z;.NC'X_i*e9N)MSW8"
"W94O`?nQJ`78:X3K.gE#l2,##A&>X7<<o>#8#JH#vbT#$[b<Bea'[Y#4b:I3-w>H#ZR].2O&^t@EcNsB(=Sj0A+ItN4HjZ/8i;>1U7b'#]Qt(3^)>2TRu.,)vM:D3P?DP83TViB[o:gN"
"wQPI/**kM0ZL8Q0H?[m8CO*q8x]SGAJ5B/+U#B)$I.#-<;ZZF#r+$)<)=R.kot'[8*qgv70W7Q:X_<g4B%F8KqajFl4f.Cuu[$7pjvAc$>Cf#AlFaLpx.A1A.gPW-_BJb%&?]@>.kFs%"
"vxo_m?;Uv-?DTV0E8#f*(UY^4Kl%oSBjn`*KY<]-/M*]>I0lxuIxCW$GL]cV,)7A4+i?8%1_+;?%61/(#Gwo%0o<X.dd`B4R*3e3uGUV%T.4&#`m+Y#xCP##_n.Z#:dx._0Ybs&9'Z'$"
"2%%W$)Auu#IW;I3#Vk>3#]ughrq^?3'ARL26>`:%Qqt1U/^W%8A?dO.g*i&#`.N%v4Z_n#G<r$#UY8`7)4l#Hv)^7/OO9=%03Ih,X9o`I?p3%YhmPk*u0,:&i)$X._H:?-ha&t-[UMZ%"
"Z1S<?V+i<$fd/59K?'Y$A#Ub$[f)mJg0-87bW'B7eUcS.5R-@5:Shc$:=]#AU/xghE,LX(ek9SL^qr*%WcP>#blDH%CR#oJo2,F%7#l?#C4-nCP>&T&%QC11&wQt9Xpc'=1fW`5&)&M*"
"R:1DNU78,)bw``<*8o@5$Ad5C:MH>#9$YJ(=#u59hD:91_Is`?0]#@$C%PZ<pPX;$XIVS%rE.;6M_Frd+182'(ce6#%xgj]5<e[%kCwn7ReRc;qt+#%P]8^+^9Wv#_xIfL44$U7E_W9%"
"?;+,23G(^F2PY##@;6N3l(8/(Tm8B3M^CT(8_ln0I%bD#&,]]4_ghc)KeU=6:wEW-r%td=$oPV-(Rq7[l*KwK1G2K*=1D$#NXF<Qnb07'A_x='%c0T7ggQwBC2LwB@^Y^30ARL2C9j;*"
"dg1EM?L/U1=%uY/OU2$#Qu*GMPks.L#Ak8/YG.wp'wJe$9d*gLxu>JCf[g8/.`JR*6aMfLcQF&#X]Q(#<lmC#mB%%#L0/$#[crk'%(Dte+r+@5,jWL29*_306WJX-i14/2:sYF%vZYK+"
"Hrte)Q-e(+hd_&4S,Guu(Jc>#ksl+#BDP3^0iU;$P%.O=<:7D(LK+%$'<1^#$o%2'rOJ+#M3M#$//l?-#AC-N`'>Sn?xHX1v@7Q8Nn(,Dg2B]k@&->>a-JC%4_lF%R*W$#r>$(#<eJM'"
"n.9>,G,BT[Rp4w#fJkn8R&t9[<RmRf`KBY$2P]?5#04Z#c`-t@tvR4(Cc11ATv&01=#g?337q237S]o@2`Vq%M&^q'%M>c4ERxJ(4lXI)*>Kb*eMZV%J08_O'h^uc((u.)I_ET%Fg8(O"
"%rJfLvS+J*UiDYc70=8%;2TrQ/c0@#.Nh3_x0Cd=puxN232KT[Tv=w#><O]&vm[u0hnR/;#xq%,)Q/L,Acms.*4rk-8qlV-3fi7[bl<Pfij*8R9ePL2+HmSLF%krLi9iF*XaFX$]QIH%"
"Y=/w#d]aI3qJ?B3%[)22PR'B7JTg[3+0uShi<tShg6),+?q@0hvY[j*t/.VU;j+^,71Fj1'4=&F)[]RLRZbA#jbojDx&cm&udeY#7IaP&t/Cu$5MG(+NrL;$oI,29I8>gLLuL%,$VuZ,"
"bXMZ#[U[IqO;fJ3;3p@5k_Y.)m9m6'mMWI3kl0D5;Ik8V%tw'5#%D]5Gqj$##)>>#AEJX#p^1Z#J*2,#+Su>#P8$##*0O?#XWcR0O;;2'QE?n0X),##6S&E##ZS=#;W]W7=VC;$t)<T'"
"/6kV$2Mc>#pX529:m:Ek,LQ@3/ARL2Z^4L#0HxeD/^W%82I)j_4pU:#YYd$vD3wg#`d0'#=8E)#99)CI0X/]#-QD,)DT9;6n>8e,5`QA#lpimKvS8v/1M%p.N=gT&KH``3i=eFNXv3xY"
"L-KkCY,BkLF=[S%Sb`A6>b$v$`=`@#`J2P:*F9_#7H:b<%slP93bp_#4kO&=68RqL`:[+#$/>.35;v23EVUe$k55N3)mZ5/w(Q;ph>S+MQ0-@5nl^t@14u2AIE-H5'F)i2#46a*9o3O0"
"stC.3ig'u$X>H/;Zq.H#wqXI)*)TF4o3Tm/FFxkDWcRB7>2#4%hOK*-HGvLD1RlIU8bFSCgPX]u+&0#ofXgH#DL(g2h30m&TSY(5VCg)3UM5G4@JFQ&,xYF>>d3x%P%Bq@*,GDOw5DT%"
"T)>>#+5YY#HuZg#08E)#+Pc##lmk.#mGmU76/,##lm9m&AH]>,3.lJ(I.>n0dXKfLMd'^#])o.:P8lS%AQ_c)AJt5(i+8jKB_jp%g&D,))Ah,;dt=0(EAgF4W&QA#hj^#$[f$Yoah6v&"
"&vhm&]4*q%6pa-=_]Vn#,p=x>1W3T@%-M(vE,Qr#RSk&#pdE?%:5Tv,xHo0:m9OP&f$wS+Jnw>Q]rUS(cgn0#i1M0*R97)*Y%ND+*nr@,BGFX&7;vV'q1`C&=I3T%K:eS%fN-87-h<Cc"
");v23,Ws;6VD:Ipp-xghV*+>3tpcn0R.(i2.s>x6p+tI3v71`(odHd)WIo$$d(44:hRhf3f^$U%m-cZ.uo#O2<`Ag2JXht%V:dG)9/96Ao8KN2I'xG;sEQ]O-X1U8Q4n0#QC-##b5YY#"
"Dg_7#?0pY_+b4on3aRc;A#jIqqvO$#PTi0(7x`U%.[`s%.AdT%YrP>%o_1D+>qOJ(Y*av#%(X6&Mkr$#fZ-I2pn'hLq8T;.D7TQ*YeQg#A`YY#?(eS%JJ8B+e?ID*Gef&&=U<8pIqa5/"
"ApJ12+aokLtwSfL-]F/k/u2RuG,sZcW&/4(/[0`$Hm+1#k+/T%K5:W-C[tD#e.Y)4S.@x6K]B.*5Z5<.kmqc)Htgh%L<O]uiJKq@)XVf<-f@),rw%d++F/@#tPj)3[v3r9RQQ-;[PRH5"
"Oj^a<^&KW7K5P4/Qb%/1^qW9VCIk*#tP?(#f['t'`adI<uTUg(obZ?#lw=#'OsPR&XK#v,o:T>,H)clS>fte#NHlY#&p3200nLf)obrs)u137JkFl_+]0X5&i8#f$''GJCO`5Z#Hn%W["
"/]n#$,N@#2e1f&2l8K%#Z11jj4g.u@>(/:fgHs>3)ltA#XM[:)M0X/A=jCW-@5`#Atm>V/0'&J3f/5J*_Aic)[/*E*%Oi8.DlE<%GwY=?^)[p.r=<b5i+.&6wVil:^))O'#J?O2r;,J*"
"c3c*,9^8=-T,;l0:vYF%5t0a6kH+Z-cx6X1ciQ%--8vh:'+LP'PcxN:.(^i12=@X-ciIM1j(HP1$),##65YY#Tn=6#7Uag7eE[1(rbL%,^%ah$+7(+*hvT:%iTx[#<+j`FCPp9[f+#(+"
"o[ji'QQYj'aaf]&UZ^Q&SDNa*3H>^=qc0^#k%ti%AdiS&W@(w,g^Rg#&&=a*n4FT%+=V[,w2^m(h3IW&YCH$5dXP4(Tm8B3j[iKA:Eu23`f4N3CLKk0m/7L%qhD?uN*0dc>2Z[GC*2d*"
"P^Xv-ZK$i;r@GxoF)0i)7?t-$4&':W;tc7B.,]&>H5Jx.L0UK4qnu-2-:Rt9u4_1<B4J6UuE72?>$6,EN8%^=g`?T.2kMV7:k$sZ=_Wp%4,.s?ij-87:^IS#__9eaOARL2max9.TPgc$"
"l6Jccp$0;dm,W_8$?u#v'x?o#$4<)#lVTT739+D#XpQ%1f/g@#4olu>f`=`4hC3D#./m(N26n:3RCEC#ujic)Xm)a*0t[?#XA`f:&Hew$jq&&,H3?A4.:SN0_IaC#k/))3aHKJ1%_OmL"
":g]9.$k4>)(-IS'LB#G,aBKFIk7+gLuWX@7Mixo%;qg)3-?mB#uG`[0gmkB#-xL`Ns@,E7'G*E#Jsr1T`jO^&$^_cD?S,Z&d<x?7Yas2,WR/`=4Htu5</$v#<nwJ35(&B7Yv[@5IV>gL"
"T[+F3M^CT(T#Q;p@H6/(Da%u@f?=$c0YP4(T$)t-MGQlLi?n=3vAG5pb./(#_EdA#um<MEI8'C%o1f]4g<7f3Y[A79tNDH*n`WI)88LK*E]Uv-]V`h1ZKj?#m&l]#rwnG*srjX%ewql8"
"OIm(5L9?Z.nOGM(/lT'+-)_M3nupb*RZAB58a4',[Iw4(17m?,WgmZ8K'rJ%#-TV.hqN]-dIxfL*)Vp/xm-h(^o2T/4Zco/v%/M1+a@H)f]4-=@^*x%6F:j(mvgq%A,`s-T2,B,IXfu."
"3VF4'e`pV$5J$`,;CUf)5MuY#LaWD+a6nq7$%A>.9e8>>e%VP&d0*20GQRwuCt*4'LX'l'D+i*%p_jp%`-4t$v'Dte2/WJ()bV)1,P<h25V2]&Y(i$Jq;:N*XZrhLu/S:NeKDGDD9=Y-"
"mQNp@&5>##X<Jt#.&%8#^d0'#3;fk74V+C9.$3Z)2ST^)*tN@#`qLG)[04GDPO)m/0o:$#CAlY#mb217OSU47bB#E#@,[Y1/;vn,e&Cr,1QTA#s>^Y,dat,D(UGbu?S9^%#`685kE28K"
"SW_C#?0))3Q#e8+4Z$&O)(P4K88)/:FD:[#[3pi'l9j8KgHYB#8cnl/.LRL.J^()N=eU5K.gci91Z4Z#Df_V$[>Cv@9(_4Ah%]#AWf)(P]u8H#JN5QMQYbJk)l]#Ar0o#A:='=1s0j.A"
"*r/W(n5ft^$xXI)SwC.3ANDP*#dflBT>ijrNr5J*$Cg1p%>u#9%xs,5#kQN:1fE*61fBt/7)Wm/>P$R9q_pc3+gMl0tJeD*fd$H3_TmV/'CXX$3ArB#dG+(AkXxMN.G7Q/KkdU0KK`@8"
")`S#GNl,i;^b%.4^6^Q&'Yj,)<2kJ<%iA&$>ic##LgBB#kq1c#I$M$#+EFd7c)E>?R%<e+9J:@#M.D;$?qHS[TKApfY=j;R`-CR)@LBC4?5-x#RY`3_9UVj)cY]32vAr,'ts/m&x*NY?"
"u*+#$:9:V%5$CQ&>I$l1sHJq.xsRt-?$cPTb8Z;%8m.P%D?Pj'Z.W.2/B.87+3-*),CO;ph6I<ScuF+1;eO,c=SM0AGq8jaf1a5Mve%=HaxeA,<>uV$(5$<-oi.*&mhv=*,S$t-.']&,"
"ZFa50Pl9b*LX)a4S>i11Xb@t-qn-=-Jj8M))+kD#ij+/C7X8m&*@2)+B>YU.]NNo$,,%21T)>b+7V:v#w:8l'u6>^$-&>uuA04&#0NwS#Ca''#:$###'Ag;-hho87YcZ(#Z2PY#^BP##"
"6-=$#0U(Z#947W$,4,##qPXW#:nxP/t9JC#4t@X-Hlpd<4L1AO*h*s$ss<V0?/>>#9Erc#wq0hL+PhP8m5Vv>T4#F#C6ls>sW3c4,a.&4&/^C>.J(,'IZ/?#hi'8I.M)m/]jW)c*N*'$"
"Awphiv)?_#QFI]6.5&D#@+SP/<'?`#;T`$c#82x#:rLG)qd);?9##v#gEMv5L`AC:dwfF:O2cla/51p1-@$w1@X8C#TTgf1Z8PW-iEYgEfqC>&KS*T%0nx27-t#s6xi/m0uN=o2>b79K"
">/(2B3A$23^b[R9t_r2M<=Kl'9G;s'cni^6I@4AFBT$M1v[mS1sPp/NsGuX$uge`$I=ie$[E^#A`dW#AO]V#AY15Dk4xis@6^)22:^]j8MsoU)<PK4(WQVb.2Q>7KtC+F3A-<3p`V@92"
"9f=PAdW$QMD':l'<k+R/+kRP/:%1N(I3Lg1c`[D*;)TF4+87<.@i,Q8w@F`YwVXR80mC,+ue]W.*nr%,x.NN1w$hT&'f5QU07SX1$T?N#IH'T7%h[o'ZK$L2L:3S/h4H>#)Laf1TJQ_#"
"EMPb#C7>##j5E-Mu]88[:w`Y#VtQ>#]2]t@a3SJ(:xhkLtDSX-3P7C#%@)s#*(g--eZ;fqbjoS%Uuou,knj5:^[*9#'<mZ%'r+Fa]iv_kDYvURX>P@#E:[S%3c<0(HQIH)>CHSf2G`NT"
"B?HM9:gkJ*W1K+*%<Gx#:ECT,6I&h$<n@0:-oan0aYFv@_Ex4p[2:k(I?%12heW#AQn`h#Fwj*E`@_B#qq>H3`XS:/B+;T.#kf],S4I20L4'd3<kNU.[GZF%gLJ60A5T;-XIVS%__p%4"
"$,GuuGxQP&=`WlAZN#X$3bxP#=*S?#n,9e$/X+v,_63Z#3/`V$SQKq%L#r0(ItpT@89Xs$qNR>#$dmV<90[8[BiAQA0_eGcMko.A/9W6pS_tu>v(saeB),u@jm=B3:5gLCI'UN(Z_G)4"
"r#[$Mt)QrdR<,DW%'W_d70*`<%a])#C6OA#D5W`#`AO&#gJC2)eq^G3b>g6]WG_/#rFKh,]LNT%]'g^+wW3L#VN8a+jCsV%)$Y6N>Jo-,XI71,C+@A#PfZA#H^.87o8V#AtfGH(eq503"
"9f*F3rQnNX^#Q;p7S]o@Hq.[#@=@8%^,Z8/.QYx6_T^:/SFt9)(]uv6J]B.**08=-BR@X-,YXCs#W58/Qc-[-2:mc*qO9N(sKG<8de%o/?AaO']F8^-anLj(N3nC+_WP3'8a+:.(p3j."
"#ddC#Zi9j%NOm+Db6bU.Mg0B#;ll.DquE2(kAJA#ugkp%%=k/.ci-n7LwR0:L[_F*/LkB#OoN8&VX/B+,-Ma0%lK.)5J7iLI]&7pk=$7p%[)22[i6/(PlN_ch9R*1#9Bk0S5U;pkxgt@"
"Op$6)Ej#h'HAOv$Luw2.lcEa*R+=T%Jt`a4^k954O))p/sr.P';tNq.E$@O(]qx#.Ye'>.q/B<7lPTm(%ARC#6j4M(5)s>5XM%l'msTU%c::x5W+kS&jYMl0nTBq%O=hdMw=5h#QP8&$"
".5>##UBk?#$H8Q(/_(($iuES7'gjd-9?Gd24ZRc;TfT>#:r2W+r@pE+=Z`a.ojA8%i:tu5ct=h#?2ZQTuNN`<aLtFrEjZ`*B5E$-t&dg(7vQiKrW3L#R7?c*5#dn(fBo0:&A<x'sOg*#"
"nET^3dTKv7gQ.K:AJ?B3-uXL2r@0+*tB:a#Z$nO(x,Tv-:WPA#v=0N(d^1q'&0(Y$BZrE6^&-x#68hS%d+KQ;-PuY#73FS%kUK+*T.2/DF@#RN(Jr#v:X0^#KT@%#lw>M($=YVHIwEp%"
"Gkww#R3<R8^[*9##=M39qI]9MHbf5Mq%Z@5l^.4(=vJ$0SBo8%A>Mh1uEQA%MBx;6jm#0(ddFxJh=Hs:%T;-<xDX]FRvECjWSFHDK_X+5M]G#u=iB^#&&>uu[xv(#rSUR#P`I%#4####"
"L_rS%;A#29f?%YuTf8>,Yti,+9@x(W[Sot)mbpf)v55&#6QVBXb3e_%nB'g-e.8*#5?IO(Bj,d.tARL2<8im&%/F.37O(02G7o]4-]Suc'2ba*XGMl0c+p^+-ubI)E6,n&x9c#%4h%X-"
")Sg+*x]`>5O#vR&GRN5&sskX$e__-Qg+tu5'WTc`[6]f1gxw20cM<5&;BXs$wouF%Ru,?#=$,6#MA,#G/P,ZkS7V#A+r+@5mjb/A[AG.D^-Wm/.iI:/UlRR93Zg[#6.]E+sU:5/M4Z##"
"Q/qB#WZ>j#PB%%#20$^7.Sj;(LdeCXCVvUR4/QT%fWk[#hCbI)Q]&'+'ul29CDMH*Rw@I,W9IqLIe=8pBMxS@/[+5pPFv'.*58J2K/698R8ZF%7tIe4MSPc4nqO`#xeG03'r[R9Gc5k2"
"'unn9cjPW8qvus8#)P:v5+,87J$V%tm(;SI*c68%FNcofmi#-3#qJA='?;R*rn9R*3-4AFoa/F%p3jxFE:oUdQun+M*0u(P<,v4MF-w=P_eX>-xD9Ac>Sa]P.I@8J7r7Q8A&sx+?3:JL"
"NfOV-]nt1B9IP=(Fl(@#DF[S%n])q/F:Q`+Wbm(%@';,%[P$(#Ox_v%bF3h11XKd<-R+(JRML2TKO1H2W&Qr%bL3p%h>Cv@)B:B3fNDT##d86p4pt235KW6p'E;NA7//(#_'nI)+2pb4"
"#)OZ%o8g@6?>K.*_-f<$:csF&HRQi26^Yu-'1c4:MKg7/96#A#X:wX-Sa9r.T,hV.TttJ*:fV2:>G%21vh,d35?We3W@RW$II#d3v_]Q0aZX=fdY?$v+Vl##cM5/$Ef''#H,>>#nb/*#"
"V'Z3#Ge`Y#T_gv%q/)K(Faf^+R*3e3aKRrQY>:2#4w2:/+9kZ#OaeIMe)4fM#9l?-rnV&.M?x7N8ATY,g=9x0sP:x0KFv:Qt&3p/GMoS/N<A8J%_4/M=<PH*##vY#Cr9kL1ckP&O,dP&"
"D$;C>pgB#$j^cp.5:F&#)adC#o=BA+2m@E'3te/_7Cv2)P2o<&h-MF*N*Rh2]k&@'YG'0M3$k4)(X'q/n/,#-T;h;.NHJa+0%qF*B^TV.<MBG*u$JT%+YV;$7rCZ#xf:9/un)?#iCqf#"
"GUI8%oG>W.bO)Y7I^aLVJgM'4Tu+v,1lLZ#uTu2vAIFh((9u?#DeD^4,?CX%^1@k0CvUoI,2B2LNdP#$_8p+M<LMa.ajAgD96#W.6#7;%_1vt7qK;586Bk>7[rIO(5/W,2o;6N32KOBk"
"O^Zs0YP,JA)#qU@a(C3(k?Ul$DFkEN5+g*%?vYXNH4ZHNP%1x'MVHh,B*iB#^d+f*wTV)1EVUe$-_ln0n<Nv6l$('H*5m]#Ynn8%)IW:.-K?C#2;XQ's+Wb3mpPT%G9#QC]94^6)&fL("
"9%ue)6Pk**)7a>7]ZcU(8t3>-<Bk;7/$E,*4^t-$eqeG]lguKQjHF',4`AP'4-Wd*hv/k9n*h>D%^%I<`&x3;UuSxk<kDD+K#m29+`qr$SxefLEYec)lhf+MvF0L(l]rk'io/'+r1bI)"
"H3o0:jPiO'#*OI)_p#r%`l1s$QHO=$qq5_+h>eA+v0XQ&`H3L#vt[@#Vqap'VduN'Blt58.ET^3>EJN/?l1l(G.MkLS]<3pTHWW#h#Iq@Ir:I30'P=(nEp/c<veENQl<q7nl8g2k,MsB"
"Vb3]-]7q8.hMD]-g-fp%70jcDUP(p%b:PM9lOA.q>8PIDBs@UCjE:nu&GYc6@?><gk5N=]Bg:eEoD&$:.]8<E$,>>#K3Vl8@v(>c'of`*20LZ7C?T6C)gOo1@_8C#+-.l1gx6C#U`6>>"
"Fv-Q0C^RT0d`hB#YE]S%dP220cBnY#g;%92%6IMTEX[Y09A+^0_QkB#huKV0N#v2v?h8w';+;w61r#s6Mi_`5V5Dk'l7)0*`;&B+s;eSDst6Z#0g_V$xa,(5L<d$.,>1(.owYv,%Q2)-"
"x]>v,hZJv?,Rb#$*D5@/+/AE/OnEB#:(M6(SFo9(SARd)i3+m)e9.d)#nhQS3Q/q'Q:St's4`C&AJG?#;M<5&Z>Cv@oe.u@S;v23.jYW-m+w'&2dJXkV-`ZuK-pt@_lA.3%($@5gPQJf"
"7//(#&svt.<7ho@>Lau&*i3[$tRpU@.L(B#-=DJ:IRmaPROH>#Wh?t9QkC&R1ZXEE*^1Z#Uj1O0G*bT%-ISQ<wkOj*b<#r.Un.s$Hstve;wM<-#)>>#&6YY#8r.l#rj9'#I`jD3K'Z3#"
"F[D>#`*hv%IO35&.VSM'TcUvPY>:2#<`Er$##4Q'U2u?-#$Bo%<IMMU=f/gDt'KF@.+hv%F/wD-vQ:@-/KJR0GOV>#f%In76QniLVVQ>#7wI>#75J'.9=%lLlAW$#t@d]M`B-hM,M3ig"
"w*NWn#A@W$vglF#s/PRa/P_'/Rc`:2Ex*YcPtxD+3/-=1O86=1q6w0#VJ>m'D8lwM`]P*vm=1[-gQ#J?4#?Pph9c>-@vFwMwD*UMtZnU76X'[K6CtH?[e+/(xJ:;$b]VT%<+(,)hS(/U"
"KfIG)kru7IG2(e*6vSm*WZo@#Me[S%Im03#6mRfC4.V$#J*Kc/7HE]/w>M8.7TG>'Y3'G/&a,B&3`,Z,soa]+j>D8(G0P?.f&ic)S>mf=_p]G3X+(gLS3-@5Pn8B3OhtNfVt@Z3:kq3A"
"*&=NAf+;i2wsUO';]d8/__Y)4Q+tD#S,m]#3U,h%aT/i)%wOA#a<SlCA`aNClkY:0v'ci*Ipid2_%BK1`^'mMb*u5&TG@F#k$Q7Af[wMhemkY#xTo2D3/l-$re''#U,>>#J:L/#iB9@%"
"5W$r%;v>5&r)IY%vY*fqHv_`W#,C,38'$T8_?=pgVbQuu+M_j0P-Ka<?#5t7jH8;2Cc7]b)sE^#i=CKM'+]^Pp[.qN`Y5.#k=1[-5j$J?E)>>#7@+_]sVxYHK94x0WTu-?`2r.?H1=.?"
"M4o-?#'0W-;>xTM/q#a3KV2m/vOWT%8PN`<k]l:m%lVP&E`tA?H_-T[#Yn)&7(;?#qb_>#RCYJ&V/;Zc%c3E&NfEP$V/VVdr=VK$*>G>#HQeS[vLRd%>q&6&kOC>#Iu]M%SsuYcuF7H%"
"KOSYc56(R#4G#2T01<5&IW;I3BLKP3]8^02LD+F3UeJP3+r+@5_uUk+ZZ4N3xOvh2QiE<%5Qaa4:>`:%%^q.Rxd(i#:B:`&xpwu#:FD%k(Xi(jbbLS.l8]`ER,'n1DNIA4;$L_#RBDSI"
"sJ@I,&2HA#_t`f:cQ#O*J4`@#YFpi't3'f^/oU_?G8c/_[8a)>#t$R9k[dZ#YlQ`EOYO;-FXHa3=@$w1XK0C#gIZfCv;ju/;.*B#/:QY>NxVE,paAA#?6mu>A3[p*K7`@#R9MV?2xWE&"
"l/*N2sP2209s5]#)#jIqFBD$#._La3r<=S&PMk@,h83E*elIh(Jp.c*1D#W-u20I$>.+W7$NGb%4T$Z$*j@1(<]qk)eS-=.G0:onXsOs-7pm,Md?:O1Uj5r%_5vV7m9#w.:U:g(WNHe6"
"sT?e6(^n)*f[T3(L7UQ01[Rc;?(PgLwoc>'Z<qS][?x3MF>Xp'3]GW-Ht/I$jpj3qIkZ.MnAxjL(v%n7WS-=.h%VS%FhG&#ttsV7v39_-3S2U2>CCZ%pYr=YjbN*Iw7f0(fWgi1p,`gE"
"SgRk]R6]nLO?@K^DGJs._t]'/EK=2Mg8L+*..YgLdtte)-w5D-'[5@.dAs3(9V,N1X54/Mg<wV%*BM?-4LRc;.b,0(NY0W%x(Yk/2TRc;@:@W$F^;F%Z4uNOI(B*#AwmH3Ykc^cDl$-1"
".lhkLEb)=-HLSe%.Ux'&^(ij(3f].2[Ah*%x(K6KG0u0#[quE7XN;hLc.[mL:TeEN6I$a$@?a)N$hji0O37m05Fab$G2h/)J4po@6;l/a2^e@%[=8C#1If@#G.,Q'Sf,x6`T^:/Fck[5"
"rxX#9Y[+#7B3a*4nT+-4$/wx6tLIkCr>9d480q(6^eP(>SibI)qd'D#gGSF@Z=qn1v:aN=R_kb+^DIe<=&f.F3`J$1Ne$eu6PC&4hcJA.[NF'#uZs%=wfVPAHwD5/GMPdX3*b_9?r[a+"
"MpGb<.wAUBd.rw-8k^&9Fe'B#HW[IMx,Bo8[@5F@pjUF@X9x?0e%0b-G%d%PVe[I-r9l?-G0vQ94;iD+PmR>/I.&H<1-8o8oww5`595O-mNl0.Na&4NY;l.)?Kga<kN?eMDG[Y#$'&##"
"pLu1^O]SY,/xe6#,Gti]=SUO)Z8:m7PX<N0n*0N'mO>_+<8,gL7#>#-#Wc^&m;?S&BxE',6;(88_ULm(]/nC-tYhH%'4>3pwC+F3-uXL29j/J3vu.&4ULD8.50Z&4U]DD3%ZVO'giic)"
"X;i^:PqJ`,ML?42-c+.)BTZ]4^i^V:iOnI'w-9q/01sZ#]:T>#qYf.4C<:qV8O2##kNft#v]l##(g%k7LiYE#O`jc)B*@Y2SFEC#';ki0;9co/>[@@#@@@8%nJ[/5x`LC#LoOcMLBCg("
".7hj(3Q&F.6('Y%%-wB#wFUoKqv,B#qJt.LDNmE3a+:%6cV`#$O#uA/[:(G/hY6R&*n*EO^dk(N+I*[#Iq82'Z0lO4;6)YIp=.fNRsJ+8i8.K<ZQ(SSBafcNNKZ+#6Hv2A2[a;A)l]#A"
"P4_t@LX&-1%vT<&a8G?urUU;pOfOP8Tx[@>sP2s@BBQl$0.'q.][_a4^`aiE3X?o$jZU&$D..q$c&':.SH:a#S,m]#:g;e))F[=-wLol'N0i/)*S]O0#*d/(5AvS/s&ik1ld8e*'Dn7&"
"4sda35R3v@O*/i3E]UI*#U/S/0M9'+-;X**UBp2'n'Ku.*BQp%/0V($kNf/1g]YF+2-S],Zx(G+#CvC+0*LL;?Jgq#ba9c5m/F$6#)>>#EKSX#FqLZ#8i8*#*JY##dq%##Ge`Y#g?hv%"
"p*;/)h)J$5R*3e3F]+$Q#`+/(F+si0>Mm$0N+1r0_9#l=vIwk=).JkMcXYw5WPn_/Y91xN-NbS;XY:j(^_^C-d$$`-_W&`/C5-R<]&t5(r4]$59.wA/rS7K<XI.V8s<$xKZrD:2+j$qL"
"7GZj^3UO;7'3X8ebOS(#R/$$vBvT^#t1<)#q-DG#r^$m>dR/k3XdpC#m+c%X?o:/:ThQg#.E9A#BL[S%aOk6'K<]nLHFSa/'vU`N;Sk*$(?]>#t`_V$PbvY#:h5N>3xefCkKDV9aAgkL"
"(7*K*aRbf:Ka@9I]2M_#p7.C#=uJQ*o,b?#OccY#n<JJ1liaE*VC`c>V18>>?-RC#Y:5i(3]%29b1tZ%E41<I6lLX0V>hB#qPdC-dv'W.xpgfNctM+5pl.)#;e[/3a[#K30`r8Ao;6N3"
"aXx^$=BI12x?mo@A=Y@5dl^t@cMq0#vY(9(DhHT(2)=3pn5V#A2/7BZ4FD=->.;2%(a?mM?`,o$,&2dEtm3^,lS^;Ka/E.3N'0wo^6q,3k=8C#$YRs-t)ohCckvOC1@Y8&#:tx-PtS`,"
"TIU71(%1J)EYD(=3iXa=S<'P)7T,1D#.s-E^lNk'k9SN0Y4JU/$fP%tp=8N0r>Mg($q]n/)39e*Tsp9.+@l312Uug1[S,$,>Cf8%#n.a+-JgEDBP7gUWYd$v'Xhn#s+3)#sTVE<%*toK"
"4/iY7?*?b#R^Fl7P3o0:5J;K$)bL;$g*M[,agW4L#9p@6GHnu>V#9kL80:onaEO$#<>RA#8Ho],*F)26#4kB#m$OM0E>9d<8b^C#$0))3li/q%G*]0:`ra**.Cg1(4E*x%B#d408><rI"
"cDj&+_Q-87<K]s0>dJXk+WW-31k]#AKb71M_)6/(UJ]s0?)_3(07q%)u?F.f1WFpGGD2s@.L6:*MKQkiiClg&=)TF4-.Jw#g7)*<VaFQ'5eih3XC==]Dgbu-iJQ+<l3?w-Wl-R9Ue=5C"
"SY*c<vC$?$/[eG;&ScH3i/W%tVI?5/TbKK<^U5.#;WuM0/)GQ/Jw8a<>&cp84svx0t]7Z8l,0Z-pll$0V*L&vKmF?-w2H`-F%]_/P;ggMG`VaOLl$AkwQ4/MaUNH*##vY#d3RlLJuV;$"
"TBO;$M=qm06o?uuW=4gL=kU@MRPtl&?dpudxZ-B#$SCmLnB-##pI*)<ttTw0-oVw0G,Qx0lG>[M:*FA+/ak$0QKv9Mj;r*MBx`v#+Akk=LW9xMv0oo%%6d@.`L[7nZ4*d*U^h_/qvA_/"
"QV(W-A;Y$0]q=/(oI*)<r+`;ZXYd$vP+N%$MEX&#)lXl73RqA#0m'AX_rco+LB#D#H_ID*r#mk*=R.@#WePY>Nu:l,'3AA,&cYV-#'&F.=xT+*^=A['&^Q(#I:.A#S;#v,q2o:7^Z(O'"
"ZLeS%r[8P'rV('#W,LiD$48]#7Ya5*Mh.5))sB@#]$G?Hw]<b-HOnA#Qhji0[v`]+-1V)+Bc8t%5oPfMLjkeN-TB#&*'Z+#BcFQ7Zk9`$#m93aNY<3pn_%u@LJR6:1QTf$XR>3p#jaI3"
"(T>B3jiA12K%-]%,cX5iaHF(&Acm,DtB%U/;TID*ci[:/J8f`*IKQT%-SnY#eaL21p?-9:fETD,d#PJ4l7fn&D_%iCt=?/*^a*9D[j,C-fB;N([_j=.fh^5'hK6E4%(=WJ0f]3:G>_x?"
"]roP'vxL<7qE6H3]kSm0ZH#0(#:?(+%;.W.4J/21s?S:vtj%##PGG]kGsk%=-IZv$A>e$8W.VT/=w8a<9d+98Vs0'#LH]t#wI=gLAslOMx%OaGsDBW$)`gv%qhv##(I^E<R2@k=9&/#Q"
".:)A.+^k>-g3uY->ZKwBr4[k=IDnnM;+io.*fXR<M?__/Wx<4NuRHhML.8bOul$AkHt8/M3$PH*##vY#Q[$lL((hM'YG`M'==6&%8^xu#0ZBJ1OOD20Ej?D*LITiB_CVn+P<klATL&f+"
"J,6##l^O]#c&Yx#<+0h(CE[d)gb@5+7l[.2Nu6l)_1)s)n$6(+.rbi(gwvS+>XjI+npx+2=))E($N;T#(JNfOxptaaRjVC(/aFpLQdQL2O>@E&1&7`&4i5g)#Pc(+cY^COOOHY#PW5P1"
"HKOY-wRkA#WsPW-cjP9`P2m$vu5O]#ike%#q)hB#a4_gSmcZ^#8-DSI^5h]#IbT]=TRNM*'^k?#nU>YYAPp>&&7HA4ndeY#sgA]Xer?*/o#>B#esir?kUn..,EKA#si>JC^'5G,?oq@#"
"n&`C&1QKA#CC_oItw)[#.M85'a#-n&6q-g)`I9PSECU/#a5E5&3)=A+w'6(+*&r7[bJ/'+[I+X?*FF^#xtpuYb;)C#l&Nh+'c[w'eHA[#h5v%1]>ro.tW#C-j]G;-4`]%#fFr@#8F_XS"
"/-58/dGa^>S>YdNQBT6&LM<5&gQ-87Mq,F3hFv2AL),u@=UqB#;6g#A1V(9(^1Tm;H?)s@TjA,39Z9W-B?Ik4hF+F3?a3gL@XELDf1p6*+7qB#lYWI)#0Tv-%7q#?,:(<-I/5J*g@O.)"
"?;Rv$1r.$$*)TF4@4vx,n;P/4i/0+4qa(*33_cf2?)/q)=*879]4;-*$XqkL%)sh`qpox6v[960J*Z?.^'cPCh(cI)x@u48*;l$,QPY22><j.D#&>uun<5'vb5A9$Sd''#q(q`$T1*1)"
"3.GuuoTu&+<bN`<6HoO9Dsvx07H[,#)9@W&lqT+*].eG*Nf'dMIXL`NbfjwAFbP&#KmYLNKm$AkwQ4/Mq8JW]6>vO0tca^#IpdF#j>uKNRIQuuxho_M%[rPMnEY`8ROQj1EIL/)=f>*#"
";/]d#fDo.:JwnS%XLho.gOn89&[6MTZaW1#*<A>#n),##^:4@#'%2;?pbgN(sS5R(`j^c/6O1lKmR]W%CHfY-N=XI+I#IjTCwfm&A/0lTn1^+*<nwJ3Sh*u@[xiI;w#T,3eH-6i_fU#A"
"?/V#ABs<'%dAhI;-^u`4G/@T%VnU5;0O-,*J0u;/d9v2(7T0&?4;hQ(13x@5okOZ8Rp?8@@/Is$Pw%u*[SSB4<?fZuU0<6/$[S:vj=p19:T+Ak77co7&KE/Mc%BoM8ptq.3vQb<W$5I<"
"<^Js78mVW%`<iuP#PXAR,sb1#=<0<-=Hp,(kPA(sY&duccbs20N]%##+9kZ#t4w3D_qm##cM5/$UC)A.iC#>PB3^5/nVhl0;qR@@a',d3[Uhl%+pOa;>qI5BjHD].,_;/)+INb$/xR(#"
"-V1vuTW5j#Vl9'#A8tI^=Dsg(3Uu2v71w>':IOk'[,`K()h0V%+_:O16FS/1,MnUICgY#>#4Y31[,_'#sT[H)(->01-Dc$,C3B>,d@lJ.q[oL(6Wv'G)J8%$tDqi'Pb;Z#bV-(#[BW;$"
"W(391k5V<1Oqf604PP?,4S+M(i3IW&Wo&*#^>58.4Vk>34*g5/2clO(7D/8@JQ3jhOM(^eGh^o/ad)o*d>;@KshJ3%'oaYf*'0g'jtl0,_#Xx2UY<n0)kRP/^+4c6aHj?#Nghc):hZa$"
">-Tv->;gF4GU*v#g72O+-SKN(nO8ucC]/u%`P8t/hV)O'$A+E*db?9.jId++KG.w>u9Js-oG1j*FnGT%Baf9F]Pi0(jm'#$p/Ks$]G2l0J7V?#rR@=;js@,#PX`i0*qA`aH6KM'#cGl]"
"8ila4/h>:&X<<E8b4<D#xkD;$.lEE&Et%<[Xxd#Q,7.a+eN,E#sCUK)e*`[,MN@[YC6RF#ZD,O2Nde'$K-M3XI9KPSUYo(437nY#HS%&4*-(?-?=7a5V/4I%1F5##:@*9%<c>##t2SI2"
"5mdgN_Q9ZJs)&7p%[)22w//^$))hte=mtghkbFpL]4i;cv''9((bYGuI)njet^rgj$kji0)j*NN1''l)6'k?#(#1c*VX/:.pG7h(J2HQ/dH#N'3joe*v<>a0Pk2r7*_dv$9cL;$uR2Y*"
"2uAg1vr.l#p^''#+Pc##NAjc8S-UB#gcR?$Km#p%4mHN0LEJX#CqLZ#*:K99kA]t@tq,U7>C=Z.c`Vc<A/c59k(R^5kNf]=Jw&l=c_-P]GVFp/QUSk=p+)@0G&>uuQ7[k=vIwk=Aj$nM"
"<,WT/>t,D-G6-D-F1H`-du-l=#o6LMLr7BP%)[xkvDnA#,1H`-IXSk=EqFl=l-'l=*m-l=sOhKMQ:fBPJrrV$)<cSAApDv-At,D-IQ`x.wsFu#73Ik=sC$##6DEPAfw+Y]VbQuuf,RZ,"
"HeN`<W<-Z?`R3-vAGV0$Q^''#O4_h2L<J5#19/W7f_e),?c(W7w50I$:C(hLY^bp%+L;W%qvA0MPaQL2Bblxui$MP%NMY##-9;X-MY1R<]*+R<4jO$#lK%c7V[XA#,mZ]4+HbZ#7I<q."
".X`k'eHA[#`2*_>FDPZ#wdKG,Za9N,Or5j')Bc]#(t;k(X>m,0Vp*m/Glh2#u05##i4Z)/]%x%F5Hd&4#;Oa&x65r)@:W*<*+$K35QJ=7pe.u@*rbJk^/u233jq3A1^-9(x<;Z39;5:f"
"?/V#AM`P7A#;Qg)J%1N(6i[9.ZUfC#h:V='O8.C-i=Mx&[L@,]8(lB+4p.t/AE(<$:qGq@on#,&[sK6CI[6t9<JepI,mdT%mLpiB:00<-.5>o&oH9N*7xe$vko4u#`el`%$L=qBRR6##"
"u*88%f80p7,st&#>t<x#Y[MA.<av1BrfZ/1OBLm7Z^4&#*$J>#X(6.'aL%5p.8tB#57&##+9kZ#*TmI<p+D)dM>WmN4r,-Pl<oH)g,o%l0d_PB;[<W-XNC.?g0@>#jD8M9L8t1^D&L]="
"6i=J2%UD3VeJh]#=hj@#UF`v#fVM8&]qmp.MF:/#s/l.)_K/E%XMQpIsDn8Dv/&7p6KW6pMqWv*3q=<-VlpW$bsnO(7EbL#@WT=-w#a2OmX1m(`Ws1^2L97qOQAO(koY##XK9D3dtP%t"
"kj=G287mCjBu5nai<u2vk.)U%Y]&4(OB$x.t?2oAUPZ@-Sg;:0jehG/O_rxP(uC)+aw;mLW@]e2?Z(26M5=>55g;L^cLDF5An1(&)Xn0#%KrT&x[8p&6voq'D=ZY#g7cl5.m`k'Cr/JN"
"5%<d&@_eW$dS0kLr%m/*TPam9#cO*=@Hc'&>Z[4(]ugh3VlP+#Q#En0tcoH3&[)22m[C3pVE;T#;6g#A?)e)Mn#'9(^wG*1_0O/A^/u23Z9bi0tOtA#C_6,Gut'f)'Z@q&_@i?#Tgxk9"
"BFfj26G[^7Mtc2(lunL(S$x8%CowE3Q5nV%CYqg*&FVc3mr7L(fpYn&n$G#%6QWH*t+H>#)8/9CSdvh%nhPpTWr/-#sU/O&gR`$#*$J>##$Gh'9JT58FY`SA-rVp.w088%*lId>(gI>/"
"RBSt#O#5wLGDM'#+Pc##9[:b9IPnm00@N?#vU%O9e/Pp8qob>#;Z%j:OZ[v$Cu]]8_w3',Gmm/(]$UH2og`,MR/^RNQV'2Bbmtk=/[<MM@.:T&rM3^#d;d%.'Sa4N`MdX7TWdXAxq)M-"
"F+-D--2Ei-TeJk=7Obl=UA)l=*b_kX9T(`P6=qa#'HDuNs759#s%###H#ZM'VC&O=S7o$vV]d$vj<Q#$&nP[.Ri<9#[.q8/+9kZ#L3^+OW1*n%QZGJUsG8m0`.X_$gK.RsjTu3''hlF#"
"?Qs&dX[-lLcr#:$tqd(#dqY@.11eZr*.C'#8@%%#EGwo#kv@T%:YPfCvw_'+LW,N'aFPj'8Xc#Y&2O1LAPlU[Xt3x#R59##WWlf(BNv##i^97&r?r/#Qe.[#JhIw#p8J68YE)p7:Gp0#"
"$[)22gbj[kRk8B3^80*sY[wkL+MDpLLHate]>pg2L'?F3mgfX-W5>H3:0x9.0^k-$U8`B#hxQb<:4g:B$YCdu/?5c#*@oP#.C>rBlH$n9XSWS7E/hP&Irx/.YFbGM)Bn##/o$`]LKPJ("
"kCwn71]`$#[=oT%1%&@#]W[p'kZ][#>[E#QlaK^#CV9N.dRf/L#Z0e$>CcY#gr5Z-A@,C--.Nw#ngYj%lBnS%EQA?#[Dt<:sDt<:KU6d<x5nZg7K]s0`Ucte[&=3pVK4mLKqZ/AK9bF+"
"GDwGGrfVF+s0/(#`ItB#=bx9.MD5c4].+R-;$Aq$wC:-'0rOn:SR8T+DCU:@g0Ba#,V@7(<0c@&>%hA?9u>V##v[T0E.Is$#wC(v4qf(Meh[$$re''#T(MT.J=h+vq$15%ch<=$vglF#"
"*LC%%x$:GjeQ?W.-)G5/<r.Q/^u)##*0O?#I-2B#w,fY#%h>_/<0F_/lIpiBVx[DOp5Gk=J;e6#HU]e]0wh_$2G#i7O4%6/2oN0(NvQGM,iG<--C%q.qd.##;8]-#Q1_KMs/QD-gD2&."
"-SVuNj^rkb'>]P>$-jv$R*3e3M7hm0#)P:vTOa-?X,]RNXW'2B0&w&$S'SS%fW[I-Dj<^%T`=Z$tj::Mi8TjaD8xfL]52mM<YaD#$u5M9G1$2^t`Q]4rP7I2ko;'Q@3b[#pUm?#T/W]+"
">t8P#sP6S+X?=]#QVs)#_C9FkN:0*sB*2jjD;Ls-lG0O9S>?v$<*^p.s)pZ&cf?tfEivO0hO5M(?%2Z#*/[[%Y3,(-L)cd;$846')5YY#:84kOALaxk`[LS.,m(B-KJZc%f>T9[*B=wP"
"?@eW$*Nk6/Sx9^YNhL0,x;x)+2G#i7D?o0:8lj`=Fc@3'Jh@%#4e[/34Vk>3sG0lBS/%w[Ia4d;O`[OX%h.lB]@2d*D3p/.W?Tj*^0=W-6he[^6gqq%FD'W%k7v[&L)>>#o####Rgu&8"
"Qu[PB1XSW-p<rJWR@?>#wTWw0h-kS%EDou,$/VV$B1eS%U_oiK*O.Z#3^wi.k80*s5$0<pX<.,AN'l?-)#jE-FYAV/n/Qr#vB,+#6Yq^>wg`l]VH35/@Em3+&%AJ1&CGR*&_7M9nNaxk"
"g0>_/OMc##L,4GMuB3vuj(Y:$>f''#Q,>>#>G4.#k-k?%.&oh(Dinf(&W&gL`82c`ot3;?[<)s@B'Z;?Pidj:X*0m&nrPQ8Fw0'#k(#b#x[e#MG2CkLwn)?#C76&MK)EK_EUtRe.Bli("
"ZnIsKI&n'vi2l:$JdF?-?qF?-1uF?-jobZ-8gb_/M'&##n2E`s#@,GMXn*AF*B?A1?]5N)U0D+*0W5N)4D#W-w50I$P9XH;7`/g2Ge,`--mHk4aFmZ#Eke%#],d>dhWo&&$>(?#?DUcD"
"q$:V&Y?N?#k]ml/1VH4&@A5?#2f$s$R^Fl7>wF1:dmS@#qDji0UOB:#aff=#Tm1VdFFU/#O)%)*slIe)mrEe)G0fSR@iKb$Ul*2(hNdZYXZ#RCMC)20)BB[#_5@d)'*t9'V%&J(Me.u@"
"k80*stZ%hh,X5YNd>;@KNMT#AlS#HGdqV?^lIxhUS[#B=]`[D*IweP/Jl*F3[7o]4iiY>#3N_99Nmd4*S$>E,4TBu6lS:bEG-O#7CWaR8^uVv-M>(2)Y=v]kE[rD5wtrY7c)>>#%->>#"
"pt.l#P,KkLWed##.>ZF:Ia&wQ%Pes$wdlF#-c&q^CtX%vmuO:$jqd(#s####pdYTkw$Xw98u]E#Z5BWN`BIlfh+i>[;CY.^[p3[9dTJs-gXimLcL>gL>Ba/3Q?HlfCC/2'3.Guu%U+P'"
"EiseF$V7_S.00<N^Rw>#s^W5#_X-T7,$V$%2G#i7HQo0:=qle)8&2d*JUit-GdIiL?,Cv-HXYs.S(KD*68/R<Tu_8.Z./(#o%5-<f[hf:T=-5/iHIwK#fg,#Edc6#R$u'_)lqp&hRr/:"
"VR%x04auwg+G'PfJ2:5&Gw5_%cUw>N9_ZlNIo)?#.MTsL4j8]%q######5>#0rUZ#;tC$#j^-/EX'*-$<&^>#GETQ&ZkQG$/4gxX8+l)N&@*w#qMpI$raL;$#=R?#6j220M?9Y$5ll>#"
"G'#qIlnar?w=)s@.6'N(8`Qh#V80*sT[+CueJO4(/vK)M9vus.r,(:%qR+F34>`:%BYuYuW1A,EX)[VR@7`Y,m9,D#<4YT63I_FM8Zvu#<>bV-ZE01)*feQ#I_.0:Yau2vuQ5jLIdm0L"
"QBBq%aJ3T%F`%o&x/F8R<WD:M2>oo%c<O1#`B7uLh(NIN$1t>3taI0MihsH*;JjD#0p#a4_M@Q/oYRD*K5pE5CK7T:p0Yg(d_`Z#H.'T,;gQY>#>fJ/G-Z^*`Urv#*])T.O4]`WAROJ%"
":+:YY%61/(3-*&+i8`g(>wdd)D1.<-O/lo$Q%.<-<qo3%A:Hc*&$mF#[0M@I@<qa#:4BWNlBIlf?[;-vhQc6#i7k.^1xwK>hcls-_Zd*NrF5gLC947OTK/E+PM[_/J'&##Lo`cV'<uSA"
"<jU?.=j[IM+mqw%rT)Z$'/gv$?Tr-#B^`&#*W)RW5g;RWv7@k=NYvS%%QYc2DZqr$CN2vLk;Q:v5t[:.$`vS%0u?R*>RwW_aj`v%(ChS-Bv>X$xW)gLw=S-#1=WX_]dQ1gRW$3'[WO.D"
"6]u##TWbY'WZBq%p=2wGXo;Z$hYIi-47Bh($eo>#Jjr.L'=3[#M(vI_2$#L:%Z#V't6q`3EnxM'-*iv%rPq,+,fOM(i*,##U$-87.H-o9+X8<7Zqdu@6pDpLri6/(eY8*sGe[XN4V$f$"
"ooko@lu&i2'%Yj1?E([KtJx-D5+s20WQCD3nn=`#+Gj8CZ=`m;/*q$A$WO<-iN=q.ZcJ^+,X?c*Rvw:M>I-iLt>9k1ap1Y$u#xY#YCKfLYt-##e%gE#-I%%#c3vZ]_7XP&d(@d^$,t,2"
"6r$s$kCwn7j[`$#UDKb*.Ecv,=LET%1'ke/A/B'/cdIj:jG;O'A:(@.x.$v#Qx/5^V#f$$3%Hp0aWO=7@Wk>3/AnNWxqfFM8gai0Y?qS-:u8K%iQ'P(ULD8.]CI8%s;dC-dPgG=A.rW-"
"aQcA,Ovbn%iv;I&SP4C#8v[T0?`U;$m0p*#=DCo%7%K[f-vb1#L#jl%ALb6/LH]t#epSi@nkCEOI`+/(qP5##6;X7'vY*fq-,+&OxP*B#(?2YNVQ4_5>GwhEm,RA.wv,D-d;d%.uxm3N"
"F.h,3/O3x@Yuxc3A4Fu0`$?JC2&Hk=]&t5('MnQ0LT.>/Q_xH<eu50D>7QZ&/F5gLTZ41#1iIR3cP=jLd'hM'RG`M'(J<u.&6YY#u<j9DoC<?[;j8C%42V:ml`[606'2c#I`mt$f>5gb"
"r#f,$8NYO-MZ6=.2sbc.<geB#sJDO'$q.##F+]7&hT4G`Suk-?nc39#%k-q$otpOffa(kL]i-q$Jop19]E>,)tD*B#9IGM92j:pJ7;VhL<X4?-N01pMkuRqNIs/-#15q`$lOX7enxaN1"
"H)0j1@-4<-a>Z-.,pp`N$86<0tH$B#xi@kX3#SkXZd)fqI'N-vUGY-v=?V2`u-vr-.c<X.`?H*3R(@T.AEJX#i6<+MT#TfL;VtfMASFJ2DI9d<BX['Pb%6wLBx,D-[8Qr'a;a.3NX`G3"
"&?eA#jg:=%+SY[/w]W#$^hSk=wC2@0j6.##3oSE#6&%8#`WvO_x`R1gmoWg(-A`?#iq$&4HOI-N^iBEXK8.q/i2)t.brA-)#up1T&S8u(^JU^#T7,0,eiag(r-.(/[D%p.2G#i79%J0:"
"/=ro.bTG#'Xo<c391*&+rqvZ#R8qZ7s#$U9k:ex6s:eHH1^aJM^$>c,GBOA#SjgY$4*6q9(h$.#<3RZ92_Rc;_wIM9&^aLL%(eH3L0v2ASW.@52nTspmg&9(YM;T#hrW-3KLk0,5SM0A"
"Ocl8.bc45(LJw5*'[)22e?-@5=->#fxw&i2]^7H#Eq`LLL#5m'KuDT.qII`,aM*i%XOo$$(AaGs@Lb$6$F4wT,@>:C>b'7/FW/<7FPba*GQ;W.L[da*Vk9$(/sRP'N/`0(Q/X<-XIVS%"
"U<dl/TL;PS-Cv.:)hk6#dP`j7t4o0:^LH>#sAro&@LV?#%4@?#+?GA+)?S^5:(H).TuqA#22ro.u#'[#kJ$5J/Lb.%oq$?#fV220iT3Z#P/+Q1VB,Z0d7698D3]#6>MDZ-p.(W-#I-h,"
"B?bY-m`hY$(,W9)W'9I+<%ZQ:Y5)dOv'7Z#<CTlS*Gr]#q&ZZciEla9HpD`N#Zo,=?IT:)>)TM'f>Cv@aWO=7f<cD3)X.@5ubW#AYM;T#,.NHp2`UFpUT0U.+r+@5;(5-&sXV1:<lD8A"
"iaOs@C5TF4ZXgW,bb0S/[kRP/CI5VdpmZa*(kUS0.S=C$>xs:)+7Bp9j:Bb*F^@.2v=4.)%6BV.W?U5:HqEt$D&@U%x,fP';Z0a<Al###41%wu:qT^#QMb&#8NB%%DeRc;gcM0(HAGm/"
".L7G;?Phc)un1d*GH=#-u`cxP`/8>,lCjS&cU_w,IYlN+$*6##hJRl''<Y]#w_AT&[`<e)s;irIj0er7i$-87(lKQ78+(K=e%`#A'93ja>rZJfFac'&AN$baclOP(wE)i21/Ys0R7bMK"
"JTLB#]0x9.gH`hLZ?j?#[R#euxSLU%#+#d)v,b5&)B7O0k^8[#+d]FudVh-MCP7'v?=<h#TR?(#;Y4G<4O<1#mg-s$P3o0:f68%#3[7thV9tu-5Zv2vOjTP':8Fe3W0iK,V;g60<:tQj"
"tCoI2='=.-w9-87Q;*K3>>qQj0Y7B3o*kKph9R*1g9)@5g;0>3/n0Ui%Jfo@j@:O.E[)P(j.Ds-X>ZY>58Z;%]+c;%16p7'SRn@-o,oRc.tMd*GGjg(>.A?$`u5n%;D=m'qQkO:4I<E("
"+p)k/=p@-)81b,):4D$#3e4/(J($p.EnD5/Zt$##6DEPA'AhWAY9SS%0_N`<x?`N9QiZj:EA%/L1&Uw0HkWw01R)MgMNOV-JdnwuF9'1()&#V7o)0I$0%CdM&'ki0O->n0]LKfLu<PcM"
"`e'^#=*V$#@3/O(4:TM#'2G>#1%I8%.a]jKpkQZ#44[S%IL0T%kBt9%#>@<$bl)qINw,87Hk`@3dA(E#q*f#A*P$^eS.MXeDt3^cE#jc)*TR].f/[)49wZ)4RNb'MbGBtL`h+6>_5#]b"
"1EqNiCr_H-]Ts[&8P6d+#4$9'BA73'9.f@#C'>/(XqN%bWA8h(KE?;%/UP3+xc_DN=w=/(]P9B'wnsX(6[ZK)CkI@#h><DNeeYAmg(V#A);v235KW6po*kKp,&(p$2?RL2sA^0)]kf;%"
"UZgm/C]R_#H4.cX.2``*(Jet-UgCs7BhM<%.0vI<9I<E(pEbs-8d*BGO'tYHD10WS;^jd*5EmF#(u+WSB8't#*WQh%DWc5Mr6%p.KaN5AxOo)=wfVPAfr$l=q+uOj+iV@G)+[j:_$,Mp"
"tJ(l=%FSXAaM%)*QwidMR/^RNQV'2BA]akXeuTKMXC%Y%8e/W-Ccvk=Zd#$A6tAp.mLN<%6n]?AZ6seNpD4rN)/]QM_TZj^GPOV-Dh?m0R8ni$pHQ#$&h^C-1/QXMa5+/MK]BdNkv2X%"
"W2f-#&xHi$uUMM0'0qTVnSo>,Ns.jKNX;[&V6oS%55nMC.i-6i7a/e*<k'D0CV)G<>>ZF<1;KnNL4-##g.,b#:o=6#MBTB^?2Wg(:ku2vYG]$#>hu2v#JUnLo&mQ:X@bV/qv,qS:(rt0"
"J7ti0n'I)0Sq.#Q*ouG*U/2-,7<$4,dMUY$s&Dh(_XeS%hn+=%qbu@1hWDp7Tj+^,f*0/(@xmh*q7fU.K9O@3s9Zd$DW8*s4w(*)x;-H5:XrM<]xm;B@SbA#&-<Z$jctbNOOHv$>qhX)"
":0sbNFDn#6X%cm'#)MTL0h$0)F[i%);Vua.gOopCb>V-,hV###onUf:Xf%MpZ'AJ1t?Km:U*xo%J;250/E-I2;p3X&wfsl&AtF#)iWAj0S$_$-2F4K1IR/mKHt#41WpNq0bJ=>/Dj.l+"
"Q0bT%TB8SR94LcD*FS]#$R-87Dh4N3)wj2(M$ehu=e40f#6P4/cV9t@n5;5k;[CMB0EtM(m7'6_>N$Mp_I.:(-?nD*TsRG=Za(E6ae@&,S%dv&ai6.mIe?k(=+Mv#>oR+6itQ:v?x###"
"LSHJU0MNY5+i?8%LqOG)ZU3Q/7J'B+I8q8.XN'6/75YY#LxRfLNV%mM9Fg:d4(&v$N799&Jv>5&bc91&LvTw0pDm-?11&x0<`3.?wK4=$/?F;$:gi].kt]E#T8QD-PBh<.11LU::w]K)"
"ILL/)MVdp.bu4gL_6Px#?#iH-Z0d%.F033N-=3d*FEBa<-djbN=K=jLq&m2$N&l?-$(H`-[P]k=1,oh(-wlF#c<lsL>MXJME6<QNR`BMBfuhk=-..],1RJ,*'N3^#cRTo1]NX'#Edc6#"
"c`No74QnIM0F%IMOBQD-pCQD-/Om`-/Lk-?C0h.?*op`N/M0KOoft**_K5UiAON`<[Jk&4e^l##L,GX7w:SjK]>r0(*-f##DxdS%,-4E%TjRH%0W7D$K/i>7*rf#A10Rh(N@O=cUp/lB"
"fu>g)C<dOK/TSt@Gu]m&4G2Q&qQdRe-/0lBs)Pp87`.>c>A_D4HU?<%)pe%Ovt__?87>.^:i<X.@sl5/;u]E#ubge;xetA#KK.(/fPgm5KwlA>K]03(9N&p.?P,'dtq49#g=;x./oD7&"
"TlLR<`3+R<rU0>YWwIW-2SPR<][fg.9bhdMEM?>#'9s.:JED6s]9W$#W>H]#i@fjK9R[w#Q1nS%KmLK(9<%@%8fN1#MU<8p^;9W$vIe#A%%ht@abpPso%4a*miNK14ZeG;IAKD5%ALV$"
"`D<tUk<@>#%wKA4%fvS%cdt(38Luuuek.V%'w[##scr.LgO$Z#D$t5&Q<k9%0'H+#cnbC#YZ)22P3R/A$o(o0&11^[cOUX#O#tR8IfG>#HZuj'1l4>/%Qr</I4Z##wr:f3`pil80`UV$"
"^6Jd+85FE$.Y(Z#AanF3-l-s$D7Uf#8L#j#-GP##;IjGcipSH3bi,f*Iq,F3@IAqD/F$`4G(xU/@XSdN..l?\?eJbuLf^Q:v(7biK8m_ucak#AO92w5/`7a`##/#b#&O7%#iw>M(TpQ)*"
"?86$lPB5R&*n=1:NjZ`*#4KfLqY#,2=M?+1-v^C#rcJXkSkK<0WVe]4U^UD3s..F%&x.[#UE&u.vCaD#le^f)lmt9%M1sL)3:LMBYF*]-lo`O'lc;S&Y?i/)GK(9.OVi.L/q-`sg+VP&"
"4a[s&0+0h(+`jp%BlY##w95T#YZ)22`-1l'w<K%A_0dfCdQ%&%)ic`#ej?87UWkP&Uuou,Te=W/@psw,vHIX)%x@T%'=:F&=h,##Ms3T[NT>7&-*b>-E?B]XPV:0_%+'</;2Kq'>xk@#"
"jKpi'UdvkKJ^g=$`)IC[[g@`Xrg_V$[ueJ2(K.87a&BWG:pxGGa=@t@)l^V%oo#-1d'H+<a'U;.l5@>%YjA,3bN:=%Y;9r*t3iDN/0&A,5Hk-$Y_?>#Zm7M9#VZS%kjx+2Y-PG2GuCk)"
"*d5/$vT1v#hI#C+G5cj)Kf###'$x=3`p^20_/u23&ARL2x(pHuaJ/J3=jL30bT)G+[WTU%YZF03;%'F0Ee?k(Nh*T%aG[T%d/5##9xSE#M^l##-Mc##x#iWRuFiK$gLU>#`th+V6u$<$"
"&fr0$R]i.L2(.<$n)bv#E8pa#(HlY#X$x+2'.TF+qB1re=mtgh4BNc*=`^.AK7,HM@9>FF*ep/)J`5J*GWlSfv:e1k%uT^#EMrJV#jF58dlw&,V=bcMC)UKN<'LE#1E1h$1SnRn,<1Q9"
"2rb&#jLGM91=vV%u+ds-dGQ&MZ1&L_LD:@-,h#&'pmS`A9XXM')mLm/2>e;%@ZB8%,=/g'eh9#Qo`vE@T9@W&4Svs.JsmF#Xfk0&E<A8J_gK/M=_G3`pq18.Xd7#/ShxH<Y1u42;EPk-"
"H=7:`<lj:dCTPH*wiP>#[3RlL`OF5&Ys>5&>Av;-X])(:<k`cW=$G?6+i?8%2oZrHpq<<-2UVu&qM(e=buM(:5XoS8l53/%7Fhv%D[D>&i)nxu='wY5hn=6#8QSW7<2,##-X7v#>MuY#"
"l+'p7sKGPA3&D>7M(-4(21_HNrNWL2QW'B#)c`4JZh&i#O)SnLX=T*#B/8>,LWEJ:K/UP&)J/;6H)(6]Zj_V$FC;Z#iU-7]T?)4#a1C>#Gke%#M]4;-WcKp[]PG>GEm-arNotghDcW#A"
"%O<'MTaQL2dT_T&>e#]>b/+B,Pr#h<awH^lp$-,*q/LU%37r5/4/jLB.I16MIk9G3FBK7/m@',3UjA,37)v58#>WD#2I17#D@%%#:-A0)D?Uj$(I;;Q@N$d)MYlf(M[sh%SVnh(9$(3$"
"9xqV$/jw?#[Fu.#6]^Gudi.4(M-ikLkP=#frSmh-nB&@'sYRL2,T/i)_kY)4hTU&$q@i?#&uB>,8'j,bwC(`5N-aV7qAPc`YRV#ADXOs8F0)D-FJ?>#*pCD3m_tQN18-&#8;pd)/xQ8%"
"HvL4'9)u2v6WHq&H%e&#ZAlY#?R@%#LSou,te_v)s:&x$d3i`+f0Xe)CZ$0%MnVR]ulgg-mA`6NlZ)22[?0<2FFpRu-_iKAiN]s07PWL2&l'B#Q,(Q9pQYd3`-Nv6:q?']60j&4,^nr6"
")/2s70#nE3]TiN(wjh=%NogEU4>E5A^pA84gM+<6sH)H*oMQR&*X/=7$HlX$<4n0#mxgo.txt8@.UC7#fj9'#@Q&=/[AR1(XSr/%3L?A4;tK[>]8e-)lj:,)*-ON9&b&6S[+cZ,`*oT&"
"&]OQ'Z?]m,*i(W-1uY40]P#r[]$`$%x]7-%;E_j$mU<8plAV;px9*H3#ZjkLHj8B3pSM0A;<PFp7S]o@[s>x6eNW<*AR^)*tB:a#-Jns.'M<E6efJ/31Usq.[[<]-E[Y)4sTh$RsmS[#"
"Oh?C+as0B#o=$)6,JjD#.k2H*i?<:.V;%i1#AFMEU47V8iV)S&%pQEnYaPEnK<YD#&I17#aU[Z7e*#6#>9Y/(r[#:TS3Wd$tJ_cD(eaD<W_;^FV5vV%B'Xt$IZWP]ZYP#G5LsIpO>1^c"
"`I[#Ad^CL.sW)22?F'6/Y7o]4]H7g)E]&QAB[002w9dY,eR[w-8[^S0;6Ze+Mvpk9@njkL5E3)#GBbA#J4,b#[)+&#0pm(#Iwqg4KI^41TO:A#Vqa]+.`EpF41`$#E/5##km,:]<E#>Y"
"H<YN'^kvHQ=T`#5@D@94==kE0x&<xL[,BKM%7nZ#v9Y^&Sjnm8;)1w#pH3:.KPPn&YlZG2,hY'$vA2?)3TZk]?O,F%ebd#M7`)@Gdj>n063s-$WjeKcX:a5MZ)6/(pRsGh5%35piR(EN"
"f,RL2F+'u$C]R_#7ve@HV=k^,Tg'u$Pn@8%9a-T%xU^:/;EZ]4nGUv-iL0+*%CI>#(8,U0Z$xT.+ct.)hfhV.O=m?,WZTCkpqgf)1^AJ3R/ki,aoVP0+Ux@#NKHj)CXm$,Nah-2Dgk^,"
"7d#s.9nq3(8u<W%nOuv,)J/p&^>nC'1>xH)+`_<-XIVS%fBou,L3MP8V=+)*l1r4J/xbo&q$.?#a6.@%5g:v#LN#6#`0[>#NNaEE)EV,#qd@>#[Qk&#m5gv-8PvT@p8D>5gq)U.u;5N0"
"Bh86&(`h>#:>ko[t$hI)tvUG)1?Cv@Q<'3AP4_t@U1=/(jpj#AEJg.A,*kM(Ajk2(Fg%3<$m0B#2j1T/,x5?5vcMD3OT_)3Bhp:/#F/[#;oKP8&NQJ:;9Is]$E(:%/i6`ImI,12xH9T%"
"ijad*EdLs$lR,e)2%9&v@-Fxui?,F#tie@#<txXu?(>uuUS?(#js`W#k`I%#xxRU.C2G>#'qbZ-LXX:)wT_-6g91:)n[X:)au>>#2>j-6>C>lNVcbjL-OaMMPQHlNUc'KMn?[tLbbm1O"
"j1RA-2kF?-QBjE-X>6L-WxRU.C2YY#tF;=-9rXU%:05##r2/X#/_l##xJ6(#L]rY&%%.A,DO;?#j5Z]4'=Xv>[SMW%AC2?#:=wo%D=vY#,Z#S/;.O?#Qrh;.SV@e2^j%d<AVA,3eP@h("
"'npA#D@l2(iR9^+mic69n4@RSuX]nJGqK*#l@9d2s<Y@5h<6/(Zq_qf0&J4(Q'*C&/`1>3Pp_j*O^+<-,.p#.xnXI)PqmDEX-tj1kvA8%lHuD#Mf/T%-oqc)jKb$6mF7`,$'?i;*][@-"
"Hnr)+f7E:8o*PZ.sk*C$lfik'`XVvu:U)$@i4'g2j(V7B#C631$Db4'cnI],obFW%TA+j53bBX-'uhW-9`$##gX8&v*A4e#_AO&#3iwZ7BIM<-HUi-*x#vR0n-LK2Q>uM(5rra/NSp)O"
"sbt&>FU*T%f@Z+#94r&2L]V#A6^)22g&nO(@%:hL?lL%MlNdRceZot-moJF*RtC.3''sR'I2Cx&?7RP/Xc7C#vBo8%/0]'/>IL,3@#Mp%is%L<+NDG+GN0Q2`M]C7`u*m=bVfC7[7:V%"
"lsfTKb(.W$ruk>#KJ1G'.[au7&SsX.Ue/6MJ>9[B&l86MfNtI'$]:`5lhW9%Hec##UB')3Z/V>5rI?*(kPc##a6>YulWwL_HrH%b5j.0:VqN%b?/J0:5D.n&urWJ%#_#^,0DdBc,<w=P"
"J.HP/T=:DECNrF7.H<F7/NEF77)9G77ZwE7H=##L>7KSMx=6R_#2=F72KwE7hh9F%gtfw'&mKR*%D^9Vo>EhL`3*2MT5U0M%7EM-62XiBLmW>-.RD%>[<pE[E2H8A3_vc<lNE,3/MD8A"
"`aJR*Q?AR*@2H8A,Ovc<RaA,3+@>lF`OMkF+b35/Kom&-G+,G-1v+G-rG8F-HY#<-AVxRMZ@]7MNr+G-%3&F-a>^;-iI,G-a(,G-[GC`.g,>>#C+,G-xu+G-cG8F-9Y#<-2VxRMZ@]7M"
"Nr+G-l2&F-Q>^;-YI,G-hl+G-xa/%)6A2?7]wTa#%FE<-ZL+sNWw=a,hsUwK#v9bN:fdhMR_D:8957gW_sQL2#)P:vTm2F7+b35/ZQv22LAJJPatweMw&=+N2kW78bwZJ;A+@K<?3:SM"
"5Y[O_%q8?7e+Xd&7F7t7k)4m'h[AW7?-J0:Iut%(2]h;-?;9WMQ*IY%+P;_SajpY6Bv;v-JUr;-mg,5M.6QD-)@Hm'Vti,3mXYM9#dA,<=R-#Hku>KMPwXH(b?VF7giccNR)p(8rwwlB"
"w[g>[G%Nv7V.8G7RaK>-VC/W82x7G7S%_&?k[#b'wo(6CM<uw$,?3F7-h35/AjlSaeu)?[eLwA-&9jn'j%v<-&v$20G6>Yu/DZO_TD[#%lrM2i]i,98RjP8/uQJ=-*^7?(F:k.?u*dGM"
"U0_Q&9F:=%'4&32mD?e%4)d8.;Wd`*s-&[PcSDU8uRMS]L@H/2<%/d*mg&<-t-+d8@.9.?@+7R8RO1?%r0/;8jgUA5uAp<->@O%*,`d8.^iBB#RCmaNS.4,%TA5Q8L-ew'Cr_m8>x^d4"
"oVG&#o9,b#82QD-[h*,'w0r`=`kW>6B=r;-0%N>M.6QD-uFsM-F29<&Qb6dVNF)20.$$d)Pokr-X,3VZ>sZu1xY:C#Ko1DNf'Lw.ISqA#-5&,;fI@M-6mgA#&8;GDZwJ/+5S$A#:owo%"
"8WJ6(oj:'Xg,CZ'gS,>Y(xWE&/h@?#AE^Y,-4u''f%kr36L9j'qmx[#v:OV3<?^Y,pr?=.@$=v0>ttX(^(-aN%tu+#`k8B3kodp(WE&7po(8/(EaJ,cvlq3AjDRKFVwwb%Cmp/)$l2Q/"
"E9Ts->_IG;HX[GrtwC.3,Dn$$iE/[#@]WF3x1f]4S7p7-R1`<-`C?GG1bWr7[Er-<7Wg88:@>4:.5W+3MsGX73Y?e4'k;3(8?6b#?P9E<<3Y/E'pFBQ:qa]5X^Z/Er:#Q'l>r>.mt#B5"
"&?nq9NAUU1YxYY#+;###avw1^@<cf(A9*TK$e1;?l7%H%^@-?#Zsx.CPaFvGMdg%OQ*<H$?2g>#btM`tH0,n&uqs=(<l5eDkb`w#o?5/(01CH2`'s#Gkk8HVR)RH)3Z65/CA0hCg[r<$"
"R8K>#UDMk'N[jp',5?0'Yl)2KgLEKUU$Ax&vAX?#Dj<r0[Q;p7O$-87xUR/AF8tBG.'dC#<8O4(1V(9((EAF%vEUh(W)^t@HCMX-g(EI$qSRL2OL8x6Yb%`,LBTM'%J3j1:TAs7+ZSZ?"
"i#hv7qqV=*N%YiKFLVX^`&vI=33ssE7G>0rla$=#xhBB#c[-SR]=ujt52ho.I)NiK8RNT%^RVs$n*hDN,8>##x,gFp;7lc-t0JI$V7JC#4t@X-8<W`#GVmL^9V]5u&M[Su%OX&#7'(,)"
"Uv?fq7HCI*@Uf6#1xgj]>J:4)HAYDM0qugL]au;/:;<Q/[vl7&^[v%+,7E@#tZ#O'^3jD%9-wEN=A###+q1?%^.U##]WO=7@NbH3lX7B3NjFHpDL&cM`;vghE0/(#PY<n0>#3H;xLHx6"
"7Oo$$aH7g)gCZ>#j>vV1_D]r-(>w&-;a=l(HKT+V0F3>7N.V.XYu'0<e#Qw?vD5;7*WbH=%*P:vWk$##ui->cI2'2^Gbh=3Y/PY#sT>+#DSuN^(G:;$W-cfL@:QJ(/BO#3MKe<CMBQrd"
"R;#)<qnfx=ftB^#[ADl*,h4t-iw9hLY,aaM^bWvuZtf&$@xL$#QcHZIst)[#m=SfLv':7'c1CG)<:D?#@hws$<U<5&iFLG):Cws$AF[s$d18jKPT^U%<r1?#0JY##J0gi'+voD#7`Y##"
"xw,@5a7AC#&/sZck_),+Tn-4(rq)f$OYGs-OH$]M@8tbN?lvb%1=_3(rhdI$MOl,27S]o@9D2#$.VE%$GkRP/@g%x(9i42(#Dg;>ZD8Z?/#%V/%Du61Ye%ul.1>+,C_^m/D;SY,AEtf1"
"9QTP&@L,872]bs&lxADXNq=>[YN(v#2G#i7sm=1:7iLE3ld]=[:AQO000gY0[^Wa06MvW.&W4&>ul_,Dgu%e0:0pB#)o,;HdG2_#L#jIqhA%3'5'jv%%FWRJXqj2*f1?1:(O`-*E&w)*"
"k87)*_O`u3eOi`3u`?s&S:.p.t$-4(n*4X[8_k,2<vA]dIbx=[=<#,2);v23A>6N3AZNP(d#Ps-<mc,>L$.m0S%hCG#[*@5L>[BG:jS]6<BRL2OG>c4bk-1ax2Hi;IC)H*Z9+f*nBpa*"
":DYs6a.)p+Ng111[U=n0OGe=-M5@I2_Yil0M9K7/Jdo;QGkFrLa,+JM70@O.m+3T/MC#q&qxiO']Eu70][^5'q./5'<FXx':xx+MTV<X%L),##t0#F#B^l##nn*[7HioQ*ex[h(])<&+"
"*/=LYZ>@l'=Lr?#Y-$B.&pGx#M7f1$0PY>#(_G+#&fW#A@YFv@]i-iCt&_3(0241)P]u_5)3%.Mie4I)x=iB#5:rkLnUx[BKc8Q&-HtIN7Ge]4FG[`<*S.xk7h?(#MOMM0GrhS%G0PA4"
"FoK`E[sJe$5^'3#$),##j7%@#`43)#55W_7$+['O8elZ(x['5SY6/a%I7boR.RIZ#s%mj#[C>_+?x?s$G4eS%OwWt$0/###V)@H)jSR-)?#T6&;'78[`?x+2Vt@Z3B6,Cu4,WJ(&d<I3"
"v24l(W>O22leW#A/1mZg`u-b4;'[)4D>`:%g#4jLq:e;%YqEn/51sU#2+CN2@^GW-T&Yb%WmTR<$D@N<xIF&#mtV)4RAE-Z-Y*kbW=_l8v1i+V4C:^#js0kbXUtY-BbC'#C0Oxuw$`Z#"
"Qvvk%Xq*AFNd[V)E6(Z)>AX=&i?M)+29o>#Wr1>QX,6#$(5C>#;rZS%5qP3+/ht6+5T@W&Bl;Y$`e35&Vb3e-)x0&=AsY[-RicV-/(DteVKG*+BY<.3hsU)1btY[$6Mw/+IMdt(3bvqe"
"&T11)e2H`,N-Jw#+e.p.SZWjL$pPA#BI_Y,R[r`5)M?A6niD(&4_pn)Okq/)Olv8/$KV</A408@hJpf=wZsC?NVN(&<;uc4k:Bc3Rc?p8cn^IEvfte<7$cJ(T=-5/mT%##tw:J:4^0F%"
"uoIfLH+YS7,>`,DMXI%#[eua7+=A@#2_ub%?;5?#H-92'Vl^>#+qckK+et+/>1e%/P.-j'g_t/2^b&6&lZvZYnpu2vOd0p&ue:(OI7[L:0P6h:b<NK:ep'TIgw,aNYoB>#]K-87SEv2A"
"m]EQ7q]q6pV80*sT=`#Ae:4C32hN0AEkwH4(qw2&sh>JCQ2>d3J.^;I9&RC#ItlU&'t[a+*4/Pdf6;JL+-3X%jXap%/)?p%xT_-<LLf]4@x$%t%L,''IM=,M>'/s$R;9-vFRN`<FAiiK"
"@oj#-Qu-E,=vug)I_.0:jXo+M+St5(.fF#-4F2j1ejZ%-99'$GA^ZD*ca$A#fV*&+2C`cNv?wps/v.E#a_YGu8*JV+Ypi^c2^I4pK,PO/aItB#%T0^Rvk7C#]<<P(oYRD*:fLda'xM^%"
"PxUXQ<Q($+aMV<-vrD'NI>Nq-etmw'I>uu#@+)q%I7SP#j(]:.#S-W$=HUYZs+H-3ortY#XI=)*7/P_/^P###TSt1^=?CG)tY^C-E:Mt-9iK%MJN#@l.xtxuU(ww'md5`MI3S>-IPU[-"
"jDmw'TEe--Fntw';41:#VKBD3xrdfrJD&F7+&jEM5dDE-[DoY-N?lw'l5f--u0L_A3PJFM0Y@$vD,iaMmmA%uHo[A,.GXN:&Y8)*bZ=SIMh%-3rSvLp8X_E[l1sw'p,4P]TPo--Vv.VM"
"J2oiL-umLMf19VMBW%iL5W54M:-kxFT'2p/#u3v6HgIAGQb5s._Kx`4Bbh]G9s`S]axx--9)dR<8;WwKK&rw'msRo[-QU-QL)rw'>cAfL,]3,)hn:p$;SM]=s8P)Ot[`P&Aa/dM#HPxu"
"jpc1M@rDi-fFA:)wT_-6g91:)Z@,DNFW%iL=W54Mn<fVNVcbjL-OaMMPQHlNjc'KMs)N?>;%DR<&e_-62lQ_/gjx_/q4fP915K>HWOb#-DxOP8PAbYHLm<)#hiYj#?6J9$.5>##1*F?#"
"QlpY#0P(v#gY?sAJXU6pu/41)s>onp29pS%f`QfLa(nC#&up19L)wOfj/U`38LuuuVw@V%p[6<Q#1.Z#`%=I)d#/c7WP'##=xdS%[;x9A<8fX+To.T%pK(^er2tH*@Gke)k@C8.sa)*4"
"vu.&4;84,)>Va4'diS'+tCs[$*&I21PilY#1j]B+:),##rs@-#['D$#CKJW7A^x>#I906&R>0#(#L,B$xYAqDn.lUeJ-=F+`3v>3[SWL223m8/5PVMW]HBOT^uZX-7>Ap&Q=MZ#8T9W0"
"aZRg)q.ag(U8=fMa*ri#Ub`8$.5>##AuP9[^`*PfhG<ZQ0lh;$lLhhh?K)s@C`Z5/i^T&$)>'iIQ6vwHMt,s6FtNP&RbQ:vKgk7IXYvw'8Anw'>w+,2hnk(NJ)P2(04:#v.O$K#*;S>-"
"TpK8/iI=2$'QFgL2^c&#IJwA-E4S>-(:S>-?d:@-6E:@--aDE-&<S>-m.m<-s>:@-r.m<-BP,hL41ro.7x%pAPFX^,G&+]t>53_AEEir6`T]d3;Uf`3Aacw'9jMfL_B6uuKP<fq8D`w'"
"U2PkF.4L#$i0m<-*v8Z.utZK#bOwA-4V1T0k####bu6o#9R^sL4,P?M_rJfL$ul7e-w.5/*,/b-]vJe$o9ow0-uAMh';_-6VogVI90xU.>&GY#7jEB-9>dZ%'05##vMft#H]l##gpB'#"
"RJKPD>0wiL>E:GDnqXY%+H'^%5o1?#rltE+&.*20/b%1(]?7+<JCX=(']vC'DftgC;T5'=YFUC0RRHdN0sJCO8Ah2#5A,&7>XLV?*Auu#@+eS%aN-87DcW#Ap<]@3A(=3puP5mL(_8B3"
"k80*sU%vC3fPX4(5ZkV.R2Zm2e:nnth^oJNunKb*GoGV%dbTw@s^jE3Tab8($oE9/dh^1p`.im9g3Y5CUQhq%e-uj;)#*Eu'(#NBtV>03hqM$#5+rvu--um#VAO&#B]&*#dlp5DlPwL("
"PBEP(BK:K(;;J8D9?&GN?jw_Xwo72+U:>(+i^3&+Mdr*-at<.-fDYA#X$]S%a/Qs8b1*s-B%Bj'IL.`$:mhV$eg5t$df,%,4.?.3J<P?.xcT##OV1p$)[)22X#F?u>vkC#NwhJkA[7B3"
"#8]LAh,16phpj#ASLO;pfiQb%NJ<j1d5ct$$`^F*bM/X^$)jc)SNhc)C]<+3tB:a#h=S_#PL:`1.8@m0[V;p)u8OL)#;[c;rbdoB>tqiD^aEM2D=AjuJmc3':<)%c@ltGMx;KN2%]`U8"
":]o5'IfL;$1HYY>4r<K(Uf]#,vgFa,W+rQ9?x6R(4onND$B@0s1:WP&e(rv-ssOH;=>h?-:MNo&&/5##vm=u#tn=6#XKb&#meJN:v73uH?^+?#A(@8%V`Pv.a=nxGUV6B#60<8&U=Lq7"
"6&%w'^0-87aWO=73<hk$if?B3:kq3A;T%3AW:ce)=?Y20GO=j1)*AX-V;V'o-EQJ()vWm^15il<ZxbVM9mv:Z]0iH4;6vI<_Y_Nk*iKMBuF.c=mcwRMuNbo=9P9w,5-aE4?e>.q1*M&#"
"#Pld<4TVA+=6CG)=s$rAFa/l++:9U)%Bwo%?$J0:`hcE[SY8mKm^;K)vD%l)m%%RS1KsT'B.^M'`.X8S6ts>-ubx4SqnCJ:1Z+Z#bN-87SDx>8jn45p.Dsae*x1*sfdKv*$xFt-Gi058"
"0S(B#nHrJ8u%:^#]NMve@erB<uP4^dK]@Q-jfUm6@L7%#JM&`765@A#d:sd%0g4?#@1YY%*AnS%=GMk+wRCU7kQdj(RV@1*lMHi4bFY9'@xA2']r*WR9-BZ-pC8SR(E(;?tNc'$.:mTi"
"pgpD+w;).0,B>B3ejq3A3u2Z)WntD#fH45,Yj?a=I]x('[mra*mi$G]i5JR;fnm>u0/>jBvfcK3iqM$#sO-?53m=u#)C(7#XKb&#:p4[?EQXrHm5#v,Z#<a*jpAr.]D2,)7eLG-9u'+*"
"BCKW$oD&pAMSIN'X2i]nrhH=7VT2@58fB4pE`MBkvuP^H9<Sm20n6l1t=iB#&&=H=@4pr67<.g)-<Tv-ZKV-M7OND#XS;J<LRQK)l'I9.6=7e42Qc_)G&su5>ncNCb&wA>8VG'5QP5Yu"
"h7G>#0xwC#j4MulkPw5&B4TBf,<FWonKi)+I$9)3fpno.Xa[?)5ORc;f^a._$G2E,9X7G;ARM$#eL_v%7,wCY7,NS&)gcp%JG56/=#jIq<*mN'M/Sc*M8Hp/_906&YP.oJNX`=-@K,hL"
"Ck1/^DF/+,4R,@.4dRc;l2:2qW=(hLI;oW&OLFk46::-MlAxjL(v%n7$YN#.;xo,M/Wba*2NE=&m`<=aINL*#AwmH3=l$-16IWEOh56/(t)M_c2Pv-1lYBg2hAr$>?Z,5jJ7i*%vBo8%"
"KHbV$#A7)3j4$W:F9CY.[[+x>2K-)6FJ9A?b^,2*GIuD4VC)[IZD/8@9SVm2O*4X$nWco/OTG#7l;qa+;f[/(v]ot@U->>#OY*fq[=/g(6I.]k?kKaXjY:0_2WDsSL.Y?IVbHg#76f?#"
"vEr%,6p_h1Zk=/20Nl72To+T%Z(G>/bSCB#xH75/J1'mS1dn`$]YWr3_;l(NLo;*,l,a-,l'DW-+pr`-'vuV-*6KF*pPD8(-R0B'b_d?#^-Y>'I>rE@R8LO&xRTn1D$#r11^Kj0=7$s0"
":C0j0tMcw?DE$%$3F=SIj_$v#S0-87SLO;pb@s;7o;6N3,]`s@(xt6pPcat(Xw:H#Q@C`Hp<-4(-7q23?TE.3Ix^t@7S]o@dYPa$UD.&4vcMD3B76u6J]B.*qV6C##F/[#tCx`*XBOW-"
"rlA=d%d'80n[h97LAST&_&HV%%Bhq%+D[21U/t@?fb1:*k_aT%<[AW$2bH)*9TY=$m-*6/hXp%($h.##MNft#v@L/#Ns2_7Xo2Q9=NGW.e*m,*oc=Z,s>f0#Eah-2cIiw#wwoX%^N6A#"
"DnB70@UYs/h:?J:bhp`NqLZ7(/r82'$e2(=t@9a3);v23g*aF+TS6/((gGH('s+dc0PEm$Vw:H#YrOv$i*bY$O+b(d.>.3'I.4.%51c2(^,Ucf&+hb*$eDT%Q+ui($qxT.`fj&+ukXM("
"2R4m#CxfMB$dG03M?b)<=@@W$3raE66(q90Aw0=%s#X;$M#Ke*_LOU%='t[t.a9G`iEEM0LCm;AMr#>YIDFe#+fhfD3h=#$e-xo%.csuH]A%;QVTE1#V-]rHD9=&#OW(A1mQ-@1O)`g("
"4I-k(0gwS%o<'R&D4Wj06XEu-&J`Z'Lih@#hSFH*.1PoJ5?1['NU+Cu$]kC#412ZkTqf#AA#c;-L4Y[$(rUkL9jSc$l%Lq'@kgkN2JD=.xbK+*/:p<5BNOV0e)0H#x;O;$4.Iw9P3h-5"
"hx/oN?;Lh2IZ>n&R$F&@2ol<%lE8g'PP]Xd(S-C#fSO>#&/5##Mm=u#`)J3%-k/Z798MwG7AcY#VSB'-eHV/#>YWP&%9=qIoMe`*iIrS%K=7K#<U<8pan8B3eNo8.;T%3A)2tA4H$vM("
"$3Tv-F.@x6Af%&4Cu[]490o68=aOg1T?bY)vDkh)&/(e<C)JVB%g2k'WiRI<x$ZD4xbM0=,&Ls$]TrLFU7@f*A>P)MlY5F#BIYD4tCI%-/####XYd$vp:u:$4xL$#JS/`7IpF?#GKI--"
"F9%[YqUH_%/d4?#o+(S+Lvu2v6T6U&MBrB+gqeS%>iY,N%*`*7as77NUs>^#n7$V'.;De0kRis)X2i@.7x+4MWD4N35QJ=7T.;8U-59t@;^J,cK#NAu^_ge*g7`<-[H$T-56r.&R%B(4"
"WR+4'iP3T#2^i4)VI2S(ZTR3<Bl`C=&m3>d>m;kk]D7b#MR7%#9Vs)#DARr)<Yw&4oIFj+$HF?#4=Nv#YjEnKD'bX$rvNv#9l./1D3bx#YJ<V3/#p0#J8Di1n>*a,X]#)OR@je+J&'s7"
"44:p7F/:J)ikj&-Y+'j(D[/,234Wc8i12X-n0fS%#1QpTfIas-sTTsR^p]e$[K4sHd:/]$;q]2'S$v</vO@5/%[abN3#&S:pc`s@v@(,+2Mq0#`KNP(xqg`*;6g#Ao[vc(I?%12SQh3K"
"=HpGNvM+D(U_t?08[C3puJV#AhTZv>w$as@ALOG)X0iOB8N3j15mJc$:29f3d^(4)se,Z,2'BCko)Ld2m&l]#&s:l0&;S215NdZ.gC7[-@N4h:*&Q++=D659%m:VA9Kqc5t6w)(WUYD4"
",OmRANEXs6cpFA#BhJ?7X;*+3k4R@-G_ap%8=0H)1L2%,6-t6/hDpZ?^i2q8buXH)@eYH3-[@#6f=tf2n].21;fJfLe@<D#H=$##mH%2^o1FS7V&dvG;XET%C_8m&5L3t$I'O9%$O-pI"
"3l:?#Gs^p7Z$-87s7&*)4.FH(=cHs-xHIhM-S'nfPSEI3WjbL#@vXq.bms[kUoG+`f6J7q?#XFuq/5##O<Jt#s$%8#l#_B#q0rr-pAx2)F4NI+5hRc;(rbgLt=*S&?g'1_ZK;B(d3NVn"
";sEn/?lB%t3aRc;9.r5/L^`$#Nb@0@lNV8&m_sV7m#uZ-g0`'8-%L-Mo6SS%)I5+#ov/I$ihap%;4[rH+$=?#9;/R3oAW-MRtW30-xt?Y6O]j003W'8P5*XL%8n3q-YV$#w=5j+eO[c;"
"akr$#*.i0,$,TiLTs[.M`gx1($)m0,:Z:BYdvx>0P3DpJ<s*;04bRc;7Bkv#q`.CSroVcs(V*71*CB*#AF>n0XiIp0gm2'%C?g8.#E%O(<WX2(v$d<-3$+7/J0/(#TU5GM*;^;-iO'%%"
"bWP&=F$[)EOM>c4o&l]#tB:a#2HMs%k5B)49Aba*s08r8w&L0>BX$GG+EUj#xvtL1g-C1;t7Z>#HC9'&>?'a<QZg6&6q]q;<,6T1J9Ta*QuEF=<^B<7GP?>#HD*fqa$bxb>t*Ylg:?N'"
"'3&lLX@9E'n0Z/MWe'S-HcYs-[6]nLJB%0^=_7G;c6NVn<ai=-.<Nq-#.m3+K<%iLu,#T%`C)+5YOCn'$=2g,/5S2+2_Rc;2@ugLchj#.Y=lgLf8Uq%qv%d<)M>s-a&M0M.5<k'wi`02"
"q=d`4[.CG)X:2=-VO_[-TDHb%]7bO'RE6=/Q;NmJpr#-.&(>gL@@VhLxCBE'#oHL::xO5pH^nH3I,Ii$H$R@Y^Vnm0[4#7pSB]%MidQL2qH)^%aq-29_*k2Ee<1u?>Fu`4Wqw/:?f#QS"
"q?`[,c9I>#2SCh;2q8H>#1bt.)'tm/Xf1<7m/C*+2?&#6s.qA?<jfJ37l#g)@ZEj;:<h^-T0wW&6lvp8/'V0(<1Fg(1>E+3d/G?63Wr,)r@&79$RTm&A8T:'qqw<.w[)$#_3d7veg+u#"
"EZI%#jriY$GkR8%+d,c*'mC?'W@Vs$X%'b*8sj9';Yq/#<U<8pXp_mL4:]C#xFHGpVL@9cdQSX-48^V-r.Tr0x2Hi;U/_^>0u)`a$(N:moPEV&q5t1^B&Obu9$8Ks't=d5>hYlfn8q%4"
"IKe8Ka8^xXqK]&&:-6V)=>,G.6n:mKnsHA.0TAa+cdEA+18v?#ZcJo4@YEi4e+3,DOMEN1@[n`INUiw&@LV?#m+9S43Z;H.ja+B#6Y-29&w#++F$ipJ?6doJg-/@#IwrmL&qGU(9G1@#"
"[FG%?Ip;+3*dog#.,l3+A>Cv@Tk]#AO]V#A$XL?p&w)(;?pYgF6Z&c$[jq3Aflt23g.a5M/<*i2dHT#AaeED3VJk0&'4Wa%WM&f2:+;w&KmvZ.k>552ouk>9%gP-Xb-Gj1Ys*`>.Lrx5"
"q>>$6-ecbu-n.HBPpxg:a-Es%)jgW$sj3vuGLNh#Uf0'#r4]k7N'6A#M>9c*O9.).oE6-3r=/h(w-Y6'<hY6'k.NT/k7]p&2Bwo%pHeT.gDCm&YCx<(UIjN0&kfN0gg9:%IXr;$kGM)3"
"CsE#HFvVhLv-,^$,rGv,tS;'4UXwW.P0kU.eHTb.-0(H<s/HZ$V.v@,v6F5&g]+?,l?es&Sw,87.[a;A3w(*)(^CT(bqfc2a97D(<S%@5.&R%bcQYHNE/ITp/xG7c7`7a*AX.:.ID[o@"
"1;bM%[4.o'xY)F3j6bd(OXs&3+Na#/,(KFae4h#$c81#$rskG;Ze(ZY)u[s$@]WF3J29f3']6X-ammv.cS&+6a#CoBaTt>7)c:[,v'@t-;<8'5xiN**c01W/:3AA,.&Bk5WD85=]@JGH"
"Tx;(QnUsi)s<,R0SLxq/^wpg2PFO31<S)Y7P2?S/PWX>-uNN`<M-'d2WX)20(JGpK+#aV$+]^`NM<u/(*ZnmKnG-v$+ol%1LXSm021Et0M_6%1T39Z5CBe-1R4wB#_w$lL]7PCHii7[$"
"E`Ol]Pe=_#K(:$1&ZuB#FL6qAUuan0a`qB#K*@-1wKxB#/WRp0k/Dw0vQN&1e]qB#UarlK7M)[-[XV$#6?#c.,--0^;[7G;hR/W7neOgLmAdC-1Um'$%FTW7C_Rc;?U#hLp=_U'CbRc;"
":63I-avn@%@/i>7=_26pn77F%<ltH3:Gh;-&?58.,*E]APrgCG.*3AAv+kKp6KW6p8]x4AEoj#AG+SsA8f*F3MUO,2<MjD#ULD8.dN1K(J<<P(Xj:T%+Y/W52%eu@K>Mx7KvAO(KC&u."
"9_lp@Cj$D,I#KO(N',R:D+4]ufF`x7]ob)>LFjq8r'oW$AmXO^iLSj0$),##m3/X#Ko=6#M2PX7lc&b*BLET%]mfuGHs>U%e<km&9_.0:bBdo7t'wG35c2kbNn)>32DQ/)u4ap.*)TF4"
"+ri?#oNv)4:mAL2(srg(AV9pA,i=muOvZu%3G2Q&/rd9D@/>nEe(c9D8Na9D#MMv#TuP?#NN5n&Q?j)%CFRs$r0^a#A'bj(C9I12=;8F-;4ip.E9iteoib9D:e1U@dH#<.[#;9C(1hB#"
".]'^uZT*c`F8rE@g.4,#Yj&i#aSk&#?4;$Jj$mg)#+M>#X/1Z-u(kM(r+Fe)42<)#U>r,)TMSg)I#c(j(Vfq)08U@#SwCY6v9DG)WRxB-*GdA#NAL?-;+x.2HSW.VbQKY$K@j63@6n;-"
";T7[%pNEm/:=es$Nv$W$Z8:m7rnRc;(u4/(`93Z#kcQn&[h#$YNEox,P:9A#9@,;Hp1Tf)rfjV&HbM?#0GsfL$-K1(%=#j'Tmh0(5Bes&Wl&*#dK4mL;N2s@ZbO;pP1%K3obW#ArdkC#"
"R(@B34Hg.ACeI4(MM]s0RocW-rVo0,-/_HN>iYfL@gfu0qcX,kWg_=%L%QOgnZARh/*`$%:]G>#,`3wAx4cf,S-8W00R2(4(<T],Aax^5?^Xq.%+_J)'D.;HjA3nD8Wp)?><K._OgU7e"
"^D)t8MpX#-D:k0(C[alC9/VP-Wc%T%YxvS%rJ@lf&x5O.dX?\?##`GM9t6UV&hgE?#Y,CSIDhw[#89u2v;Emb*Djj8.0giS]e9]nL.2&n7U=S@#h'niLtU5;-O0]Y-rO*=(4HE/#l'MS."
"9?F;.#Qc&#eE,i$r>'_,a8I1('411LhNdZYHLwE5Urm]#34i8.#e3fMSF9C4PHU,)U[eS%F<(`=[Du:AT&(7p5R-@5Em)E#BBD]+@5Vea.00dcY1`s-06E0MVW(o0K^'>GWIX#A^[/I$"
"sXw;8.EF:.,W6[$Vm+W-dkrk^?T-f;7^`d*/H+l(xrrk^O#wf;=Fsp.E8/]5g'tk^-xmS'0'qc)A<(,)a4BW&`8G>#I_.0:f:`0_>-4H+Il;1)9TJjK3IPYY#r'dM@:;$#JZtXAkRDU8"
"Mhe&cK9bF+dQ;oc)k3p0r27C#e.Y)4Z<<P(NIHg)oYRD*aHU0<2S3^@BqdA%08oE##o:rZxJ,],AP>##$),##/;^;-x%$c%l,+&+^gA.-QeHiC/Ja=(fja?#CZTlS9tnZ#Msd`*vU3a&"
".H/a+2]Pv,g?r`+9u>$,8@d?,v[FQ',LNq.`wap%B=.w#*AP##NXWP&^[Q##d*4Q&Nh/Q&0^?['D)Pq.8u>_+]qMa+E^Ja+$PA5'1'`lK*xC@,,@hf)t3GG2Yix^+pxA+*8o2B#QL'x$"
"xu(t.Glr0*j#ID,6+Uf)m=ZV$R,A%%hFp*#j+$K39*9B3@q3L#%Hl>7mQ1SG5ZTN(1@Z@5=J.f*MdK9.-U[1(mpKT.k)-#c;Gmt$:qk/cQuHp.8R'$c$dn0#@5]s9&%Tvf+V`5Mc8UM'"
"9<Nv66IF<%[=8C#-e.dD9vUv>I/5J*c`[D*whH>#GFJU/dRVW':etA-vwC1C1rSP'OXwW$;k^P:FYI:I8KDo0F1Qr7#&N%H`l-_5N+@+73@T#.eR)Z#]dIv5<?i80F*YKQJ&b:#_6n8@"
"%-M(v>qQg#^@$(#h,MaYdli:2mvelJ(:&E%'v$D0>CPB#YUfuKe/Vo&$@7Y2>,Yr7r&mN1IQ#w-$&c'.`to[>Z+V[#e7VS%GF2Z#w-K*#Q>6N3(1>.3wHFm/7h(E#JhQ#k(KG8.jbXL2"
"*G=s.a5Ps-p()I;xQ<j1F$p@'N%eS':]d8/I@)q.MlZ59u<n3BW9(S0O&g&,nnb,M-,i50?Q8a++xo8Jo7qR1`J24'94'F6=EwCER=[++O?t9%?h7HNc*N;$9`fiB>XOK('kYq9#+^fL"
"fl%BFijRc7;+&A#CMc##7v'J)A4oxGOb+J.stUw,qeO0L^N)%YFBWp'G#pC%2j+?#;TZk,Q,v2vVuV3(;/loA(F4#$8o@8%oGT883vFr7LX5I)x3M0(7Wn<&Y'&[#*LT*#9/i>7=doH3"
"Z&4mL=4S@[>lkUeex1*sHsiaGZmQL2I-xP/8%Et-HKnc*_>W<-?/C.X$`542nlWj*6Afm8`P-_#/02LP9/R>#8ZD9rJ_l'vcN]t#MXI%#8cfC=)'jA-9X7G;oE4U%T:eS%Y$Hf)'Ehr*"
"-5q,;LA(@#&5eC=)M8o8$=c5pZ9bi0W2ab*D7Vb*xY,<-dC%]I(m(B#$*sg*H;IT%29MY5=eYlfSx.,)eqho.CZc6#pg-n7Znr$#K<Vg(B'U1(>Aun(/cFTu3RGgL.1#,M5q]1_7Dt#)"
"_(khLQRId+D(tY-oQ(Z-I*6/<YS03(>+3.+Frm--%`V$#ok_v%DwO8&THKc/lk>;-,--0^H2e>-8R*nLH6`j]W?x3MX<^#.s<'E+e-Na*ktc)3;rZS%j1ZZ-f';5+L_3&+Xr3=?a75F%"
"qJWhL/f^nJ]V-=.HC]V%*tpA,)WW-?e8&F7>(B*#Ql$-1PBem0P4_t@iojOBO^wm0sgYBG^lbs0SQM_&/TP9.UH:a#cDW;?M9s[$x1f]4w/2,)t4:W-oj*,4;TPLhV7nC#*R'c5.9Vu5"
"moV9ClG8Yc+gMJ<mS?I(8Qu0.exa(GPF[QK`^)&7F5YY#OY*fqq,sV-l;q%4J16Z@NY:$-SX3LDbxR9&&BX;1f?ID*qd)`X#%VD+u_To4nsv+DJa''#i(m`Il`Q^#`3]S%Z5+J38,Al'"
"@Y*p%j7/nJuL4B0Ue`K*1Z4Z#4f_V$k#joST^XP9XsO;pg(EI$('OXe4s6OA<%On/Nkq3AB2$u@ss,50]KNP(wE)i2ue/'-hc8f3C0Tv-H9LG)hiw:&C.@x6/40k$7U^:/RLcI)u?FD>"
"s,q(6CV>W-li-F%go<70xmD*4'2os8cVU+4tskd4/j8P'/g@H#mD41h_O_B#1W]].vFm_?i]g3.w'_,-dLj=.TB0Q&8/5##LH]t#4;C/#p,_'#a$HQ&2G#i7dRRc;n&^gDKWWjLtMJ#,"
"f>nh(kGE_>#14^#+]Z$#LxdS%CeNn9ZY%TSL)5dNXF,U0i_X^0B6qU)H?u2v]LRN'1%.@@9.IW$;nwJ3VB'Z3Fq?8pYwEp.vP3*si_fs&T+]4Aw:wh2V)HX$]w6u6bKY$+v^#t-+rf1;"
"cpCe3?;Rv$lFZ#@KTH(-&9sm.;mh4)HtEn/nVIZ.^vD99w4I20v0aPCxK/&,2;V-m_+(U:U[`w6tIXT/g9aA?x[ooLtqJfLYw6##RKo9$?uq7#02<)#PL.lN@CBsLjOF/,tj8A#2e1(&"
"v'=uH-,S0VScaN1>OTJ1,gS8'2dCi6';85/OaQ`#Xuh9.N]XAYIaUB#_(Gg,*`_fDRWOP9&YZL:O`_[#MWOPSAog'%,@5+%K;W&+ZanqJm,65/6j]Y#R--87)sw2A@,V#A);v23k+vW-"
"i7V@G%N'N(c,EO+/?RL2c.=_$Oe_F*PCV68FiK/)]J7T%#/,Q'm?`[,&muP3l%T@>#+7S1h>A$,r['g2Y6--3qS`v7T,cI3c'/K3:*BA,glbI3;-BA,sdcxbDWgn/.iaE6aZKcVGS:.*"
"@HDtIWAJF@cCfMN0Mn20j(23:oN:mCw]ZF%hm,T%HCn.:(_#d)(g:D3ZJMm:j$RP/aZt&#.=Hr%?7tg(c19v/,vG;-G,%q/(<NlK0nVD+uR'84QuY,416eY>=*U_#Bbk6&XRE5&jai.;"
"$&97N-%krLPQ?4_*XYp0?JGn(5bFu);0[bNUa?d)XbeS%RRPq0*7ti0QXmU93bp_#J`cb$%qY+#arw2Ado_P/DcW#A<vU#Ate(gLtQ&9(Qw'38VRDs@bSD4:FSbA#tu:q7lad;%382s$"
"eAE.38ovT.v+cI3XY@W.kjqU/83GL:PA/X/V3q)*QQXu-hW2oA>v3N;vLbA#&;D#'>piO'R+qA?%U0B#4x*61pX_s-%N@aPPL_f#2P###2l6G`e-el/$Xg2;<*WH*F'f@#1*b@#qHrc#"
"]/8v9=54,DVe`M080qi'uc4?,tpWe)=Zn['xee`&v%b`<VulZ#DEhrI=@35&Tcp^+XDTh(>pA*#&[a>337;Y32[)22VbMBkpmC1ADP#o$>-xgh%vXL2Dia#Aul)+jl:?v$([XT.0@i8."
"YH6L%'g%m*-?Ps?]mxH<wTWJ:PqJ`,k&.b#5,oq$E,cu#7T3''F$/Yu%`2m&wM<.&Ll7PJLA,q*)rR<-VuHo`AOl)4P26b%,H/]Y@r^`NI8Ax.omFZ-ci-n7Ae70:NUa.;]8F*&'Q6`e"
"damH3#5[2;BgkAupd&Z3`)LpLL.B4p&d:3tDQG<+eEoW-E/CK*Zo,J_=S;ikdi9-'=`r[GRu?v$n)up.h.<6/UGRW8+xlb>N2goRDW$)*[?2GDQpMf%r*7?#+g(/:W1LW-%R)T)J.M@#"
"[pLG):.[S%-+%Q/+_:lKn;+*+8JK_+;rw##Rg(k'XXUq7w*'*#FK9mL/h,@5(2dF+A[7B39bAp.V=ANA*<^NtCk8B3#*^r-:B8R_-wRP/6o0N(*w%J3?DXI)W2hB#iHj3&wb0](WQC'-"
"v>L^/C73$/$1ts;Y;e0)x9+f4-xI79Urhe;;'3$RTu?.q.E`($Lv69BPU6Yuxb8G3r7.`,i/OC2C6XxubJSt#pOHC#R@GJ1xE/W-V(WP3Q_VaOb<*$#<bu2v/_^1(B?;b*?d4U&<LRc;"
"HRr$#5fET%F113_t@i&-=_7G;9BTe$G-gn/^oIq/xmwH)+C?0)9P$MMVp?n&Zlf0)^&v/(Rg#uHA3)A.6jRc;k,12qt_>F%GT<B(.%>es@$)$#Q,-/_Ohpd&Z.E)3^SX?/5aRc;oT*,N"
"g+pGMY`Ys-Q.TiLPY/p&m;9q&Tei$#pq_v%4x_5/lIRc;VY]iLIox#MJ6j`+vWW6Na_YwBsu`cs@WZ9i/ODT'pG]21t(%@']S)117)NE-LGxjLUQ@K^7U7G;cEpBJ.w:F%sVjhL:)Z59"
"Q3NH$B6ou-f[=gLWQ<N9l]nH3XWO=7S1.Q/pk,@5;Rcn01E03(ptrB#@bj'&b1D%MbL$-1B-7@'-C7F.=b0h;6#l&#0*RL2+2.6/=G>c4SSwo@(@u`4(_Bd;]&Y;d]q.[#Ps$d)D<fo8"
"l&WS&D/J90x]g`4FOQD4E*bU.O^@c=,aF.Dj`OK,6VVZ-Bmp49QdI%%[_GNB's>03(&ta*Fwv(+0A9'+Ug@_+OrMw65B6n&Tc$@-7->>#?;&cr'^vc)`@Z+`#`)^/mvFB#HLvx43X/V."
"KTbA#3@B'-_U#g)4j:#$om-)*CXjp%[JKg:au.X%P]/B+m-ChL>j:T/uht2(P)_W.:=#6'a8QB#NVRP/auO;-^3*Z#0tQ(+XT&c$]-VvYZdWbNa6.V/r37],TPB`N*wY+#an8B36.-@5"
",<fN%/Su=34pt23=4)=-apAs&oG[1(v%)<-&-9;-#P5W-i)A.kq[?x6FHuD#Vht,<HmK#$]3Nb$#w9N'dL0+*TbU6(+?\?:92lfO0Cgf+4GA6X7i7,?,9LP=?VOia4Bl>c4*e0a<(^m6:"
"f5Ka+8#$<.'0CU%0G*9%7JR?.E8No&R>1Z-A####E?O&#2(iZ#Gg[%#wB-*?Ji:8(m$qF*dv_c)^pY3'UKTQ&C4V?#;U7%#go[L(_acK(Fcuu#Ci>##G$&?5Q<O9%a>l#'sl&m&^l&^+"
"c%HZ(UI:8IUjUk'RhDZ#^o3M($kgn&2@Zq7V3Nd$=U<8p5R-@5ItRS`ex_#A`U(9(bA2@5YR>[$D@9$cBYX@7AaeEN(AZu*66UW-#xcNMf^j?#,0fX-&8o]4[L(*4@@-E3eK+;H]jCC#"
"pTN.)InFa,=Dbi2fIBqu9>`*4f+1::9#1S:rX'O;Y8eq9a#xc=O/Vp9_?<T@c3;M9K'oS%e-el/3.f6#][Fl7Xe70:;1[S%140t%lL*B-vPR&+4<S9&s9^v.`xP7*VXO8IbbTDNY,v/("
"o$d+#.0v2AY@]Ck_&dC#4VfOfDoeX+/6H12^Tvx1asli0o&l]#qV6C#%59mAL4Zg)s77<.#F^V%B^Rj%wxM4'dI9m0OO,m'^N:S0>]g&.85e;%tLt**-f,G*`Urv#Yn(n:5whb*M=>i("
"NZWoA;>xm00&OE*m1Kb*`4LT%.]]lJPZ+/1<XLj2m)$3'nN0V.&SvZ#<NB/1O<N]1WG1QSk-?aN;b.*+HP.$$(g'A,-0NC=.XE1#DU<8pQx&7p%65N3bL/b#64vghK%vC3rWtae*S3C="
"m-#H3q.u@?xRP8/JqKT%xfkD#x,Tv-rqB_4c4s+'MP;l0kYcY#Mi=?,cBxT.X]S#,m;,A#cFs?>)<hS%h]OH3X@`Z#oqpF*xU#k24V#m82F^O15+7s$MOKnDZMg$#3(V$#hhJa#CN7%#"
"s[b8&*6^N0ZPnL(lh.x#GEi6&V@eS%C-*78[<[0#U=Lq7=GvC3&IN=7j[iKA^1qGhEikx2;8qt-PSbZ5ZBF:.(_bEa,uH>#DdX;-[DQA#<i)e#CM*HECiWN15g?'=$=1/Cg-*?5eKSX#"
"_^l##F;a_71l@@#cGcrH/U/]#ZtA2'C'7mK$Z0B,xV>;-h4D4+LRlrH^2a&+^neS%5G.ND$u'b*ndA[#M?5/(tnD'%<55eb[]_#A/7UB#Jf?B3YxKY3wZq&#<7ho@X+801m::8.UD.&4"
"')'J3RG8#%$FM_X4W$b*h3Q-3>*jN9J5fT0*DcX01qYn&:8Pg3P7Ba389@@%/0vI<+GX:CG:'a<ce`B6,C-k%*s5M9WYt1^=;`r?^s_m&&P+q&%iW9)sj5##P$tt$5aBB%JH]uGP8'#("
"51r?#s*iw,QQUg(-ojqI+'Xv#l[10(4Tn<&*%Hp0aWO=7TS6/(5FS8hSj*oe;Wh*%?p3Z$Lb#-&?IBQ/]H7g)Vxv-+t&HV%kLFQ'de^5'E_d*j?:o_#x>tV$4M0n1,mN.=Au3K:i<Jt#"
"&KO&#,+F[7B1)&/O/2)&o#=?#D7[S%:#$O0C_^`71+4q/HMZd-+5Rd+M_k?#Hn?S'$IK*#a#Q;pTdVZ+O:0*sGYYC%ou(IpLd0>Gm2Z;%ZN@,M5BMa%j:,P(I5^+4Q>i^#,+lZ,.B's7"
"tj16CQN$k*,`es.C#mL:`FH>#fu7-)@4AU/'C%VQ516U05i3e5/Y7V?\?MLI*?OVh3i12W.I4Z##%3_s-o95'v3o'f#gRk&#[qdU&3IRc;;L)e-6QK*%meRc;Q5E-MkbxX%)$%%%;sCB#"
"XW[p'@=J2Lg;,M:SK)J)ci-n7MIM$#hvG+%[>`0(uqi&=l]nH3Gw-1MupjYN1?>n0K9O@3OARL2rsUO'*Im688rQ235h9a#:L;I0-Ff[#=WWf2EaD@c2rwA,]t.3M+x/H#f?0i1rLt3."
"I,Tb*OBaHMPn8-)XQT`3H#K`j`D(,2D]tA?Z?2JU<'fZ#HPjY$hi_D/BF$#>HNNjL1f`x-d*e`*_G*'._>uA#,b7t-5kbuHD0ki0>oMhLCxl>#`5@Y2.4wp.dnSs7kKki*E'o@#NV`qL"
"MDs:%Dn8B3wXsY$jKKH(*nj;c,&+222Mq0#fOMINWjQL2ZI;s@MQ,<.G/aO'Tf'c$ju.&4Yq[P/OUT;.p'0T%=R7(8=8`.*rF)xP0CYD4h6r]5,$NF=h#6o/0@XP&rpDX.>^/&I2p9VK"
"FVgo:cgHu8tj<_?4Yf#8]er;A8(-p:gGFH=mN@b>$nTK>:N?.%wp%g#TMb&#`0PPCfNCD-w84?#>OfuG`,^.$2S3#5pWh1LA'ic)XhA>#pTme3sH)wGh&Sd*bwes&*MK_4qLJnJlSoj/"
"BJl>7o:0*sfY_s@fgmUeRaug$_81s@<O>Z>B7YD4>:FT%]tC.3eN4;HG=*J>$hT),Un[B5H3-$8@@bt$`+fP'Z1rI*O42NMeW#HXq6%.Q/nK>#URBD3;i@dXJ@-(%'C(;ZZ0;;-ULq>@"
"H@V$#9.'U%n:82+9eRx,F)a:@m^7xY<dt++v;0V.cM/'+)^0v-2(xxG5(i;$2o_V$Z@LG)8_oi'LU)Z#pdE#-@-*/:,]_V$^6)J)/H21(^45B$Q]&*#k_AG2S7C.3aPcu@#T6/(&jfGc"
"6%2X%uG[1(D)S_c.j3qrEvYXN.@b2KYMWL2>snO(=FnR%iSYx67d+b#$R(?%LE1K(kj9N4L7]m2LxQ<.STQ12$YSI2$POI)/'5k08bs?#/).EC/uaL*_],9'[-7g)Fmn-)I:Qb>%S+on"
"9&?aNp9>b#sR7%#ZmYi7f9+A#b;65/3oq;$(1of1VS`x-[u(s-]%sp/:wf1_af=^?Y?P$.BBOu-JwL0,3[r%,pdx@#b`fmKBne[#-I.?#*B:GD4sNA%Rj*N9XG2<%2i(?#hDu]#tM0(,"
"rIF2(nM$I2&S6##R($e<l+G?,8v5R(/*:R&Wvn^$+R-@5x[/Cu&sK^-$$8D(LS%@5mw<m/[*N6KVnko@v(l8&0f^3(06Ki%MrVd*[]&i2&TQ9/SBo8%<mh;?kc>6U=*:a#TX[P/9a[D*"
"DvjZ%Y'FB#ZoQV%g,JK)Ag%90qLO.)g*@9.EG$[-LHL,F+W+w,F`j4'o>ZR&hR$N).gIh()Gu],A:sS1M-#x#&=.,;TYja*3L%K#Q(%LD[^rU/:.`71RN,9%j1Vf:&L=f*I('&+rLv>7"
"j.be)cZ9u$0xmo%3=@Q/_e?H)0VG##9*:T%@M4i(aKA%#4#].)QR@s$N,.L(Rj_;$?j*9'f)G^&M;EDum@Qm(WE&7pwC+F3<)-4(qakC#JmAoc#Cf#ATnF@B0IZZ$DFkEN)fm*%QRQx2"
"d.i?#@#G:.Rn=T%gY%>.v<uD#'G3]-ZNdV@>[)E1k+5GMF4S`=N0d]14Q6iTkrJGDHe53;itl+=iiG@9D9Ox/u####v><jLRsPm#J`@Q-2,Oj.6LNp%@V7Q-$ZKg/diW]+T`nL(wxQGN"
"$gqfM8GfM:w.eGNxvQ?gi84Ag[?i?ghV(9(*==3.B:XENi#`j%e,FY)GFX4W=dg@#xA)p)fx*/O:KB[uCU$K#x0>O2aSFY/1sB9AZ[aQ9bKLfL^Ux-#0<Jt#5n=6#d_la7E(&@#/a_V$"
"gM1wG<U.%#TW]&&kG*p%S)8>,fVO>/9=RDI(@a[#_e1,).Al?,j$fS%&*LM'$>tB#I4?Z,8_^G,6cHA#Rd@w%?]Op7-<9B3P8V#AW<^w>bQ3jha#:D(X6)=-<(Xn/2k'NNd>;@Ki)DE1"
"/6kt6_pH)4k'Jw#w.wi$eO=j1J3%Ag_uFo1`+h._+N7l1HWhR#Uce'5OeY*=Jo[N:5/ep8T:H?,eMf'5n6_a-?so0)Vql=6Rxw'=BS;>7MDK#,[iKF4t]*S&EQ0a<QW^6&Tm3*4'Ungu"
"G),##M&KV-#Sio%wWDg<q;ic)wImP/^/PA#Yw[S%Ta=^,SIRK)$x431cgf7/4c[v$@?<rIXh//+vi#A#_(@<.jS%31lZQ,#<qIq;6@sq.M;NmJ9G;s'9BJO9q+p7.Z&4mLWxX000Y7B3"
"E`MBk1,D9.@awpcdG^G3vLtA#:]7:.?#ht@WLtI;A3)H*tdr-D9d2=.P.*C,)k`n'Jn*`an*%lLA3C:':rvp8u<@]%HkYI<[1Qk2M*WV7Bem[5R&-A6P]JfL2I.q/FbZ(jUOdl/@8])>"
"mYCSIXs2a*Be7@#Q0]S%DnVD+W%.K)j.Np/ET<X%7+*u->#$O0*#H8/dLmiCkfFv,w<,gL.KNp)<YU@#N5Y#-lA?p/n`'##TVXt&'HQ0(o^2gLdi%38?f+5pKfi38V<)s@f=;N9dJ5s."
"T.3g:k@5d3Ah7_m;V_K*fUv6/qHv]>cq+M*:<Kg4)54w.E`FU0vW570a<*hu#CB02k*1F&.Dqs7-q^a<>:,D4w_8797>T#,MrZJ*I*i_4`Sco.pnSE#YNio%8n^Y,ZpFE+E$]@#[V&#,"
"UqmY#9^hr?\?^0G+B'+A#*HO?#3p_V$WQLK(:U,oJeMVO'`DRd)btL@,Tsb>-s*8W$A-5j'v.,2VT?`T-m+.?$U'&<$P]hJ):7rS.`TJw#,eI?#01CSIfOOgL_mKN,d;GA#ik=/28UXt("
"Q3=&#bbBR'p9,J%aI-?#_/YfCAkj9%tT;a.]'.&4;E>W.%ARm0SvK`N_]R5'pwA2'.t;h)nmAL:-<9B3xZ)22Mg_p(scLe$'lm-$K#Q;p=mtgh;T%3Ac8&gL9>6(FijRAG#m;*%HVn['"
"ss=S#oDpIA*o.Q/g+Um2dHT#Ah#eA#89uH*$2f]4#C7f3@I]79Ji>g)$6Y#[a26N')Kk7%sH:E*hSLV.f?D>?.@l.+@Gw+MVx+M2-<Cr.Q,kR')6C:%+;Mm&Ptxa+QBGN'ZFfM1l9vP1"
"qUNF54BD=%kHGV/x;OH*I9Yj'v:9b*g-[T.L:dl/Y`5]kkGKM0XbQv@=[^xXht$A,t?FB0Q-bB#vF.?$T;#`4oR(`+B/L;.'Ge21;.ZV-GGGQ'VUSm0[H*E.(Il/,XEs%,8@LpTel)qI"
"l_ZZ#PXv$&FO[vTi=km'_:kI):xUG)Z>Cv@T#Q;pn_%u@2[)22.s<3p7ViS%6`MBkhq]I39]-9(%aJ,cTocd(PJV#Ad`9D57S]o@s&?F3B-)D-&k3Q/ilEj$3-$E3S0*N9/l0H2l1f]4"
"'+BL.Y2D50d*>r/+xBR'79m;/E=X?-xnGS0Lj387>bK)*oH5>HOs'N:q?6BXkZKt8u78l'ZW`H<L2jo0dc>o1l->a,>g;A+g/s@t[vfi0Mj[p'UA)v#Q2qo.nMS*$7gx.__)u;8hGi&$"
"dnTn'#2HP/9s+Q'?%8;%r%VoIj8@h(@R;A5rF1@,grZV%_O9sIT=T-)lac?#,64?#W@tc3[0-87<e.u@qC>8p6^)22LK46p5Z?Y5,bQ@3[)'9(7HrTAeJYx2]^7H#gjX[,9V2m3QS)v>"
"f^M#Pj7o]4]H7g)qU/>chtkS8'esx5@a;K(WjM*4.W%90fFTBH32@W$6&]H#4P]X#0Pc>#_VQ8DM-5A-G_R<$;1gQ&9owM1p^ur/7t]Z7$JL.=$2Kf3$,>>#4p%crHskS%LJ->>oHFm/"
"*$;hL?R@%#ul(X.HogC+_60U%T:eS%8NA],oZ9gMh-vH0ou8#,bbmaN4lW=]QFOR-@4`p$/+f#A6)qQj1hX9i2&BK)^gY=(^96GMc26Q'=0D.3_rVxb_#5A5;T2K(QQmH32CRN)rhh/3"
"h%P^%(i,>q-`U;$%Ycu@lks;;?u/6&+s5p%3Y[6048*S&0Hdk:iK^;.7Blk0)BrP-Si9j%?%2>YG6q=YRM-U.eS(B#nl%s$K-lJ(Ini?#J]>;-=fJp&&fJ5'g;63'MY$K);F;w,mI9PS"
"H7v?&sJ,s.C%rP/2_E[#Z?5/(%m%jKFHEH*p,/=&kpE?#?:[S%qL*&-Pdt]#INvF#O[QJ:%qO=cO..W-Qxum1U?aFpL&g7.xr'09&G#V^Rp]0:WmAg2JgVv8fTMs@akOF3Uvp8.n`WI)"
")w0%'[iQT/)`8l:mw;J&J,LV.e%E@G,i@V'u'Wb5cORx6Z^[g)qW,eVu'&x,jsPN'eb/u.(pDu$Z(%],SdA*+RW7B5O####v^l'vxrUZ#Af1$#(bB]7m:`?#w&@PJ`iIfL>@[S%TlD;%"
"xUW9)HdVv#.>XM*0^&Q*Yw1%I$hh?%sxxqDX/Rh(6p3,kILuV?d*c5p9x1*sPu+EMj&.#3L77<.dN1K(Z-8M)OgHd)g*6;^pWE)YgHM02URT8:JTXrAfJ0E-]ohx?]t//1t2qW$xHNn/"
"Eitf<6AIJ*Vo5('ISt`>#)P:vvuo.:B;2j'5;<PA5::B#d2V$#Q(m<-tEI^M_@?>#TQI9i?+5R*e^&%#d%f7&=s@&(NDnd))OHENr^vENMna9%4A###?^*22UP#7pn==f%mq)-3vI=F3"
"@l_FELD#H3`jN%M+FnM0/xa@X-AtauRk$qL`]l[0_6&=#U,um#]:OGM[PN(va^D8$nLNjL`sJfL2b0a#:*oB08)+*$J)v/vqTm--w4vV$H7*s@B[1^#[3p;/OaFU$^I=gL,t&nLP&2'#"
"Yq'lMWJelJCrL^>r6qrZ'pj--cB?R*vDH_#E3xU.26[o#om`=-24xU.c%gE#<^^C-HWqw-cbv*Nk]#U$9,kB-hq@u-ak4@NOE?'$ai&kM.gu0NYvm'vApwbMrMKG.`m;58b`BX%`<iuP"
"EnD5/G:$##k.?&3OVh.U)9@W&[kq@,7K2c#q&N4B>Pem00/H`a.sTw051Ww0XAEPAp^0@0vM9`5QQ2c#p_)@0rle+M+?\?>#,'H`-'/Rk=AS;#NLYH>#0D>>#(#no%u>nxu6Bf>-$$H`-"
"_X[k=6-Yk=RVL;$'ON`<)d0@0WZB^5=eYlfMOD,3r5I&#.:3&&(Ooo%<q)a*um,t-cpZ.M?n0A=2SSGE&)'_#qXas%.J`M'Au)M-kn,D-%u,D-U$-D-liX(0[8:>$7Q's$:v&V-bd&V-"
"`v,D-uw,D-*CD].T=YC+vqDi-'[Fl=1'F5/r&H`-X0f3=blXY,(2vY#kMh11(>K$$'T*c#HvdF#LI/R3'*3e3C^#kkJ8<v-lBE_A(U[#M`#7]-Ivi?BL%TK2Qgh1l`43Y.#)P:vK%R:O"
"IBc$M:J(DNWvvW.=rKv$^l+G-Y:t_7F4,G-<),G-O?,G-eE)D.+.d3#;>fA#ZoOv$FR(S-&2Gc-P_I44^4Ls%Pw(S-n5Co-38)lkCp.K<h$(S-fFFl%`/5##LEJX#4U7%#aKb&#G@3@I"
"jKAE%4RdlJa+9C.Ul+J.imsw&5,Y?#/fsl&w%',/4FA6)gk:,)v26T%%fFT&I9@Z$I>u?#%4pi'-8F2*6Rvb>>TScNdQ-87aYFv@Tk]#AN>8^$W6g#ACfGH((H^#A>R&C?W]f3%WekD#"
"oF%gDS&=^,OpX;H$END#37La>+gFJ#7e/^=T;UQ(x?<J4*?d&-rZ'lTcQWD#ps_w8hXpn*'iYF>>d3x%c/U6C:XY.+^<Rc*Gd-<-$?3R%mh46#S?)4#E2Q=$CsV]+cp>b<+QZI<PC/H<"
"5'Er7o.K&vXY#T8OvB^#Tod(N'l^$5DpQb<eTdL<rS7K<G[iIN`Kf?&GE25^Pg#H*eGuNFhfOjL+a5v,_o4(.fk,GMr%^F-K3SRMuEn68v`4(.jKsg*i&R6/,>uu#9q$qL3j34#+Pc##"
"$`e_8t7q^#>Qfl';+XG)bm06/GW+:$?s^%Mao$xM[*uOo]J-1)5:Yuun'FZ>X%5e<:SeY8qg)I-YbOY5r3hrZpu(,2gg+QC4=CSI`;q'#Lc5D+.8>>#5`G>#o;$(G(As_#*A75/6%BvH"
"jSu+DSg_0(;?V?Yq(7A#w,PA#hRC:7`H.E39%[H+hj)L+hG_n)=`U@#YP$g1NpNn0ej.)*F$ipJHSP?#_0-87eS]4AofZ@35-Ev@,@^2014u2Ao(8/(lUTH-XLPHr3/)Z3LxuC3enld$"
"=n.i)NIHg)j#0gC2NB#A_8V]$OWLD3MGg+4ZUfC##W*i<$7,n/IwOx-rJ8PBvF4F&'g+J#AIU<]MCgT%w8i0(Ojib*9XG_79%Ut/?h6V:XK9D3WKZS7Z:lr-j_Z+`I^ewuaB[)%NNV&H"
"]Zt0Nm1xfL%L>gL<gi,#4>nC#+2cnKPZ2@(ctUw,E6rZY>.Yx>4e'_#vA[]4NajjLqo9f%=;+KCT,mV%'67[%V,KS4WT.l+0d8m*^Ar@.FZ2h(#@R1)VWl3'A+j$ZaFpk1HYUuYnfln'"
"2rhv#d1`#A)B:B3FZsb=tFt2(5-Ev@vjj;-&-7#%Y2O4(LcZ>fS.MXeS^&i2ek@u-LK%?\?ZLXaZ?.OF3cH)k`.<#g1wr6E&1wZ)4Orj&'odMb=+Cq;,B.51<Q1%%?eTQs,8#^.G%h2T-"
"-Vk'chr>mEE;0Y&kP%F#&'#NBbT7T0pv<*Eh####^5VY5w`;5AEnD5/ML$##6DEPAG:.Wf(00/1.IN?#vU%O912Pp8u=$W$;Z%j:9kT,2C`+/()%^M'Evm/(`?QE3/c2T.&6YY#5u,D-"
")9x/MG3ItLsX&L_WM^@kQOex,;-mF#,ngRJ,7>)4?I#&un;_-?sqe'&c;1G`G%+GM)gN:M1bxW$`=?*NJ(^fLb5t89iD->c:@GS7TnId+fF`$#RK4v6sCU<-k-fS%r>WY5ek@='h?S1_"
"4($6(/O7G;vZwV7=_7G;%wgi'kCwn7ohF41g(te)qx?N'c=#5(*D#W-;rA04+cYs-BtaEEOw79&B?^N8EaVk+YH-F%LUYp0(2PN1_LUg(1)0DE>F_'#</?2(:[7G;t2dN'7pcG*RlmG*"
"BY$MMVq)$#siu8.,hbs%Ll1pJT2Oe-/KEb7EbWB66M`>6EH+Z-ek-L,kHqm*YSfR/=0>n0AwmH3]@>djsmCn0Xc`*M;xc<-=.9K1Z8fk((l,@5X$lUerl?^Z`oq>ArA^0)69<.&#<^FE"
"@I)=.*W8f3%IuD##P=j1Z&>_n)xck%/`%r8L'ad*uR'h1WI7s$@lkvI:M,F-WF[++@II7/^%/D6ukPc*FFX6/^<xf1vAA2Ec*uGMXK9D30Ll]+cwdl/Dl1PS==u,)4O?0)`XEkTKZtw#"
"%sln(J%kP&8gYk00LhO+G;AX)RxUG)T%>0L6FET%.3pgDOdjjL[x8`>?0__#XuPw,l*fS%lH^4:m@4qS]Y(eNT9qW?[.M[#=_`j9wXOUSi(`eN<ZZ+#6Hv2A^0R/Aj,Lk&Uodp(,x,@5"
"VO`F+?vdE5^49H#J@[s$Nghc)U/cN3jr=c4]KOf*4Q?W-,#r9Lu@6P9c4gP'#A+E*db?9.kR)G+E7@<$]g:#.p]$9.JVKK<'xKB#s@Bh,,iBb*f_ug15l:v#1Y3*65i0X/f7Jk*=C:W-"
"vD&q'_$qiBGmFD<sf:g:Cuos7j-Ka<ZwNW8>tTw0:we;-d(l?-C9Lw-SV>u:6Z(*4sQO`<n68V8(T%*+r7qV$r%C_/_>>_/YDEPA+'A3)1d5K1)gHb<Sb81;QhbAuq1t7[.sTw0K(D3)"
"D6nQ8TadJrnxaN1d/u?-%Nq<.5&:c`Od<s%IwlA#[4k$'gt,I).3mF#I^hwKFUv[tw29G`;1NY$6aIV6t,SL3T]JNO>r[2NJo@3'MmaX&Pctk%^k0Kj2EWuP-4k-d>q9q/+hlF#DmB#_"
"B3UE#fqPm8(^X&#7U.KjYd6L2dm5b<:c,LM]EJi$CWVq#K)+&#SH&S'qw4vG[ia]+.Q9'+-)No&fGl]#*4(>$USC&&?A>?#tiGM9^iMmJ*rLG)o')C$PVs)#]5pr-NeKpLZILm(%QXW#"
"A=Y@5l^.4($x'nf@Rr&3U*nO(EW1E6`V]+4uRbT%*+x9./>W]=T)+R:_?db3`_[^?p';rZ;i=mu$EX]u5SeA@5?PYu9eXv8g$sv@l'bCa%5YY#lVo.:7$4G`MDW]+3%5Q1X>k&'Mt`?#"
"tAD1(m3VJ#hSDJ:iE<L#I`+2(b)[d++SIh*gjng#^QDP8V.2H35QJ=7T?]Gutn2M-PFoF/46ho@m7<_=uDOQ'JSGx6x*N[ekm0n^V0FC5Pnf_Sleg/?Yv4P2Hf;@68<&j9QK9q%YtCMN"
"[mS;@<IG.F%OfV'K>xn$Pa#kLHwD5/Tb$##&1/bIukhK3&Qvl7b8-r%;v>5&g&@u%;u_'/0nk6&K<q,FfG/gLVtm(+&$mF#G+RX1QMK##-5YY##l_7#cKb&#1adC#Xp*)*%PMa,7&#r'"
"A.64(N4Y?IReRt'R+Q?#fOHlfVh1.3nEu2v]s+9)-V=jp$66_#-**I3SqMC(kG>/(4K(2:#sEl._9`S.gP,F+@6]],F<o=-$DXI)%l#(+=Ssl**dGb%+MV;$7rCZ#p)Tv-mb)?#eCqf#"
"GUI8%gaW>-^C)Y7FtJH(LGNk'6AFI38Inh2/#jIq60;t-a>SfLRRPXnPQ$3'xxNN11:)E.t0rK,gborQ=_2I-k^fA#&vFF-*B]A,j*x8%hbVg*Tc&*#QTSDcU/rb)2xlBcb>j(1YP,JA"
"KT(9(M=(,+$&R%bHI:l0ZlWu*n7naNSV?P&)jF7cPBko%@n2reciA12u3H12Q+.kLCOf;%%59H#/ScB(v+'J3?DXI)Q^0#$7V7C#-E6C#a=@8%c])R&<'->%ngJJ70c8?7N/Ah(3qi&5"
"LE<v66=o,E)1Z$,s@i;.P[s5,@Te.MA6ZP1w=oD]:-c>V-4gT.t2nh2?SSp&QK5b]=VdS1dP7=;k)fG#GH)D+2UM`+G=e.<#)>>#EKSX#m6DV;fnOU](Vfi'trCv#VftG4%p8r0CF@1M"
"%vFo$id2ek3GUM#mR(]$Q?WM,ON9a<E##59xY*31@i5p.Y6-ekBo:2#_%###,B0w#LK&v&qdN8.SgHt.<i5r#'Xa-?T@)##fEVuPoP$.?G>j+3Z?ga<=1VeN$PqkLd&xIMFlw&MwXZ##"
"iFWb$Bg6M1Z0b`<[=`69%K2W%LO3.`4+C^#n<eqLwI7r[6-u2vmVW<-Op>b<JuMG<#*@iLOFg18jO(_]g>%F@s0Oj-/Viq22.)9't*;/)mPb<6g)J$5)Gw'?<>a0?W/]o[8+YpTOLQuu"
"?M_j0+L*q7ek0^#qcx_%[8XLa9iO-=gmk]>HOa,*u.C_/$A5kO7_fQa7f%RagZf._Qn(9'MO35&3(lf(-VSM'oh;H3i/W%t4QYO-&XYO-&2,%2%f-k0Jw8a<NL]H</J(EOSqi6MGXo'."
"Z:;l*_?UW-:TEtCXqOJ(Pm*HMP<lwMpE0aBtq,U7oA)B4Os%'.>s+t7tRkxudfqTM`B-hMQEoCWssmKi+feW$wp1c#('dF#<S0LPJ,Y:v'%###Bk6cAX5x4]/(5@MDxdX.wm1c#NJL@-"
"W.*u.#)P:v[0P'A/Y+,MGXo'.:R%K81_tA#v(G@n(oobM(Ju#+]LAW-gRL@n^CNC=<Y/dW(Zu(3X%F8]@Rr&6qQ9k73SD'#.KX;$QBO;$j(@B&'dA5820SD=Z,g;-(dCE%)s&U/HhN`<"
"TR8H<AgAs7KW'M<BvFwMZJBp=+cq]5OWB=-bXKq=Eb0^#oR6I%n$)M<T8w+#6DO*$cOD)4q^pV76m#LVv=OR070M($cJ*c#Qv0:`X8u?0t=rS%adWA>/qL&#gLjj0c3+X$8XZ`*21CG)"
"wH&X-t4W9`8e#s[6Sw-dLluf*cQFIMK3$X0SK$##*0O?#6WihLP;-##UHi*'jw@&5Q.l]G(EQg1gM<w,MpGb<C`DG<xJ/cNHH0k$r'<r^2L6T4t1Tq24E_:%)s,p%Cj#p%.4qq=u`oQa"
"7_pr[sD42UZLT&#-O,T)H-S_Aljw@Irm('>Vlc>Y4b+/(NT4YltI[`3Ov&QLM,=q0u4DB#sN320qo#L:Ear%(u/+?#:fMM0B'Ox#NwWB##)L`Nw*IZ#J8Bu(If(g(pi`aOU1=;/)FpT&"
"XGE_$HpLk'NF3sHjj#v,W[UE4LPf`*Y%8e2(bfS%gkpp&x&#$,Xvlp2:d<o*D1Dk)R-rc)=6&.,+-0#,Z>Cv@);v236w&7p%[)22[i6/(=7q23C]sDHj-O0;iVMs@S_4Hpd>*W?9RDs@"
"k?hXHE3@m07**T11Cj)F=#CB#S,m]#ZAL.;c:*aaqII`,o:RfEq%n98,'Y^,C'P]-@/Bc=-jbID42A#8X:K,3'iJY8'hoX&c[3T%7Fo01oI*u7du(o(?`-9863UE<GFpC4W_-D4JfbE*"
"E]#iE/;dY#$-,##$),##x0#F#oS7%#>V6f7JQ$A#wn#>YIT.](6>1@#?It4S$MRd%JP^>#AVC;$JU6g#a*&A#9N4GMZash#<AZB#GI@d$ssHiL>5pi'-sG?#Q6Q)4t)FL)&1$g)w:jb3"
"UW3C4gZ+Z-GS87NoS)T)dCGo1[/)(#Y'R,=4%Y5p6KW6p09,B6=*I=3AbwQ/K-xghK9C0ARxJs?qC)s@0<K/)l)i)3^YVO'XStv6kG7l115%&453kf:<P3T@/_>DWHw+A-<K&e*Sw(N("
"F4)(8kt`>7)mQS/g+=o&wIv',btFk:lR(<-=#sc)+DKN2VS($-'jUP0h[iZ@lNdF#lHwt-tR+31Ev&u&fqbJ2qgBa<>Res$S)%Y%Y)`cVwpai0=cq;-*bDu$gQC0('hlF#C)S3%F)>>#"
"tQFv-aY0%M`rOh<Pf3_PO@@],)-mF#j70r0w#j0,Vt4T%.DFD*tfv;/*&hl8=&cN)Rd'v'ss+]#fYm7&p3d7&>/w^4;#U[#s5868P'-87`3X7%q&LH(9UlO%)Bb8.]77<.]CI8%X*#[$"
"wll]#E?,VB```n/.CHNBM2r5:2(9'7I)LD<X6P;$vu$cV/B5Q&Quvj:-NVHmVYB##G(#b#a_l##-pm(#ngpb]rvB>,R^Fl79`.0:C+RP/l15(+Aww@#RIdi9r+-(%.Zx>#@#)B#6ak:."
"buFc4DkB-6A(Qw9KB4P9i#dc2#g2?#Am6w./8cI-wjBIXMVE31d.+@#RYc?#@r82'wx<x'GQ`#5mJP1#ISq;-k_Rm-RqE=o5G>8p-S6/(ntw2AT8U;pJm8B3rxpkLpjQL2vm#?8D,7m0"
"n=Nf']WS497W2L)#0Tv-I$4Q/c@O%$1V2&&wKDc4jBo8%@]WF3J29f3XmNU*h@%sA=nI>6%Mj69'C411Z7E=.N*`&53%In(`7QI#F0u;/d9v2(xd@H3lATu-MVq;.)kXT%Rg96CKkZ9:"
"pbM?##8Fo7)<pR/k1tF3kU+70/6hE%.:^^')(fR9h2gZ&3L,i(ctFn04&M'#V9Xc29X)&FCG.,)IV9VQ:bWD5u*[R*9$(V*;D,N)i:7tH.pYfC)C]]#9,FI3&a`@0de-D0VN141wF2sH"
":MVcD<'P^#D;hV.h55gNB#U@0EHVE4@p*;?/Mt'#D`t22rpF?#2,/+-]dWh#41-87*$Q;pgVLm(,CO;pPJV#AiRM0A^i[2hB[o23(@j$'n&q_&R7JC#_i?m8(_Wj1wx(u$/?47%<2Im/"
"g<7f3''sR'`10[%ClJH3=L<D<2fvb+2Kvv.21&`,(g'Bd&1CG3':J_SC2aB-Y(r_,<*PT%,8)39aYT<&Cldp%L2b<-ww^,3(fCw,wk9g2WvtS5[Plv,co#QB74d.<1h_o0[GV$>LQD</"
"H(.T8x&YmLa+dp8@g8m%AZaFrK$oS%hG2>5]]Y#7FkGk4l4JfLujlN1nvm8/.l5[,k'fS%Xjf9.+;XU2C`s'>doLeNnrCJ:-S:v#?fF:0m7FZ>k-?aNcgvl$,R-@5P#Q;p]Z-89q*c5p"
"JJs6pmh8$NXdQL2aj+N&U;#3)p[0b*f..<-q'2+*k--fF,]tM2[M6[-J=?^?)/A#8R]R21Gb#u%<Dq8%c@r%6/+`p.k=$%@P8m-$k3t=c'V]n&CjVW/rYIZ.r]U,5CWv70'nSG5AR]<."
"'WW7:E`i*%NJ@*=EPOV--1p`*S-78.QgEd4Q3pi'6fN)%,p$Z$E@+#H<U.%#=_Nt$R4eS%3<N)+3YPV-ij#3)mOTq%wrtj9lG6pI/r&*#q#vC3AG36p;g0(%@7]LA,='r;WX6C#d5<]+"
"YnSL2<IR8%jV-f;0OEZ6dLHx6RJOb$:LC3E18p+M8r=d&.cY+DN&;T9p5$]uHd#r#puZaRxks[II$_N(RrJTCZMf(-o4BX.q=To[NfOV-X8Ba5WL5d0w$#R*wd+Z,e]SNOHpi8.O0]S%"
"FK4^,?&XI-INik'?:ZD=u+nGNfB]3MVU(%MkSjtex.bj.*bMBkkRXb$xRZ'f48q23ZsI#$J;]B#w$SK<Z>^Y,D<L6/H4vO9B'Sc*-PUZG8Bmg)b3inDI4&%@[`uoJ1d,<-uk=(&4sHv$"
"ia>/O(lR(#a*8<-Gdxb%Sf&+#)9@W&W.dx6Tn7%@&K$9.X),##jxoa#Fn=6#]RYa7OEHr%m>2#(9;#j'ft<T/kT3V73Q(<-E42=-Mi_v#fVM8&]]Z?$GoWxX&qTq%C:gD*b*%],ggbv-"
"p;3a*ww[@5kS]TcaItB#R(@B36H0dcm])22PsL)1gYh*%O_n.AZ9bi0H16g)G7p;.H.Y/C/dl8/cWnc*LEba*l#330A6%w#'2ba*MAXUe0*E[$IWs1^2L97qFU^U%j4*Jm5HNT'ZP###"
"XK9D3bnP%tqJ6A4ijaV$R>bxu_lYT%PkK*-3`ZA#)#jIq/Jm##oSNk'3:_f3G'uR0CBda3],:U%li/L,(.)'(0$%%%kCwn7sI0d3%)EC#`Gms.7PXKVp=,G*bJEI)#:X7/Q=E_&'S4mL"
"3Yga'2v4mL5f5<-'TpkP=70O13O7G;Q3=&#.FPuYfFc2(R?P$.7SHX7YM]32;XlR*ACu''Cm&m&%k`L)wka^-Bvc6<>_/c5gn7T%c4.f$KU<8pA^nH3&[)22m[C3p=FKEk+WW-34s6OA"
"p_26p1B'3(Mla(1,G9)4TqJ12ULO4(MI^x2TV<n0gbW#A,eJe$()RVB?nKr,EOLp7l8Fj1udb4:CrfG3m8kb$=pE*AW^Z/;w,<a*r,IR/l^Lf<-]>JC)N,<-_n;e$jUeW$8ZOS(?@t,)"
">_wW$Q^5R/gsb9%]'$QDCPd8.#)>>#-,h;-;Ygo%o^1VdU6?H2=*po%I87;8Xq#a3KV2m/<%#jAR?>H34Zr]+W6Gk4Ev'W-<jDsT'=mr-[hN`<88EJ<ZwoH<[W)s@u>[lFuvLrdS/QH*"
"##vY#ZRcjLHgJ;6#NSF-lnPL%E8ISEm3V.#P]h[-`S^6EhSuX7Ze-j17ciwg,rcwg*dqpLx]K5#+9kZ#U[UkLn&nf893,F@Y6u[NpZBMBZg=W-J0U*@fL)d3i'/=-$p,D-F]ee-dw]0>"
"W*.F4A]b5ApeWx^,9vE@XMX21Qa`&.gLZt7d7G(HKmb`<BH7kO2.%##an#AOO9E'duLSh(/3mF#2#TCOm%1^#d(l?-O9Lw-Z@R4=X3_B#Evk>-;m#p%QGwW%2kS=u^Bk+VFjZ`*d2bxF"
"w=+S&;:M?#[JdZ$(;Hb%,ELB#tvx%#$%)0(]%+i(ZB?+#cEhc)0fUv#w^H1,mQpi'_8j&+)=icNcMr0(`Vi4'/9d+#&>cI3:$DQ7ggW#A#eKpL7n'E#i$n?3`G#-3H*'9(7<q$%:b*PC"
"oX%$R+'4Q/?ZJ+4s%?L:G&Zcar>L6/p)>LDmEGR:Y1C2:WT5n/m:9U%v=L?u<ufG&4L`Y#c)s19dXA,)3V3>5Mja5L625j+-<0A#)W#/C#1J]#9&=5&jr&J)DqI@#W)crHcC?Z#*4pe$"
".Sl>#O#Ko8uk_%,8s,b%l$dc2*,^w5uQ>D<`Q*nK3^vo0X7&A#x<Z(+*ggr.=)Z]#hD<**sQ;BO@fML1e^seN7O)D+Y#w)*ZPEU0r=ro.T`j`<.v&7pO+Ev@MG+F3KVU;px3BT(PR'B7"
"o*kKpo$]KhePg,3RY<.3fMKg2eN^#AFTYW-[KSj2h>GA#)'#u-)kJG;^E5s..9YQ/Cu>=9NMYL),@Mb*1WB<-Zt,A%NM-o%E%hA?'''?@]bD;$NlmL:ug<#-lAB68E<$_#>#x%#Z:5a7"
"VGg<&hHMk+;/?k0'NX>-10#6/a<`O+paq=8qjg?-q^pi'g]+?,<1r88D-X;7Y9M:'Dx=K<V.OF3F`Od='@Ka^Qrir.[7(:<]4B:r@O9D30.6)E<eJM'+iFS77=@^6o8^S%4rw[-wYc'&"
"d@;aYMC]t$JNI%%e[xjKOp@4(]]-b<[VsE*fCo+8F&gb4bM@h(Q^lN'XoSaNA#w2v(1bk'b4Ze4ljm_-4E5&#<X)D+%#jIq55a*.Iq)i,LU<8prZr%%woP=7CrqkLUlj?5)gsWu[kA12"
"nOI1AwRHT(&WI12l+-:AxWJ1CSGT;.@0'X-4]jsBa-X$'[KZ%+&8D<-wx5X&5Hd-<+5TR1*Xha34S^'5P8.s.u_1D$i2Nv/)XED+r%x#%iS:<$MxET%Z#_QCfG19./Wra*l.-D%C3:T%"
".w/)EF0KM'?OGS7_?:T0cJf68pv8aYYo8[5^m'c5ZE(,31(:U%Ng*]%[(JfLS_8E,0.;.3lrv2v.*h5'^x#.4X(s%,v&Zj'C%*.+SY7Z73SRn&x-bZ6lCMn';nwJ3m'/T.IQaI3Nm1*3"
")gsWu:^'Cu::_GuL.Um22LDOBQ^KN(B-Tv-elBFc?GUv-STF:.-0E7'4U*v#Pj?LEFVOjLoluSRdQlr/Su<O'x?a$@XMQ^-sAeP1L8n+<No5]%X<MR'WU*Abc23g9GE2<^4=pB73oKt/"
"=0P,gb=73:h9uPCR?:U%@2.S@FCBG3N8wVB2Juu#tiY.Uk38p%Wo8>,c7'#,):Oi-HOnA#fnCSI^tSJ+8D1@#TDu+D]hlG*f4^>,`pk=$m%bI)WSIh(d,mn&47?c*iP`4'wvEI)ohu$,"
"XvP7&tF31#O^X&#r@^F*VG<E*,XIH)q=K+*TxXv,Y'4]#O&`G)b>,vGQH+x#Y]w)*sGHr%[OhS.r$I`.Y21B#n1fP'_wZ9.I_*9%HIku-uFc_+miaI)rdET'i*rv%YQD58qOH;ff1ei0"
"m])22tv[7pfF]C#o]v20ge].2w<*IN#I>x>[C?Z$(sSu*B[uK1aoNl$apko@DGK7cv)et1G+jT.,g6e2#$&j%*:OA#7V7C#BUeP/RIr8.$F.J3:>`:%ms#E3aI5R*[%-?#^ftJ4sG=2("
"mTUWAML@w/imQZ.4tL99:<''-94aY&vf6C#WL(3S*7k^u-dnO]:cgCTR>Qt*p.7M?>OcY6h>'##`5MY5xt42BT7ho.E8nIq/LFN0:>dB#fV2206oC8(fCC>#q(JP'@)6W.kkG.#*lj1#"
"dIEV?aS+QJ8Q$n&01gp&6NImK7_WU.0.^p&FiE0(qi:7Bdb(.3KlPC/g6)-*=:^vH*320$*B]>#[wo[$k]ZN:`:R]#>X,oJEY/.,G=@A#P&'#,:*,##icYV-T+^[>uvt01Mi9[>Ud:O'"
"EJt]%r0B*#mc1:f*OO;pm.>.31cDs@>[FpLv68B3Ab]t@;De4A9F^#AYU(9(S]0u*hxd<-5%9;-5er=-[)DT.Dn)>35fIT%V=8C#-ZMp%D7#`4aKOA#qV6C#A)WF3/86J*$3Tv-6%60)"
"xFO.)G.,Q'%]&3;kP]A8KKA=-eUD%,otlv,n%0*4EHA(+&$:P:BN;o0iv19/[9'G3N;%W.^VZ+?;+H@$(`ur789t`<;iG>uYo`S&BqLk'q1]e,)YA*G;9fp$Nk$.#XYd$vB.Ro#ZXt&#"
"Jn/h7/q_B#M_[S%BOWP&FEZ90'UqF*DuinSW2$]0s>lB#7%OM0[>ro.r(LS.'W1>$&(b]'Nj1USb$U</=EMk+au_;$Q8Oq0[='j0]Q:v#0xsc<jYPcMW4k70R0^>0e5uT%Q1?A4*EbZ#"
"9lX+*UGm'=t7bI3qIv2AmW<.3%S'B78NkM(_;^,3+Gf`*uK2t-##qkL*04N3[u#gL97%oB6`bA#QZoq7%G6aNf_^F*,;Rv$1Y+b*n=0'+6IIu-Qlw3'IU=31CHa)+K`v]6so-H5d4^^+"
"e4'?+S=.)<-sq;$.6r_$o^wRR:Bb)<>FIW$7q+(=Q[&D6PVaB#7D:[uno4.+4'M-#7'(,))SL;$=g52'fgb&-<f>r'B>0#(E$XT%Nd(Z#=jEp%b+^Q&[:fII]p;I33Qaf&vSWL2:otM("
"k;oO(FX#QSsso[#+4dj<bk#$Ug9jl8?['^u:[Y<#51%wuq6Uf#'o:$#rbHf7MGi?#28W`#A.Q>#;N(v#7ONT%9Ows$;[a5&TbQG$Htoi'3xH8%DXJM'5`1?#;R*9%XF`S%BiLZ#b%E<%"
"BC)?#91%<$*9w7[0i:?#EjUk']0sZ#V/Mk'a$7K#vQP^$^PK58qK+N7RNTGpvq&K1o;T.AY^9D5L&^t@G+,dtSor0c]ar?#lX7B3`x::8Cm'B#J]SfLOm3Q/qh.T%f[%>.@&#=7Co]&R"
"fveU#g6fh#C3E^uVe57ZM;KJ1VV[bu)h)##GN'#vYmYj#)x]E#[4nx:)?p%6NQ_S0)Xdt/2xVB#e_Aq/ZAUB#J[.)*C?aT'7rE'4EkoM'FR,>Y&lEE&r#BN03_0J%Oi#?#fIks%s@3s%"
">a0e$N$Fp%xvL]1@]2C#65aV$8]t]+YsMX)_IL#Zg5D$'#i)h3R$dc2dhq1;_^K`NhU]]$st`A#D@s1-OZXA#_u*m';nLi^AdBa8EgD`NZ/+U0'+XM0*nsbNE-x?#mN-87)o8B31oJe$"
"abW#AGp_l:?IG=7);v23ESY@3DY8*sDocd(kMf--c.N9.gd5$c4*tn%'-jGMqxj.3h=S_#[J7&4HjE.3bH^:%Ba8kjfEvGGC]6<.H@hl8d7Lk+qdc8RK2QA#1oA$,o'd`4xDuE?S>>B,"
"6I$U7jm@8'Q5LV.dw;%,w3uW%:U2L)Wot&+l9N6/M7EX.0(D[,9@m$,M&qv7#]'f)wgNu-c`4-=:.iv#Vf_w,.P'J)i+gB+m4IW.3I8[#?E1^#x;X;$uwTJ)G)G^,:C5a*$),##<1#F#"
"Z[l##Gm)_7h[I?#Cr)T/qY;T%xshk'iTS[#86'/1w`,w-HXel/?7Z$.og_V$#$_q'[+b@#jW?4*08_@#53.)*a>Cv@bW=5pH81K=7A;.jOL`@20@;@KI0/(#=AIw#c`[D*57P^$)ArB#"
"tf)h$m5bu)*&4`-GHaD+,Z^;.*gE&+Y1kWqxCeW.82rP0P+hb*^Po+#nOW4D;?W,)k8DK(t?8@#&HX;$N;>_/:lXi(P/l;-U*LS-kb%T%Bh,>c1d8VQ>H4%,E6=A#=7wo%HI2Z#d.3H$"
"S5rf:+vXN)@.Q>#R.Z$#D/5##XH&x&>EI%'PKliXJa8N,)'eK)Gp6T%WiIpIp#@A4;K,w-iVY&#/Vsp)ci-n7;-S0:Cq^E#R]&*#j+$K3+l1l(F,V#A*2=/(Q'Dd>5?)s@(9F2EL;f3%"
"_sa)+lx1t-gV'3C8>2N9'%a'k<,0g2<[M)+Jb#-3:E,m)Wt:*4l(n%JOGYb+/,wR&3Y<22'g3**8=6(+6x1w,D4=K(CkVg=wF%[-,w3>-ClJfLAoXI#-A###n/vc)5>1PSLdJC+8lQA#"
"sw`f:*=r)+Aww@#+R')3TY`iKC),##/ROE&8TE5&OYqj(xnB/)J9p8S/UIZ#)lbrHxZU?%;3l/(;C*9%Qp=F-'>dA#pU>;-umHENZnPY>M^Tt1aWmF#c7p*#_tV8KCYMs@1S>3pK#$Q/"
"XGg.A*kFHp?;Cs-(wo(<=khv%,m$&4etDp7C8Vv>tRF[,]iei1(d211@x>?,icob4o[eq(8cxh(==50LeYc^,7j0_,(w^m&6<.%%A9Od;-)*=.pcWE*sW8%#9-(,)(pvo@SX##,Ab(58"
"aB/TBSLv+DX_CZ>PqBO*,LgU)5[4Y)YUM@#a#]hC$0111=-e:I7tfx#kB92'G*Jo8r:8u8c73s-loa&H8I,#Ych)sJJ2stIJMIpI$,4m'/T(^#X3(g2]<lj'uNjd*%_$-20a9D5=2`#A"
"f(=3p7CKW5,@qB#*R.Z3SY'Z32j@x*00.h1BFRa$Gq[P/9EsI3(:#p@W*jw$_Aic)SNhc)NIHg)1`7xG^`wDE8i(?#dEmh2^l'i<uAnh2,j+4<O4RX7X>1uu,V#k'AJ2l0=<'E+Ac^QK"
"#<KN2%]`U8;cx5'E%;Z#tJB5S4HNl$A3uf(V.ZC530h*<>6SI#h3<*>1:WP&f(rv-rdxg:>Ah?-:MNo&$dGjB&/5##*<Jt#=p=6#_Kb&#)RaV&<=-c*5@*T%_=uv,Y_eT%`2Q;%p>nS%"
"OXst.oRo*/iV,vGSbe@#CBcY#sNtp%ZW+B&pw4oJ3#jIq&;;$#S[/@#mgDp7Pw,87*C[s0idqG2B>eC#J]u23Dvx6pJdpaj6Snm/BPb>3bxP;$5%9;-3c1p.]141)#eSh==&0i)1nFg$"
"c7^V6%W()3kUEj0.M0+*9X_H#h_u3;SJYD%FG;A=uiBe*4%5H#.K7[uuDu`3aZ,5C`4fN:jmnbuS3'1;P]nNDcUpV%:Ach#Iv<x#w$###'-M(v:q)`#-+V$#MXI%#MVIw/p44q&M;@L("
"S1vY#9I/2'Ax1?#mINBojr1?#X(AjKG6B:%mw4>%IlVM06([8%DI-E3]%K'+IoIJ5NvTB#(4,#Y#;OI)$^[**m)$7&mDc#'B1i;$6Xfi'Mt/E%pes)#RNTGpZGYH3&[)22S7C.3XU=[4"
"eblO(_80*s<%Q;pX_wpcggW#AZ48u*8rAH;vN@&cDrq0ce%Di2eKT#Agk_a4Ze(a40t.i).i5g)=LA['/&s20j]M</jc9K,NkB3D4wxXuW7ZisC,6*IQUv1^4enO]cIuF#t6`OoF6n0#"
"AtM##ZF+m#?Ax-#u,_'#4dZ(#PxnlNX[Am&hIx1(X^v)4PVNs%Mf`_&V6N?#gl=;-R0QL2dc`8&8]mA#xVDs%8Lx<('9;d4ZXr<1cnRfCm*T*#[$@>#Q3=&#.FPuY9)2m9%88`#^?[*N"
";$t[#P'ic)wSA:/q9.P(?boA(J6=X$J6J],ci-n7I$J0:r_P[?P5PdNcj+^&@JP?#/wC_$$kP+#&>cI342v>35QJ=7=jaI3v-MkLx<8B3<[ZElP5t>34s6OA1Maf1m_-9(Sc3@5nl^t@"
"&Q*'8)UbA#hS^G3x3w;-V&D]$V+`)?%XiH*9Ze)*hA@d)$I;BmRe.m,Jqi?#A`E<%[=8C#B5OQ',+,d3+Rs?#f,/J3oaaP2d.T^+NhRK#c+1R/p_?n(EW_G)eqcR0*^]u60h#u.J<,]#"
"m?2D+:p_,2@S>29GsvA#3tfb<6GJ0(%O3W$tNWU._jPR&YK7A.bH-0$ikw%-*Ns-Mi[Q3L$),##q2/X#wp=6#9s2_7nYY>#&rRxGk`:GD[JNe)o/67&oh5(+#RZc*D2bqI(64L#XX)r7"
"n>GB&MFM$#G6)S&5l,k%01-87-F>n0?1Lm(I?%12uZC3p<T2K1;/m/A'/(i2eN^#AHCG)Qd6&f$e?lD#V$GT%STet)mM%$.b+k8&)g+03&wbfQZ/^ekhSev.[ppq%?WhM:ifat8WhZY#"
"?v<M9rXZxk^O18.6uET.ik[@##j*I)s:o%#Y1P;-4xhv#^p>n&R*ow#T<idM-%9:)D/WV6Ipu2v?XIn&ue:(OBcqK:?Ol`N`T-87(Sq>708(>_/EpIAsZgGpvE)i2?P?u-E[)dMK+@%H"
"[$HK)/,d8/xuJqhw0qb*uT?N02-k2<foU*+Zg.iLlLo0%&?X;$qfxf9Khp#n-k7xckum_#ME7M9-9(>c*5nx4X<%6(QNG3'>*va*.I7G;*-/b.kCwn7V[`$#T?\?N'G-GW%1.7m/p9Mk'"
"G#jIqBW>hLM^Rk]C[,F%Q?D-&blVvH#@9R3fI8R3)@9R3=dUq%>.EI+41v<-=wjnLePV-2@khn'#V^f3r$0$.wK./M@n(-M^5+/Mba>59Pj`a-jbLk+Xu@<(]hr$#o'@IMsN%.MMXPgL"
"FZTO9Za+B&BU<8p@k>n0El$-1f^+5p8INR%Ggx0#p,d)M8f*F3Fo[E+.ARL2%0ki0o%ReO9UkD#YUsW-Bf$DIx&Voe9S/c&PvvE3au6p8cVU+4*5]W8%]9Cu#f)WB</2L1VQi.&Hh4P0"
"0Ks<@$XsU@G:6SD4nG+#%/5##H.,b#VG%%#a>$(#rC&d+Je70:SiZ92=`*#-@?=_/J`dS/sPYS/usQL2F[hr&,s/m&wmJ$?#]4e<GEA+.;6]0:i9$i(XULx7M.l5p6tO;pO0Rh(mvb5/"
"f#2F33%,38O-*YJ=+lo7nc$C#C]R_#xH:a#ae_F*sOfK1,NNW%Z*KQ&ij<_55SS(QxB/v7Y$l=AGjvB$rhCrQ<5:<-KW&$&97uGM0L@5)@$sxFRO^]+lP'>GI'hd%bO6?#3>WP&),p+D"
"GYH-+Ob>/(x,>]#fg=vGp-^I$2u$W$Gu3#HRB)$Y`<QoJ;k5sI)_?W&GQ>3'I&O9'Wl&*#&$d89dXUKa^f9Z3prmZc%CO;pp$]#A(l8B3dY-F%oK0#$9in$$V6;hL[GsI36jo%Fev^#$"
"k8Ea*=egT%goj*3]>c*Eq&.12v?rj<,(3X0tVb3ixSdN'R#q3:nLKG3MiPg)3.vu/vSh?7(n`W#%p^c;fTM1FJ)mi0%&,Yu%uJG3p7.`,[lln%S),##2,>>#dG%%#boUY7gG/^+$lfjK"
"a#/[Y;'ReMTLM$#;,6t$&w+Y$^N-87RF/j-t8Z<8a/6/(pd4CusZtaeR7JC#=-UT%R/NF3>HF:.9EsI3CCI>#/hn],^N5R&w['G3XA<)A;AhPB@FrV$*6rC$3`n(WK3;d9Rj$.M=,7##"
"55YY#5o=6#eQk&#X$.,.v$li(,'0I$8sE&+&pM8&ei%p&VQ4&#oFxfLYP3^.kKe],WHoW$s&'J)F`U;$EYC;$glf'+rrE**p/m3'`GNe)bpY3'q]E**,juvGhS;4'te^F*vwk=$f`@L("
"GYQ8/@HgB/]>CB#mWgi'LU)Z#m<Vd*m6ihLChFqIux[h(@m39'bRP^$Tcs)#iGNfLK3-@5PDI12RB(E#q*f#AMw^t@?M<'M2-;hL8b8B3K>_3(rq)f$0/%D(#/u0#j_r?#1Sa0(^5M9."
"tb/X%L<M_&@r&u(-3Dk'vI=F3W4GH37)aF3x?.J3O(sU%5o0N(Vn^;.rmbU%=KPA#qkI402.w6/O@[R/1RSO0)vaK,SASE-Ow[K#<u9N(=@C^#.N`w.>FMgMVRWO:8b0_uTcme2I4vJ,"
"-Rr]53RJM'aLtFrWbDM0hlMG)w%>B#*=a=l4dRc;9#jIq@vLb%pte@#<WmJ(VE=6/5`@$$NC8m(+H5O0e]I1(Qs5n&xKJj0c-ai0h$TQ&h-BQ&Z9pg1&Aem0%IN-$d7;v#%&ffLD.o:/"
"w#K7/%ZC$'po<**1[F:*8t-+NQF*2*d%$l9Tt<x#,s?e2KJKj2wx<q2#]RC#+;TY,VWvj`O=@@-i,6P09gkC/ter<1k89Q(Qv>R&_Mkt&pw(C$O1Ow729CW-&[)22)Qcu@1,S4(TS6/("
"=7q23@+sZcvS(9(jb:b(<Mq0#EH:aP8Q[EN,WQE&EwdENn;H#c>@%&c4x-208Yfo@?-#6)GKY,Og6+g$s*9T%X=8C#S>eA4OVfL(gQj4BWNCeV_Utp@H$[682wFF++uvX7i8-f;PItG4"
"+C7#6PmfY#@CC,--*qtB$%2J3X=]4CgDL3M:]Mg*-OKT%Ip$A6#FhW;rw%##xooXuq1t7[UOdl/hj+QC+j9PSK3uJ(8@%@#A%`V$_2,f$5ll>#RJMiK]5VO'HKuN'oV@l'Y?1t%qM9#&"
"IX;?#GqN*I'=a[#l/>;-&9^[#T.aP0U#Hj'%6P]#,f60Di98n/8Onx,*XL.;kJYF%DU<8p+B0u0qfeAcimtgh.aGY3pSM0A;lj;cq8Bk(aPZXN*.F2KVnko@7//(#c=]f$4`iI;^.%L*"
"=uR34^?ti0:,@+32@NZuQoQ['v+Z++Et+A-)M**6:3*J)cin*=qbk4:PiI=+>;Ui)Oh;x5srru$6]#k2QREc+H;'Y&:8EW/%`)$#Zd5A4vP358(Xgc)W$Jd+N)%L(7Qo2)3'f##bd0'#"
"DY6`abApZ#C=`$#mBB1A-M]s0#dS*k1lWL23,m]#)in$$NwugLaYkv6/k^f2q#NCXx.55pnPNCX:N_^#((ql8kh4_AVl68%#d$?.9#juLJx8s$=/_J$7L<T%m[@#>pqQv#xlciT2Pc##"
"]:+gL/9Q@3;RK4(Z=vTM3^^.AL.S=+Zg<'M:xAgLTq_:%rE^:%5e]S2<Dn-$IYnGV9`LlLRevu#o2@87$0WYPQ=Ep'^8#;H:j4;-Ad1kD(8>##53u2vaw[g(Upd<(]/D_&sVjhL0PR7&"
"2:E5&W&^>#c<9/(-_#F#/#jIq]qHx-46.iLBd%<&@GV)+m;Ke$67x+26FKEk.8S*1jt>H#[PE12ui>3(%sTCke3I0McC]o@[lrB#J`5J*bh6,vZ,E.3osHd&dR'iU$:q%52)Gc4)'@P1"
".+)%,+@?$$*<e.<O5nh2J8T;-kP+b$R####IQ0^#uN7)$Pf1$#^:9K/';$7++9%.M73^P'LX'l'+qs@#VF;mL$E5p%gPdn&P'DF*N?_u$0dL*k*>[026])F3vZ2'cu(rZ^(g$XUY.dW*"
"f50i))#Cx,4?k-$'mp-$GeR=-<d4uuRG4)+>5h.$4sBmL4B6##E^BK-LMVa/N8YX7TBgm&>.FW7V5r0(4<&(%5v-['&uAF+.GQJ(c+?F+_]oD(2pJbOu%Ia.7MX>-55T;-(E:D.>6f],"
"?IAqDe)sx+6j#W@XRZ-vF`3m75.8A#dQ_`3*ORa+S^4A#47hl8w*A]#BfUS.],W&+<fq@#qxUg*a#p@#W(vI_FK9K:De[S%fD&i+6h_IM@9Tx#G'g'/P^wU7R[(8I[wff+T_maRx%S2+"
"8K.P+YHEMKsY.M+b`Zr%RY<J/]P8h(&`?q7U4OcOLWT]#;E,i*ZRn`*P>hIMB?^x#I<DZ%6eq>IQ#A*1,V<K+;1=K+:))d*obsJ1tw)1f^>(,+kbW#AUbBL,L]d--HPLs-`AbB>3Q)s@"
"F?#V.lH3Q/d^Z.%>ptGXc5t)BS77dXfQXP&V@S0#*a<W8KW+g7#C9A#><[+NZlcv5Je70:u<=Q+a*/A#R%;4+6;kP&ss=]#]IcrH?OvU7=2Kq'u#5]#x9_k+-<'A#]Ci4+Yh%A#YL*VR"
"[:2<-gBQm'g[Na,RSFm+E=7H++`Q/A=1=K+VE'l'ru-(k9Pfb==YkA#.*vT%-27ZA^QPS/:bH,*6?Uf`Jfh8.Hd5V1OF3:.R3,'#%V<T%;EPP&Wo8>,O89N)ifH]O@$R5+nQ&A#;_))+"
"C=Bq)2G#i7xx<N.Ee`oAir2T%L*VmA@9]],unPc*i76O,.=>PKDE,#$BCx(<92EJ2GUsE,Xww+2_H?t@Qr4)k)WWLMv<].2jCxX+N(vE+0mYF%XFK@c(30I$(rUkL;kHL/%F$`4x+&cP"
"@=9Y,#HASJ5=S$dM8oP1/05##=F5F#v<*jLK;9Z-O%e&-YArK(n$a`+4fju5=5>;$;rZS%.`Da,<#u?#L;+/Mh<'X%s=02Lvf8>,4hER2s<0te6mtgh>QHV+qpa#A`S>h2*0qB#$3Tv-"
"Jc7C#]ag8.L]B.*9U:a3a#G:.9+oJ(,Joh($sNe)a2$;%s22e2f4lu#`/))+QkET%j+oH)0D2C&vG59%Lfa_7,pZo@uXFA+7k%v#Wni,+Of?K#J'dN#N;@l't#fY#+AP##>C<h#w'Dte"
"XE7re,r[=+dAY[$;q7t@4k_a4Q%Yu)t?wF6Tn@>#H7SA4wa4AbN,``59./w#1u$W$6LaP&.`1?#kc68%4r-W$`GB_/,jK##B;Q/A#G+F3+r+@5EC.q.4Tctexx/$p4*EF**$4Q/,E-8A"
"ei3Ab*Dw]68RuF@.Cf),WNP6Wirhv#iiES751Is$h:L>#1W'f$rmhV$2%EpL*_i].qaj>3Gx3;0Op$6)k/5J*DT,L>YBooRpGCm/&8YuugjDW#ePv265(V$#D`A`7gV^>#Kfoi'MhQg#"
"Tu+v,<$#3'2`9(#$i2&+2G#i7XEo0:WL@8%e`Ys-r0lgLAlH>#a-7A,JuCv#:1wK#?*&nj*,n0fXE7ree#0.Nn&S.2lQ].2[:Im/a#)1fcxgt@bEtJ-s,k;Mb7<F&bb8`&f[ZT1%o8NM"
"2u919>1q#$o1WmK[QPp'g(fRBs=a0$+:5##7lcY#;a7JCg<h-M%<$(+n8+$MPf7iL#>Y9%0>>##)8G>#')+**c7Cp$Z:`$#cQGO-nU^$Mb,A8%#5LCOG-QDO#4VS.'0V^@/nU]ue15)%"
"YWZxKIP,eTl_e^$+H9N)dSh%OC6n5+2[]W8v0Jr8u,uB,]Oo0:m>dY#g'sK::W>:.6N]s0n83</#F$`4Q.;.ND*Y_N3^_V,#HASJ+*KlkF&7KEOFQ:v$'&##B-D<&W]'<JE:_B#`*hv%"
"IO35&189^$B/$;HMnr-*tLC5/KF$##Y.f+M.>v]J.8An76QniL1E$_#7QdF#US/r07a/f34b+/(CLFVdWQNP/(dh6#fl*i],[lb#3TZk]6fYs-Q_GjLe;$$$9[Rc;G*bp%^atc%RH=GM"
"?]g^%P;eS%rF5[,5VWP*1#jIq:aBb.mKJd+Z_#j'V3Yj'27Z(+iHo<$a8C;.$1m3'?q^h(<+Tm*dmu/*L>jmJw-K*#an8B3(.pJptpcn0K`u=Ap=`#ATg<3p0&=3p^dW#AZ9bi0,g]E["
"2)M,;rQr9/vBo8%60x9.]BF:.wG;]$6^?VdC=Zk2`98w#/uX<64x0A.Ox*Be;rL3&FeLN(0dV^-Q)FF5>@ec;S=)F5oWB<$3U52B8c94$QfO;-<,Wp9Ip_1pHwD5/NK*##fEVuPP*=SI"
"qeRE+5MG##&g68%4ud87_.N%vm2Mc#huTB#0cYY,6;X^(GAq1_/N2-&AIAF,0jrS]+<e[%ibJW7=_Rc;_p/I$4<CY$u<e9.Z,,b+PrLEMVr:T.3BS$#qV>W-1^q05Dl8m*.w>X7:ORc;"
"jC.T%0wh_$p>9I$_#&Z$$fmM(Z>F[$2#1rI1t9R+Ydf%#jkbk1LIM$#EeTU%=_7G;X@Cq7$2,F%kXb'AgQ&Wn2ZRc;-1Yn*)g7F%ZF0l'kc+39Tf'[/'FN$#d>a4'?iW>-U0-F%>,2E,"
"SUk>-j0k*.Ym@.Mval&#T:K&#G/J'#)%Hp0,C>n0fIg;-SulW-h1/@'ga@k(,CO;pa=S+MSHViLR6`3((Gw-3%($@5q/4k%`_j.+t>NSAE>FQ'ch5g),9)=%#q[>#e+tJ>PKJ]Ij7iH4"
"'A^+*BgjF=/Ym>#%#BQ$_^+J4A<A(+#hk4:GO]2N_G+(A(-`0(FBi^+_TSi3F&s]7i8_a<OT^6&d'tM073/X#88[o#[`Lu79db&#k]e#MW.L0MKd-ipDJ=;-tLC5/-Ci9.Y.f+Ma2w*-"
"F)>>#wm,D-YjEB-in@n22u_vud2&t#M5=&#S;a_7,XYlr.jOJ*26AL(4C]A#f.#C-j]G;-,xUw,Tkuh2.bKW?Ck86&_j,018NXe)OY(3(Xa=P9C=Lq7:]EQ7OkY=?OE?O(lZ4N3A=Y@5"
"dl^t@6:^W/nSRL2=x:H#]=@8%cb2Q/-NYx6:H7g)a&Z@-kIsM0uNQd3K#.Q0NB[-D*p:Z>T(bP$-?T30L)OV&AKX%,$YAu(>6_`3R,=Y9.LkB#C4Qi;F:qj(NM_r.lA)^#lIe1@TghY."
"u1l/:@$ApQ]7MulYqs(,.ILd05:&[#gVX>#][-lLKXZY#tKZ@t1(;-v#TT%#6bB]7Bc0g,*p6xGl%+I)fxAb,fDgY,t7t**DVwQ0%tGk'qTDE.Z-3r7vMo68`UQN9MP`;7M'nT-J[=<8"
"oVFg0j:)Fp0&=3p/^qx=kVkQ';]d8/8ctM(U#uV$vf,x6rbwanuBo8%b.g^#xI-k(^>ZwghT+FB+/39BZ`NvN1MOl]]p3+HI;xB#q1fl#$JSX#HSovLv5pQ00(W?#m2At#%),##55YY#"
",E-k%X9#;Hu#G[&_2(v']i$xGk9s?#oYr.Lteuc*mZ[x,N.V$#2=Hc*So]>,QI<T%L:eS%2jh8)ltYY>]1`[#=e1,)5F9rIO*[r7x>S68Q)V&v_cU#A*rf#ALPFgL3V`5MX5E6.qSjl8"
"Ns*B,[M8f37#UW-qKg/j6T9g42$ed=&3k;-Jr[j%xM6gfnZB<$4X52BtS_m/<P[`W$6^f1HGxn$u-%V7-0L^uO7``+;-mF#c?(HkNCr*%#m$:27p_w*]v#r.(*mF#HIW:2Ysw_sETHGM"
"1RWulQK`#$$K:>9>gM<%_gf=-][Ar.Z:=Q/%-M(v)HFe#9h1$#c%JV%V2D?#J=9#YQ=UJ#%9HQ8>fk58X?vo7aW^5/;v.E#E9l)M@X,@5LuXL2]_Ga3_kY)4)^_c;hFQd#xBVk#3p+R_"
"EI8$2-5YY#m+um#^Qk&#Ple+MW&6u#p42X-M;2x'?Lj`<./k--A+KfLC=HY>cQx4pl5=]$6mw8'JTouG,L%?#;,p&$9/i>7BY$63L9JC#8*x9.xa;su]gv1^B#PwL#JZY#(m?-d<+/C&"
"nmW$#uBk[73'cY'cci[>a=r[#pZ/&&NN]uGR#6r%F&w)*gI>c*kFjqIpAfQ8Sibp7HM['AXwD,3<rIN0f#2F3[g*u@`FT-Mfl4j)tf5x6:*vM(k_Y)4<IR8%txm_@EAm++^OK`N^R<%k"
"qPL11CvMP_MK0DPinrFupo.e_S[e,Ok#x`#E.Ar%o7X&#5-Wm.>>uu#%l:g%V+ul&(wq@1B8_A#S$P#H2.-(+K_T:)Xl*.)-W'J)5P#of,cX3+1n'7+^q%A#=*xT.qVQ3'fo94LW#q]#"
"gh431fkd5/S].U/@lDJ16>7U/9@7W$4%rr$Z=CG)ci,]k_/92#sD]5#OPB>##.+;LfMZ^#+E.^1*#_$-2F4K1Fs*61#%(*#1[*q.:uWa,#?#3)j?es&[@P^$91TZ$WLe8.bi,f*=E<D#"
"q*f#A$oA0AS7V#AWLKk0(#ZXN$@9$c<))d*@LHv5YLS.2v#Ki%+711hujX`(BTdf(l2>-$:59Y3lk<d*j*t63,svMN)`><-q>jJ38Yfo@^Wm$$I82#$:$nO($F.J3c1i;-TX%u-@6;hL"
"U[eI.Fq>A4o(j99X%lX6-Z+s@cv0$7`3s49Prwo/q*BH+9F66:b8Ja-j0gd+7Ov2;_],D.FYk%.4TxF>(aZ_ui8n+>V=G&>l:8W.rS$R2RNRP;KqbQ#/Ym'?CY%4C27A>#2W)fqJ7axb"
"'Nd7e-6te-N<S@#OXYfCbQ^n)aj<VA#wj(56T_u$0XRc;p=21_ja)9'DoQL*uei$#/nvwH.@n6%.oj4qDK;k':$nxYKhfN0NxD50:6RB5CDIj4oDtjL#8Um(RpVU0U/wW%Rg;:0M;2q%"
"E#p6*uLXh(ObIb%Pj*'(;:%6/4ES$#iX_-M>]GW-DG)3*fH26pJXrkL36@k(%Rbs>'x<^c2Pv-1>22'MQZmH3D_i=-],$`%1q2lE_Mtv61+`a*^ESa*[,kZ5NE6p8cNY[7<p0x,sFU@6"
"fli]73Oo`,`e?c*9[cU%')ZoRDr)=.Z1k4'@XGn&^:i69?[&5)]St?6YkD13gA@h(:ue/(dUer8R+bS&]qH6%.C^fLCG.,)e:V,OBjp1T=<)D'gnd?#HibrH,CFi$SMIh(Z<XX$<@nS%"
"tu?dDah6H)=t]m&$Quv,7UY#Y9mT@#XX7l)j;;v#T'=Y)h&/68q'r7[]:L<-m_mE5g:=q&9hJm&@wjT%[?vo7GJPU.jic/$r%jfL9DO*$jqf&$UR0)3Mj^#$<%Z>#/M(v#O$-876S$1#"
"'iW#Ad6K=7^8bI3Foj#A%+wGG^#7/(,x'HGvFV;p5?Zw&U#Xx2QIe8.o;6N30t9T%<o0N(>g1Z>jlFmDk3PXAei.q9bg#]#bY5A4Fa3736qL>,^N_pCM4x59a`aJMu;e&mA+EJUuwNW]"
"il@D*F-Ka<YlHXHWGSj0&6YY#L+um#h8q'#$),##)Zxt#Ho=6#sBk[71+3?#R)'##5/5##axhwG8k,T%h``7&hciS&ND3**]ZlqI[na_&bvPM9_YdpI^0-87aT'B7=kTO.-7q23d6]j("
",CO;pEp%B#Js'weSFKK/nsN;$<3J0:nL+6B)SMiDZ0h3:>WF&>WdE3k)9MfLc&1*#%a&KMem.79ioPGEWB.m0mCR^5=eYlf9_^EevI-3)3(8qLpgd##dxcIDwI]X%/-XW$NxKf%XE258"
"72fo7#O$HOQF1*s#s2M-`cKK-FuhP/@BDduEgv1^D`JAuff&-85+*Z6or7_Ao3skF5'OkFR:ow'VS###k@6L--L*b.1a+u#qH0b%,[<ig'B_j#vgi%,8Xv(+=brw,.VX.)4Y@xGw4OI)"
"%PX.)RSC@#=LxxGXI.%#4QcA#XV[rQ4/oH#rF<L#J-il8'B+v#cH-)*-Y(?#^-e=-VpGB#/j>;-mba^#HSH8/D096&[uJ&4mJ0s7[ejL#J]Fv,,&Vg*;tYN'>Av6Uh:$=7BR-@5g-h-%"
"Z.-u@+wN2(IV0gL'b^a@5'`5KVnko@[P4T@a[Hh,N(*'MHTRx2,Qa#/$3Tv-1?C5M(sH'78Oo$$G&QA#[+]]4iiY>#(%F$6/fUB+calJ(2q`[,HY/5'l0<H4/0F/DIw#C-UuTk1PAj*="
"4urV$.H@`$)T>S/?L1VMPXQoh<2lwE%RsiF#)>>#_>uu#2:dr#D_x5#O1/I*3YfiBHo<)*_*%##95pc$gtG'H.2-A#RMjP&a@,3'Yqmc$#'hp7t5^S%:&^a#:/i>7moW>nKCwX$HXs&3"
"hanO(X$vM(B-k-$eHO*?+[;LB&Dlg=oDhB:0P:_Ap$<kFFH2_Ai&^%#=[Qq&it:k'*JWP*a0pi'aJjE*(L2D+-fi&J(@W[#.6@.Mn%*4'w5J68dKsKG,R-@5leW#As^TfL$@*22sS(9("
"eH+W-E]nvA5h9a#c<ta%Es;O'BO=j1AYDD31l&<7]8ZW.aJ;<BT&)L;/RenA&']<7h@V;$65EPApveY#AaJs7[(/AMB:$##(O2ktH3Ee7v@j`%Jt3t$ViS2'O4:/#V)^^FCgiD'^G_?'"
"kqojKfSGw#b@PF'E'02'iM^:'>&OA'YHYF'R+&?5XOI2LcC<@'YU/2'Yd7/M37ZF'X*1dM^=_:'>=-tL4cFO1ZE/E%?Bko7_j`p70x@*n5M=3p6XuGGZos>A,]rSA`bi[YMYu'&tm8<-"
".0WQ.5tF;$M2NpB@xD+V&>uF;wX15/%-M(vt1N'M*NW$#[Tsr&5;ugLx-`&M:20<$/.wS%]wWEabdBV(&kNPAg+kM(0@#j'HeAQ&k8^m'j0%w%[[pA#KvYD/qJ?B3dgb5M?LXX]MP<3p"
"Hf%l:UWtKPXax9.=Q'g-JWYFR6Hwbr415##/m=u#Jt;d%q<Sc;],ZrHaYaa*[5V8(i#,v,At/U%T:eS%IXET%_C1s-/P&nJW_R8%Xpm),>)K*#MowMDETbA#C?:eQ2&U-3-uXL20lh8."
"koXjLTr6g)a&Z@-Wxgd'R,S;Wp%*X0W[WI)G&su52R;J<LRQK)TxmS/H<cfikPw5&#`8+uW8f%<aO$$$tKZ@t_7u^]pva$#hQk&#W(]w-x1WS(VtU/#+DRxG1_@>#$GY(+qNI5/pgBB#"
"5Ekd$YYg886&Pr7e,ue;UlkA#qK-*&W'<$^2&Lw^:%8-*Nr-x6iO`e;2q]G3uHSa463(B#.N4,%P'wG*9Xo@-9pj/%>(&40)l%iDF#s?N_f0m&E$(h;Mc0^#AkE//g<,+#LUkKjVjk&#"
"N-4&#kPH&#r$6r%PW,Z>4^8U'FE,N'r:3s%'d..)3V6H+o]Y/:3d]mC,Iq`$S)4dMo_'t'nF3IR=hI6B`xK.Mb:+<'_k-##0<Jt#s#%8#,-Rn7:wFB#X.v+D]qm,$V2?7&$3.)*WIF@#"
"JI;<)%T,40mrZtHHxc)%khSW7BbRc;g'ugLRcbAY@GjS&fVM8&a?/30@#jIq<*mN'S]k`+RVkqI%+AX)RZbX$?,L<-F;fY-:rmq;i[AW77_Rc;(W,<idHj$#x3Ee-(D#jL3D'nJ&/uNF"
"6:1hLvRba*2NE=&i8YW-=P44iTNQ-37AEg1P4_t@A[7B36mtghZTZO:xIem0)eW#AbCOk+PFT?R]6;GD_dsv6^pH)4#2E;?vm2a,3U>12ek6U0#8+<%As?>8_Wl]-K]ET#_[$^5_$$lT"
"(JH<.Fc'G=_au]-.(jk&W/5##pKo9$buq7#l8q'#OVW<-hJI?-5ORc;BGA,MR.&h(amvS79*,d2;Xi3_->fv%V$T'-`:f_#A18XK)Y>W-3DNq2S1X5*@AQt11g*I)-[.>2%tGk'D)BQ("
"/^(%0ln]W7V%)$#ggGB&U8B9&:_Rc;rwc/MBM(3(Z-?s.f$=K&m$e#MYb$29dj>n0Ch?-NPrKm(%QXW#Zq&D35nhkL:CZs0#@).-U7JC#rg'&=@-9k1+[1N(F$nO(=pl`<>+oP'p8[`,"
"Lv[c7S#G.3oA)?7x3v@$v(fpU#:,MEBjBt:S1Eq21aD'>^1'`ae$<xkTRUX/j(23:c[mE7Br7Y.J($p.E/QM'-eGcM]hEl,F)w)*&^c_+K<`$Y+DWC#28m`IF;em0XXRc;Z7Bh(YwtB#"
"XQ.th.1T$$cw+#HiqN%bN#/h(f0F#-p.CW-KO8X1SAIpI+:i<-t^ns&&/70#IGB*#,<vJpBR-@5QFhI3#dJ#5IxO12iN]s0xNO;peN3*sqc5x2g';H#B%s^31vQJ(Fc7C#G,m]#*o0N("
"a%NT/pb/T%MPo$$xH:a#HN+698sHZAYkc3'E,RI2OE*4BiIVD+^hS60,Ff01O+(F*pl;P0L&,,DSnxU/WXaV$&-5>>4+7W$1`ri'*UvU7[OFT/pO[j)cLr69iQ=f4?####NXii00/H`a"
"R57)*O<#=(;Z8##WH]t#M]l##'pm(#@Rbc>]Yq)/I(D@#I#EA+hp;$Y-,lS1>OTJ1;BGP5#PwI.Y3+B#@U/:(A>#j'eHA[#kjW(Y8B8cNYuwo%ssF]#Ab2(?f66t/54&`&%Ad03P^KBJ"
"N/v2A&d`#Ax*@H#_Wx*%_.>.3l%AU)sZ)22c./(#<7ho@1Lf;-a^_=%N.@x6HZU&$-.Jw#<o(v#%DoT%#B[s$Nhk`=I)8/,>,<p9=1@(+ROKg+>G8P'_15_+BOC3EFbC&5#fWx-FqhA5"
"01sk)a,c;+wxZm3.9=e3;6t&?/c3:'5x$W$)?oY#<[sP&WPRF2Ov5B,6]rv--a_V.q5:'#w^l'vq+Pu#H.`$##jd(#]'%^$1Yv5/>_%.*0@8b428o9&s)aC#3`K73oF[C#YYPn%5Z/5("
"9##^YrD9cNv1CGN0WpV.JBXV$@,9)=.v&7pKOru&d/6/(J[P4(OOq0#p8C0APDRL2tcMg4T)ehE(fR_#d6i.3a.ep.>,d8/_*wU7tl$HDOKOA#]q.[#]d:%,M1#)4E-bU.C@GuBJtU/)"
"WM5++0*[3BR]CA,:::-<vD:?-=>_s7peeY#Aa6H)C34Y-6qU?%-7-c*U+2Z#&u[=c1jj@ten$X-8q;E4]>4,4qKmm'$),##/OC&4kZl##._;V7=f(?#Vf'/%MhdJ:oYO(?<q1N($'lA#"
"Oi?H#v-lmuB&<:/5e+/(nx%,M2Wsp'=/);?vtKjKk@8jKCE+l9V%Ix#'9K*%bUojKQ_r?#WmCk'UG<&+eEx@#09o##nKsg:h4pEN]9-87(l>8pddCp9%;'YAbC_13LuXL2$OU&$kf*F3"
"]L3]-<[CN(_IR8%_IwS/?DG>#lYFcu5g$8R7PUg(/AGO2[;gA8+IlnQWT:AFiC@a?M####VKBD3i/W%tR57)*SH#=(siIfL-Kh1paf&NTEJBT7)e?W.MMUJ)70lJ.&ca;I/4`)+'8>nK"
"<U.%#H#i0(VkfQ0hSRc&t9R?##15kKK<bX$wG-a3$o[h$j_q>#60iN(;0Cr*d4+.)Cv'J)_*Mx5fU7m,4aTA#'f,.#H05##:]rp/Bp^n/+Q[h(@<Zk'w)>]#Jq9O1RhBb,gWSn/R0v?."
"=]Rh*0^>R(x^*=&_msH==Fa;7rJg@@RakA#q*f#AGtF12%lMJ(cc45(n8&#c,#mZcx),u@(xaI$=$Ra$BD2d*M[DhC2mVq2Zcm92FJvXNFWb=A#f]1(<5$NNY$'YA'C6x%^kY)4)_KT%"
"&2%`,NvrI3Y+]]4=-1+3sp8],CA_i)ip^%6?kK/+;5Ui)j,?]6']5`4^2,.D>6/^?h[?jLDTo(6/99A,xla[.cZ+'6Ce'G)c)@_-w(Nt8/(a>7jeoEF&c:G:jV$##P_%/1'9o._qJ6A4"
"l,h6#R[Fl77RRc;YJ`O'os$d)NTG7&50u2vo8S?#rY>W-?E/L,:+&$$=(Z>#(sOc4tkdj9H/jA+^%f?#E5]i26g[-)`[eS%C0WW-mw^A#v5DG);m21(Z:*eNP[P+#-:c3NPE*K=*Zft@"
"vFu23nt+@5gxgt@4H9t@2HK/)u,p8._Aic)$Q_20WQCD3J29f3iJ`C=Vp$HDC0Tv-b_2Q/gnva1/uP2(>j(h1x5.C7]Ni0(2Og;8LKe0)^DDR/8O7=-LQ>O0.H2K(S?qK2qjEU.fsT7/"
"iNpM'3gn6:@Q@%%M,,',Sq7g:n0dc*m2hq%@I@<$3]WT%)####lc[h%4^hV$>*GJ(s%c)55IS](9$R'OX)7L(bY?w'FCdY#?)4>))&tl&iO]jK40_-Va2g.$AY0)E<*cJ(vWw<&wjat&"
"*m/h7pBW6LH12w&J:BA=qwBr&,l&m&mVkf:<Y1E%LjSKuc$a<727l'&`80*sOGw-3;t6OA(8C.3>)Um2s:uCHO&am$VtiV$,hZ6:+:S%@do7q9JJP>u%#(D/5aG=0bn,]O#[K$Aw:'DN"
"GrEs#,Er*Mu#Wv#`Yj*%G^ST&Ed6)*>IbX])@,gL_fK%#gv&'5(?OZ#.oO/)U2QR&1^%I)mvUG)B4q&=+VFf*wRPFNCnn/_/#='(fY8ENiQ-87@0G=](,WO'2C^g%IA2]-Ft>N047nS%"
"i[_W-w^d6'XiWk'9DG>#A+Jf_$`=R:rZ_o0GaN=&Nq(^>6+wjLV=uZM*&1*#@V]vLQ't^.P2i2;RHNP(F^s]+Vsq0((U2D+0pWA+)hR0#,K_^#I?=#-en26/]v<N9LK#r%1VG##[Qk&#"
".;###$`:p.:%wh:,J$L:XLGS73T]._@?k),hW_*#25o?79s'[#Uk&@'LXHH-CL7K:j]tf:t]Ps-0?PrLwO$53o-Y`3VD:IpQ2#:Ao8V#AvGG@3o?@7f6ADX-Gi=X(m/41)]7q8.$F.J3"
"LH:T%Ya[D*GkRP/_=q8.hj;H&6W.d#HtN9%'1',5(Hn]>HwWT%9PQ5&;oR60U&kX&GPiB##^h4?F07:Mk0v/IkJd@6F]_e6n:P*-?QHi*ASL)?]sK-%Ms=u#6f1$#uXOs%.lBmUi1=D'"
"pm(v#YngYYl&'i#'U@K:@5`P-<;`P-cXQ&%xMO^?i>RL2k_j=.Jl*F3)vsI3nnR8q*^(p.P1mS%/*8i:;.U^#PX@%#<APG-0Uh`.?doW7Xqvx/RhDZ#;6$,&9xX(.>/+4O`osY$WMCs-"
"jm/O9cK-jqsq?H#6c.N%'RVd<1IPA+ps1_Aja&e48M:[M(+TNME(2hLq[L[MMM^k1A9)0()G(v#cvc>#[7Pv,9:es$$I5F#OO?J:wK8%bJmtghi<P0Ar20dc^RTfLqVfV1nJ:RY4xjS%"
"c(pE#V]'O=L)>>#kt]E#:I=gL@H;pLXF?##daTb%&=uS%BT_c)D4e.Up9f$Z/1&A(sIw<(Hs:t.3'&.*DQUv$h1S1(WOoSSx-`Y#'cp?,j$fS%'X_U&/lB%tR$k$#diq>#4PA]$u9(o*"
"K@-<2wVCC#0J@40W[I2Tek^DNnG^)O`Av#$.o7W.@J%1*B/i>72.Ev@);v23I4s*%bYS-34s6OAS=2jj.Hr/c4p1d*$]#<-bHD=-TWRq$3N;O'mnS&$h=S_#__Y)4j)R^4%Ue+4;31#$"
"]q.[#c_bc3Yo%n9;va]+<k-@'LDMMDt9-I<[W-d5v(JT%FsQD#r@932[3JYG]I`q8QiZ.2Xi;q8lig=u4A[S.DEG#7B&3B#S$_@O[#r]$^S###rCmS%AG%8@;DWm/u^l'vw&<`#6f1$#"
"Z5-A#_MjP&m@,3'fd/e$-p@K:%HTS%PVPb#jI@/*<n](6K8oO(8Bjg9K#&&A=='IkiTlYuR'F$MTM?>#QX$##w78_A$TK%#j6Q70gx/J)DqI@#2)tl&ou?w'VtVZ#Mx,8+]u,##&Bhr*"
"n%@%'i7dZ(Qm#7&-/_g:wJe/a?^4N3TS6/(v_-9()eYGual#+FTBd0)@]WF3MGg+4k_Y)4g1/T%ivI]OBt?H3OaN^%>O:N(;4aC,WA/06Vaw(s<><p#DB1g(bI^RTUfl;-tr;r6ALLA&"
"k7#3'dWjH$BOrZ#ZD/2'vOVE<NNc3'jA9I$Bk]K'`b:w,xXKQfPTc3'72p,2=b/2'87:7'3YD<'A(/Z5[8Z+>Mp6C'4H`t-wB1-M4L_`$YU/2'W)uZ-4H*=(p4tgL'nv2vwFf68;*EDN"
"i[Q?#o<[w%KF2^mKS<3pF)S9AG9^p.Gx/?ABNb.=GTnO(rs.d<p,:L#^SCp.$Ce+`0oPpKGvm'vE*9kL>NW$#`a/s&A;ugLJQk(MZE$]%'t4@#<qcY#+4]T(FVgY(XE/@#@kWP&pG^m'"
"%hww%akpA#pXQx%`bW#AF61P)IG<3pYjadMXTGs-l**iMuJQB?l9d^u..S2#5e+/(Sg1#5m@Xj0ad0'#aEn>%)LqO+ii.kXFt+N'&]OQ'/;pM'T)Ev#Z%o)#*OR=-(711LLT$H264?aN"
"0Nu]#QeP7*e2*DNblgg-7^Mc-0O<j0j[iKA,MA1A:7C.3C<^5/J<#6)i*A4CTf5g)7>Ri$R4='QI<1@.hsHd)brb8NINex,wXjK;0kR>6<PvqAAB(s8M85F+<))u$#?YA#K)qo#@<:,)"
"?Ki02X#RR&qS3I3-)wR&5tFQ#',,##NHxnL@^2xL)Ba$#QO?k%`40Q:xBL`Ng@fjKvBv_+AT?o++T';.S_*R/tBfS%trH'#d_ww#-##^YRZabNTiou,'n>PARrd+V)5###0?;[.Rh)Q."
"t[)S(?m2kk-VLm()td^$mw@79hFat(hdKpLW?PcMLJj'%cPeZpt-ue<r=8N0CI`8.xJqi'6m(u$',NS&0QG:.@#HT(Kiwj:,Ur]568ZqA[$kx@_>k(N$-$l.LcNP$sA*U-YXkR-]K6p-"
".ElEn(hO`<a+U#,]1_>#^DXj,_N,v,gY4Z,I>+AYlt(D#*4PkKojMK)-IfT%IL;$#1^S)=ST.mH=_x4pG?9s@A*DP-,3m&'H@Qq7`ukA#q,d&'Eua#8H]/s7'`2t-Dja48i)w5/$,>>#"
":,&crP.xc)RIXlAm7^h(D]L@#YHRP(=`rS(#sAqDq#eiL>B1G/`2FA+w?:li29]p.RjaI-7v`h(__sc<vu(c%7bld&R?gs-gBx>8pWSr0R0^Z$us`a4QaKs-pjTIE4kTp7YD$Da#l]^7"
"$So3'Br`p/57U%%w9Vd;<Z'Q(4juS/U7%WA6o%s$6(q90=H%`$6QP>>LfBK<3-V_$e*sM0wNVBfL/5##jH]t#w-_j%^u-5/Xq=W/r8jh+GgZo+%>D_&Zm.&0@;L]XxcEb-4Rvu>>0wiL"
"pPG>#O%r0_JD%</>`Ck)S+;lKcf6'#?^TF*<(*i:^2]].7UX=([v/n$(b4a<Xlv2Ak#:wI/^uC3x.X-3<:D4p*dLP/v?'3AvI=F3Y^DmJYpY<.Jl*F3L77<.1(DNVo[jlG6>/g<%Rnxg"
"0gVb=SZK>Gv;*Po@)Oj;:?ND#o/-D6n2qQCKqZ9:]7H#@K/mS%4,@5DiYm-$-2j#-NQ`.hDr'?>gd0'#.W#x%6T,40P6GN'hMj]+>>tB+#jNA+U>8s$`(]?#,gsl&m]kI%,NSF.edxZT"
"GHO[#`F-HNN)sx+e6r%,dt3I+2WKGNT2f@%iIp*#J^CQCp=`#A#^XW#U;U;p<Ku23SB:B3[?8I$_xgt@Cdd8/b7su$O0^20ae_F*@[kD#n8iBoUZYD#wEQ$,McYJ*$4tY-?\?KV.Hh$^5"
"@+EZ@2IKE3bVI6:0_qS#FDY72Afgf3.6TV.%mc98#LkT%;d(;t6n:I3b&Iq9N:Q:$dod(#d/,S.+nXjD5PH<-nv%Y-M-8R*PC?>#oR5M9$`vS%Jk](W1[(K(e%<s%EkYE*CZu2v`'Vq'"
"W0SnL;g=/*n'%&,kW[p'kZ][#LZp$Q2av_#jn=5&6kAg1kw-o#&+5YY?w0F,S@$)+5@3=09Rx['i:tPf@8EgL:%LQ&xKKC-`si[%._U0(I->N'sb>+#^c`#A=iZ@3;RK4(5QJ=7aWO=7"
"OhtNf9$vC3E_2u@Nkq3A:_i>37S]o@4]Zs0q_pO(9,B+49WJ:'W3^)<2D'N(Kd2%.a7@b<rvD#]G3RD,Rrqe*#&vU%KVo<9#Ks;9rl?9.Dh^_uQUK327.VJ:1=TO1b[iq8jL%W$un_+;"
"<6Ad<bQ[rQ&k]E4oV+##dBVuPSo7T%m),##LEJX#aT7%#:B?^7^$&%#rE7A,lXEB#4+QZ(EYcJ(6#jIqGEZN'gM[w'D=ZY#Q$',/TjaI-5)/.)bn8)=$2`C&B9k[eLG<3p[-U)3;5V#A"
"X,S_c%[)22wRXb3gW@:Js2pG3&(lWqi1f]4GmbV$nKx[-kki2)Kfa8&ZBqS0BYuMgKRK.=M8P^,IVi?>=iS^7-Ni>5T.,[$0[I,;v/hX8i+CD$1'bD<[:[N:2*P:vD.XEeNavc)<pGY>"
"++m<-B4$5.CaA(MxDp3ME'pRn=a)&+<bOA4gSc'&9,f+MTJ?D*wiP>#B$o@#x2oY#0*fY#=w:%%I,Y:v%tJ*#U]xf;XIi2B2u_vu`tSa#;.`$#clS`7#/sB#ZG[]4AWk;.wr0C4IXWx-"
"l9dgLr*?(+s0x5+%%HP59p6C#74@##:0OI)xTuk41Z;C#]m:s1_b#g1;`mX1_gZ+#bQ&7pB5V#A`P.b,q(h.AM8/^$7?%129&EH(ES[^$.^^<-MT9S%kQ/W-U=/@[g6),D8#U<-;(gk&"
"ws.eWma+=--H.N'$anB$Ugr7[q4SU%u5YY#jkB(sfmfS%iKai0JQEd4EWHD*g5#xPK?P3':5h*%j0[5/k9PAX::IW$uZ/1(6@2A19Mxe)ri'##Kxl3)@XC[.]+Z+#$Qq>7_Jco.b;W6p"
"38_W$D&Q;p8pTs-:W#E?^^Y8/B*04&E7tD#:pul&L%lt99;]TAQt]#AnCTq72)Vm&/$mq9c]l)k>siMgu4(T%nj(2'R&>uu)JY##rVx9$Db[@#..m<-X_HT->$b30pO7%#)GY##C(2(Q"
"*C>,M72Ii$VJFZIK[aT.Drd(#?o#l$la)XSK)@ip8INP&gp'B-T%?v#+nY'v=nBjK@&mQ&jXGb#WMsDNW<-87)waGBfVeq1<A_;.__j=.EYDm/f>RL?iB.2A1H.'&M;9##LH]t#G]l##"
".vv(#LHED/$]2Q/csA@#_$tl&W$cW2;VL@#]<_`3,KGW.[Mqv-rWsx1i):C#dLff1)Ch3(3I:PS=?pv-]q+31Psg8/:U13(HCp9&5o320BVRx,2dYx#x7cl5<eoq(#'On2<O]w'ZN1T%"
"LVfxH/(O8SLV`x-l+l'.$l<[$M*)o*XHaH4'98Q4?(.f$K()e06w&7p/a9D5-Z$)<[Ln2hvW8*sCtw2ABpk2(-$?,DVWO&#rbAf$:Ocb%@(?=@2A)s@Y@L0E1+S_#xH:a#j>%&4HjE.3"
"I]9`$+jWI)#o$],:h5l1[Kj?#QPLk+R66&+nLS#8lZ#a,k-tx-rHi2<'8aY$>m.L2F4I=-SAD]7KK$j1RK2N;b?GV/dkI>#2[`n1$N5N3m*w,4[H$p0d0F;$9bd`*'swh(7D<f2/oLj2"
"oxN8&xqf$.qoCJDuBGT%FRc`*jPBYGji/)*6,D;(ppo@#&PtI)--)d,vDgY,pp5?#:4[S%d0D'@<@/_#lU'B#1tHg)Phi$#G2#R*9FRD*f]t)+RA668RcR,2)xt6pRfSh(G2`#A>3lZc"
"GN@p@hQQ4(%elO(d7JC#lZD.3m]WI)i$kG<@55H3)`OF3o4]#%EEQJ(C]<+3;3Ep>Z3wU0Gnre2M4Rn]s<&ZEA;X8'A)'p*VlNGFI#@s$^NLf<)]wb`Bak07S/^m%_e1#5J8sx++_GcM"
"nvT8%/TemKRN4X$&&W[$JQBY$X)kI-ucK*%.*'7//3rBXMTIwYZ/q$-*,P$,',0#,DXdaN+>'3(;)r#$EtN20O+1G*qL(dM6Ufi'4%.<$v9(kDWgH12tmk(&Cn8B3)>E-vVodp(I?%12"
"?;)FpT]:P/+D5c4C:<@Gb.kHt+-x9.6)Yw&;qu'Ap6&7:__Z-N%4k0EaBfS%$Y5>#<7QC$[)So[f.FbGTOvu#d3N*%/N-,)/J3>5dIR)PraFA+Un;.-fK]A#'v_oI/'5L4j;_C#sGvnS"
"'F`H*)fQDI6keZ#WL<5&CBku53OPb-YA@5/2o/vHDpr4#5Y>>#e+Pl5e[Jj4qrVC#Q6HVHZl<70UepA#/v>JC2_4^#rZbX$kq#o3qRnC#K@st'1;#j'gODcNwhU%,Q,0#,N%bPSubP29"
"XsO;pg(EI$pW)22obW#AuF1I$>W(o9vS6L,3ax7;B);2ORl8H#IOOh#jkQp7l]Wj1^SSF4D<r0%n=wM07]R_#vBo8%MGpkLn9j?#AT#c%imSAI*XuD@Js-X+2PL8.jiXI3+jV#$p-=X."
"@`),+L_,[-NiW0(r5(EH4HSe*Q)=U%:cFO'tV.?.&G**60L)`+b,x_+-9WOB'adw&35>##LH]t#UR7%#ZQk&#br]`7r>qA#%5`0*q#u:*v=A&.(v(s-3tfo4*lQiCL9]o8/5%F4it(+*"
"uX(J)2G#i7Tj_a31JRZ$)1ki0QXmU9>I),NQsY>$4pvI%Todp(/bV)16QAq8'$^,3YB-38*YgJ)3Ek;-+Q+4%?hhv%_N--3k=8C#vBo8%g0X20PDTs7B2Cx?mSZF%:NY7/B:qb*R$4H;"
"GDK@%wR=I)0dC_&1J^[%I,].Mp$E;$5f0X/54K'7PU8F%?7xu'noIl'Yk-5;7pJQ(r8xb>fOChLg-@0#$),##/5YY#:WC7#h84d7g<#A#AO,r)p>9@#bQ&#,hU0f)tp/&&VNKQ&2f/u("
"XR;@#=thc)h]wd)qS_V(a2Zn&M4Dv#aAwo%6vC%'P;%L(^UeS%L'Rq7j,868_f;mJlnA*#`k8B3iBk>7j[iKA]u^GuV'd>3@)qEYcVU#AO(&e*9jH<(gI[1(]wDh$:-xe*SMJT%dJEj1"
"A>K.*Hbht60jxf-VI_3(7k3>-1LY&.i8<w.e,[h4j%0V.07A:+Al[3'faULpm.X=`bp>%k.oKO-kZr-Mq)2hLxm-^5SDw%+A/&H=/'K.$KMT>#Fs`]+mGd7&JwAm&$xCG)ojf*%#Jf`*"
"6.i;$4u_V$g@LG),5,##H:w7['2>>#7;P>#YdT>$K>aA+BTEFNFd.`$fF,F#_ja-=wn]G3_wZ$pRVw#+D?RgLP3N0AcRGem.HkhMwI_;.P7GH3NUiQjBb1tqS77<.Si(?#7TchD1pkW-"
";BAhC5D`P0>k)h)-tI&,_xXI#cE^bFvRXB#g;L$-5F`/:AvRiL0;L'#jxoa#5K*1#q;-C#SB3((4Qm8)kI;<)]S-C#3%?;-HWWQ+<j'A#q1b$o^6#R0:s1B#+'S],)TqY$<@nS%m5,NB"
"ah6H)I5Na*Whi@(Ps>R&'t.l'6RY#Yn_AC#R`[92>5<v#ohUx1UqQ78rkD'6Yu>s*jLS5'x-ef*h;p@#E$o@#TBbp%,,*X.gu%e0`2bM0.eEe/@deP/2f8E#j+<dEk+*EkEoC1A74N=7"
"&s:<-k]Mh$-x3;(rkA12pa)u@%gR2(o/Rh(rqDtefpvO%$S$1#4R3r1PVK.*b_2Q/j`%>.NUe8%5?rVCGV5J*JSWiEL*&X@/cnM1Nb('+T&H#>k2@g1+b,]%eKTZ-d?3N9>D^`ET*wjU"
"pVHw7<U;<-NShbE83vMTBA,E5Q4&q/%MMY7%/5##%X@d#mLd;#l&U'#O+_t':ghC&%D6G&CfhZ-)n]@#M/EP,Emj(O'4@A,lTnK#_o`iK8FM>#<uZS%L^Ce<fMM_#%SKF*:L2A1_AH]O"
"GxCs'X:#j'):X50T^]pfW*>$$5)sGa@:x#$rGcL:7rmh:W(vI_2*5L:t5'2Brq7]#nH_`3po&iL;'7F#qUI[%jD=J:*+$K3@Nk>@1=8^H_YU#A;8tf%Z0g#Ai0)Nf0Y7B3?,V#AlRiu7"
"-x`*.9Ki/<Z0S8%lWQl$Vx'E>e<jV$S2l?,Rwc#%gZXX$f+7i&b>f)>e*nYufhJ?7H53w$F*RK)P5q<-oR%;'2vBwurv1c#CN7%#Em)_7nTdX?s.wtHH4-C%WgY`0`7be)bl.-VLWO[#"
"oY$_#kE8&#4n*>-ePJ^+ijPN'f8$<(Wb/'-0CX6&QK'K:/w[J3TS6/([L@vf2]tO(fjq3A%oSL2E<%u67<.g)_q9K1)a0i)w66l1t=iB#Px`C=kqZC#)C940mL:JWoxm<0RLkpLoOd_b"
"x+e_#VmS>#D[6D%8<OL:.^1YGQT9W-Jivc?:)Sd#'N@(s<A0s-iKai0-:cv%q_QP/LP*@#2#jIqWdhm&THV]1X%m>#`C4gL6hv:Q>av%+q(6dNOD9cNdItcMl1(<-l^jZ#T/w`*2Sm`<"
"`N-87<d4l(rZ4N37H?5.+aokL^/6/(a::N3/G1I$(Pv-1%vXL2@;([gq])bn#frs-Td+d;f[-S'P.b&The<50@s1Z-hD812Pt6F#ubB[%WRD0*S.V%kP?p8BgWAR/Uidt7uW^Q&Ybnk#"
"/IiY#.LlH3*mQ7&&hSN-^c%T%.83G`YILS.X[6Z@p#@A4Rim]#<.[S%j]HV%i3o8%iv5;%#?9J));3J2PmPV%l#8v9=54,DR@H5/sJ(v'(5j%,`IlJ,L?T>,+<g&&QJr,%>hN9%OkRS%"
"I:;$#Fk>.)<vppTbrXH7Z8fk(dKNP(M),u@S7C.3q>eC#Jf?B3U;U;pZqdu@nsYHN:n;$cDrq0cI0/(#DcW#A,R(f)[/*E*aKj?#.uv9.5`JD*;m)F3h(=V/[=tD#h=S_#cJZYU+X9Z7"
"+HC(,a'XNCS:jM::v1h1@xjp/k&.b#b#[4</YZ%/V<>Yu09HG&,0AYu7gZ=/Whii2U=0p&,j?S@NJt87[bHP/o),QC(93p)n_U>#lfiO'k)H3'uFK+*cfN**0neH)uI^F*DDg(O)EV,#"
"o^@>#^;ax(&h<@#c(320s_dv5>e(g(qvp>,?Cq(0*-aI-Uq//;-*W^O$4IZ#H`kkOPdg]#/`0f)#R-876>gI3dB+u@?OW=7an8B30GG/Cfxqjtt]9D5W*]<-cp%;%VKT#AmHFp.ZjOA#"
")H/<&lqVu7&Nvv$a%NT/B+/qL#@gE#WvGU0]L6U7S.Yw5%RIc*v&KF44,rV.YNMq@%K,B6C/<B#?gE'%BM4b'x=g$/(WcO2iL-W@vZZa*^:co[UfCQ9f268`QLO>5Mu08.>k]uGQm4vG"
"3knv#;HKp7^^V586Bk>7&9tNb2kFHpfD%&4HotM(CKXoRQTUGB8Z&Ui###2^_:uc<i+C2U$WSw90>m/*XU.p%D7[S%Y$$ZYbdaL#ol9g:G9S:;3?\?jN7NO/M<]L*>%>hS%geNi9.D>>#"
"Yig9;m1Eh>FR=G25Igi'NKouGAeG#YecdpI>:e8%A+1q7C'56=`/W,sES`OfZAU%Ms7fX-EQU;gN>oO(>7X7eblrj<*g+6>_5#]bYV@F#E/ck/2OJM'jD5MT^S_8'aEf),ICr;$eEO6&"
";?Ow#g@$$#4%.<$`O'DNA?&$M:ISb-@>D#e4GJF-TRJF-l&?I5__j=.7(4]-7.(5RRDPn:x-If_Wb:/fECQwB:Wo.:eqA-dL(0JLc&V1$5?=@#qQafLnKR>#T;u',Fu5R((w?W((`lJ("
"]52?#l7w(#De53#d#%I6*m-D0;cSM+C#?%5;$k[#J6F;.Jb^rI0)c78lMar&W<W?#FctP8Xlv2AQDpG=sA)s@ZrDN0<(Q;p)bXm23BCpLM+fo@%BhW-9@s)%/e6g)YR00%e>kf:07#_7"
"`98w#qj8n/rYl.DA^tT'x)dju25TV.[?,3DK*<'8rUTC#wvI>#b,(,5l8V<$4S#2^A_=s$Tb4e<8;?a$p:o'vj)Pu#MEX&#ZqL&$HLqJ#8jJ>#Y_oi's8x:7ni<M(lGM?#Kxt*$)B]>#"
"i]0B,*B&]YL?ReMYQZ`*,H5M:>13i:gv'B=?jdnj@0U6j):I,3lhj5/iVp.*EhN.NVGF:.EkZk%nM*#H.:;f</-Qr%-7q97e*'1*xG8H#3WHo%+WuA#@m)N4C>NB#twwu>7fh@%q4mS%"
"Y]vV$,5>>#-Fm.:rPx1^;r<>5513S+0we?#d6c#HLKtq.bY9cNd_1I3h.T-P8Niw(HL9O1I7u6'k<nc$Lq*T%fFgm$:0N;Q&@Rv#Kg_V$U_?C+6:LG-=BX>-?:jA#=g2L-tW32K;vH21"
"Iqn%#_p>&4+bdv,Ew]Q&BIX31NV211MlC;$VsbvGTJXe%BC2?#?4[S%@$C$Hk$/=)YwDp+naex,dMJ^+N2=Q19%/W$u2)</;fRd++aGN)n3VZ%K47<&RVs)#$j>8p.VWh#sdC01K6U;p"
"bO<0A)sw2ASXdH&Qd+f*/58$c_Tx'(6wkQ`c`k?)x^_1(KPW9_h%V#A<IR8%7)aF3Z_j=.)LlvGdfB#$Th^/1?h7P9e)gu6,I5]@;:tm&0gdm:SpYl9AFt@GYP`T9Zq[P9k&-]#P>W(?"
"m;&;Sun.e_7C93'1O4wAobY&>cAU&,=x5>/$BmRe=kh4;@,>>#L?WxF1%eS%3A%&4As[t2/8=20j8B'/Ga0?-a>v+D<'Y^#j'_02w,4'%sF]h(_9Y31nl3D'<EA0:N;qmSSg(4'GwNX$"
"hUMW$LCIW$.]TnDV->n08deCXo.Kf)21C&mgQOA-JShA#UW>;-w399V@3oZ#/T/U'rOgiLRZSd)`>?403r9LV6&k]%TiNI)wbhq7e`rM2fBpN:aQU,)[$BN:L@Ni:;odh:fMsDN&D?H;"
"%i$Zer$B08-8r%c<5`9.p8U;pK8XRJOabA#4gk;-=(11,X0/<-J3;m$Yqtr.vg'n9>CHhOW[aHE40bVD^el,20xoa#Hsq7#adNo7/+kD#4985/]oB=60+/C#6J1cic'GQ&ufMB#V.ET/"
"Q#LB#/lKd2pKW]1322C#)HJS@A6L_#,Pkp)6JMQ3]j2J<+JPc#:hb+5N:l=?Qv9sHql)>PFE0]#0D]PNtPe*-/Q,v,=9J3'0Y/'-alPm8adUoIw`Uk9Neum:@e@12E&>?6Z_il8.J>t&"
"=>V@'0HcfCa=)[#@r82'JXlf(Z>Cv@obW#Aa[#K3vvgU54Vk>3[g*u@-g'hLfq*'M-04N3R6x;-r.N2%^3+s@gxu;-TrP<-M%8i$_GUv-('DTJqo2<%W`=Z,R.k4sof8f3c=pr6V6>j1"
"%uk#/dY8f3*6qB#;62<1gZMA5Z[As$uEHc*3_)b3atm5/$l^T&IoWj1/3CYAM7UR1:mLH+G+Z03$mU@G6KJT&jv:0(qLm8(ha'$vx9:n#4bY+#g=Nw.Wx%_#dbdY#U%Fr/bVLB#k:()3"
"$1`)+v>rbWtcrl*i_BA=cC7]#`Q$&4hr]b*b+Q>#eP<.)NHa1)=R@@#wr,29OP10_HBd,=?i_0*NTG7&]0[>#_I]20EHkU.g8fc=uQUhX=-K.ER^Zp.?.742X_xi1X6(F==`RUV(<^`5"
"cWaeNQ9fx,VB%4(3ffq9h^j'[^4s*k^ESs-^Tk-EOYIB5rgtiejxgt@cwG+<C`jt(,>*CeLYhU+BP`oI%u?bmk9R/=.xO/ansX9%-JZ*E[uBW73@>N'C%JJ5/rfP'cG-o)#gHC#lVo.:"
"h5x1^,mOoR'Gnj#i_0f)U%dY#+2###aPvo)&Gte)=1fxG#9h6&q8D1(=co/1#(-g)2G#i7[Ho0:M'ic)AIns$gJi1-)EJq7cdGj'beLZ%_Ru#%NLr/#$)WY$AVLm(hd]e*^#7/(sf<7K"
"=H2u@;e5$c9uweGv[]1(L:LIN@@o[',P+D(VsJg2'*Ia-)s*jK0NMj9k_Y)49A2,<`FI6BNo-J=pIC,-@ogx.xI]q9uDk52>*6I+<l#2^fJ)a=YDvu-FlK].p<2I=Nn.e_$,>>#8YYxF"
"KweS%%#9N_HT/c*2+>gL>VXF+-w>0(^dY3'_Di0(=12=-Ew/6&CFI<$+SUV$=h_V$X/(_&SZ^Q&_(4m'gA/B+qJOh#/.s%GgOmZ#IYWP&0TA]Yr<'F,3EFX&CsKi:p,ph:iAoM9gaW-v"
"H#7/(Bj*u@oTHJ(:Q>W-)mkv%57X/O).H7c#]ughECp6K4Ih>$XwOw$rf9g2j0wU7B$^G3ecMT%1SW[ZDCvG4GY4x5&F%G*+jK.*Q)#-*U0Ya,^a520E[rD5wtrY7f#`-2<aqCka7Y<8"
"h;pt#,),##&6YY#2p=6#sKUm76^c_+Q6>3'UIeS%r(fL(BSuY#)AP##0_N=*$W%PfQuA+*9PUV$ka3r7QB^&=d;*l$0xHs$>=eW$g-RH)JNc/(&xq_(cLB+*qZ*I)`;mR&Ys:0(s1)@#"
"wNwX-=1SxG*WB^,4Vn),sjF#-6w[x,^_eW$)Qo68hZDp7&:0PD+j^W$$/<Lf40+T>XI8-sehZ@3fZ<0ARLr['Xn(0*2ial*BfNF@tgtA#H73I-.r=S#*g:U%`1r7#]xuHMnpQL2=eW#A"
"2Krv%5EF:.]EK+%aUfC#YRJZ7M2Wl*Ktp)3.VFs8ew+[7oVj5:,7Fd<?nIc*3iEK1E_(S:kl1juEj=mu<#u2D`V$(#/mRd#K9F&#BwEc%A0(g(q+Fe)gS7v5os7i)*PC;$t4b**F1n8%"
"CR[W$=qpfLh^b5&NWJ>G8^`#5?h_V$x)'@#2_ckKZ#?7&_j53'k$It-C5pi'x/]A,OwRY-Q.Fon.F9F&'i4HM$:*w#HUL;&T:Hd$0m=?,B%Fe+FLS%#tj96&Fl#7(w<M_$P4Ow7,&QWe"
"MGp>7GH=UAcS$1#U]QBkc[H@3eRVN*C2q8B6=Y9#F'r['N-t5/7';H#:if`*NjF<-Ko[*&_?*C5hQ:R)cV2;(K@fe2?j9o8X@Fa6v<>%8^OMx5qu.N0U*Aa5eTc:qRW;_;/hp5885YY#"
"Vo=6#lwkl7aw,qIP^L0(cmThN=*+[#7GxFiu@%-%3QaP&FkRc;lirg(AWja*eN/w#^K/&&vvaY-rG^88>2Bv-dTIv63qur-KQ4vG>_D@,6,D'#gxdS%=(ZY#;Eu2v]&JlL<rYL2=a`mA"
"_XQT./`Kb*)0oh(RRBs7N7)V[s%rx#-$^U+f7S1(%?l?,pnOM($No688qxTgbOLm(x;-H5[$/1A^/u23s+`ZuU%vC3`Zvgh%Eh.AkAl8.h%b3(DC_GMe>QJ(m,<3p5q?n0rcg;-q&/n$"
"T^B.;_:^;.b(0g%A5N`#IYHF>(Q5qA_n9]G@A_`?NQ*i<:Z;u$ql1T.g5nQD_]M:%Z>&k;x6Oh-5NMF,+*#rBf+*`#fKX&#dFxk759MA#P)Cv-^%tx+7[i@,W*KQ&E0^Q&gLqG)-VUV$"
"fGGA##^ji0xIFgL]q?>#@Z)<#1m=J_D?aY#42<)#S9(L5J<6n*/u5c*@/QA#O0fSR@iKb$#<[2LlAja*j7be)vsg3'w]B^,/RZ`*R#CM:n.Fe)e=s_=;<PDk?LN=7&d<I3n&]:7[-xB3"
"Cj.Z3Art7K`iF7c*^ugh;4p.8;XDs@'CGpLFTa39E;Rm0%@9$cD<nw'rC%Q/dOWL2KQ`Y,w6Es-X?Rq70h7J3V]XV-bgOB6KY4x5-g=s@dKj2<hRSZ7ga5T%:;p+*)5k@.bQx&6,a:JU"
".-hZ7@GJZ7qk$Y6N@@>#3S###f0%2^wkd=l3;Om*Zv,qI`[UG'fkd?#(XY)3.FX.%@KS?#lirg(bnsm/iXXgL)N0&&jq1`+`g&881<CW-A4Y(jk$S6,JE=A#RZs>#I`UV$3sBJ)A/)50"
"aIEV?QAr>R`(OH&P'=G%.Hti,c@k**//D@,QTWC(qWAma=w=j'j+gF*,MWp)(bld26^)22o/[=p:$7/(Nu>B395w89bxa?%UQh#82AhWJK:ie$,H]s0M;ie$9+,KN6LuM(H5N`#g)Tw'"
"a:SQ#Wn-J=meOq)AnPr9<*d&6M.8)=I8sx+W+=T0pB;[,[il@#K_3`s1an`$DVP?#9i220;jp#*)-NF*W42H*aaM(+'MRU%#B[`*w4=F*s@9F*I0fSRE0tX$@mhV$4ufjKw0dc*(_A>#"
"?V_V$''j60-NT[#eMwD*jojX(ve[6/FT-@5f^skL2-(E#;&AUu(UM0ArLQV0wwSfL/:b%A#%7h2GfNrLhc75ADeo2DV&TO9SXkA#xtVB%?0Ya,2@r+:rv$<A1HY<8g2TX#S*K+:hP2rT"
"w%]Eb?#mi'%,<W/ILUJ#KPp>#IVT6&[$&A(j&&q7h&/68f_IT%RE/E%Y%KE#$?G)%n4vW_,pb1k2kkKp2R2eh91xP/FF+F3Z_j=.5.h@%v(#3B2`lcu?G`H#,`xPupo.e_$UA%be$<xk"
"iR`s-EG=gLv,e3:K$,X$30aiKdnLw,K6Yj'+WgY(bFAjKIGVn&jM3T%#&CK:Rs)DNloTG;CZ2m$bwXTpRI1*s=SgtL^/0i)8voaZT.l@tSnS6q,/=3AS5riG(W=_JH'&##oprjt=aiu5"
"Aq^2'3%5,%enj9%SOT#Y9eBsLb(ip7_WM5852fo74fis-a=S+ML9ZWkHR9%bQ:ZV-L)kBOLSic)[@[wp7bbFVl4KB#tj%##jYm^oL/+87<%<?#u_,R&WCeS%2=0#(D5[20n&'i#h<?EN"
"V0YP*%d=8p9E;jhU(4IpYa1@')?(B#BT,W-ENEnj)[do7$mK#$ovvk%w`n1K[,j#(KRj]+Uk[S%X@DZ#JZqr$,DCC.@`*m/N]D^#VY3u(L&wl/,KT[#WWlf(p$-vGxt[9/B8m]#k$nR8"
"IdKa%]P9B'@L`?#;VFp7WE258aW+,%)&(7p5mv2Ao*kKp:0^#A)l]#AV()H3a[EZAnusY-Nc(W-ssm$]T[Wu$%2@Q/,[CduI/3]t2i]#>5[h^#$BVk#oW)<>HwkP9I_Tw'jIcQsr@o'v"
"W`8a#MEX&#uqtx-K:Q`+vZwdD$7UhL6r$s$<uilK,9+E+9?^rH]1$Z#>%[S%c07A,4Y^'-8j^q'GLPJ(mw>B=.v&7ps>`-mUr(H>.K'hlVdO,c1x9S-SE:x7_bwY'P6;hL4&<fq=<q%>"
"62?g)bP=Vh+4k[$]tW;(p*n;6`.N%vJ`pq#teZ(#NK*o7$qlB#U#erHr;?x0e6fT%dBlB#LP,r)@Ow`*c-pGXKgAN,tpJA#X%*Z'qcnl/VXQ_%%EtV1/;vr-uYmK1uvnF4-XpT9<%KD*"
"Xo_0_d+:Z@=BV$%EhD^4.5^D#TKQw5jvK>.?1Z>#3M(v#(g&D#3SaC#cpO[&=_G&8pom)8o[1H4DEr&$sfxJ,<9K>,9-_p.c52%0do*m/9VwA#5o.J.J[*B#O0]S%x3-87DcW#AaYFv@"
"<Zh*%VWjkL1ocs-w6i0M:)9t@qKYm/Dt&9(^s,F3TGp;-/vQx-lnt#+.@Tg1[7if1x-,Q'eL0+*vw'2B]Q;h)NCI8%cK^:%>Gr)F&%-0)ULD8.NsB[0HEU&$N2BS8veFZ8f#9v&qTGI<"
"gIQO2NIv>@>PVY7NXaQ/+CtK*mo_M3)f-w9_%m786mk^,W5R3'6ovb+@783'9w_w8ZF=7/K./SBZSvp8>/$u@$odZ,jR;?#Yb+40r/;)3Yuv(?HKTO(i@Kc-U3@r@:jAA.wm0P:%5YY#"
"r`t=Go(WG)p:bo7DPh5CqAYP&Et+S/KWkA#UqYfCPc5Z#1=Om&]8`B#'pIfLB+oC#4f4]>$7UhLpre.222f?5a1jw$F#:D5^V?g1e=ps&kADJ:vNvaN2:QD4i`Fv,#P,v,[w/T[Ndxv#"
"%Bwo%2G#i7Ph70:Uo:u7eohO9&b35S`b^`N/M4B0)aD+=(-c82ex?C#3C-87acFQ7Trw2A/d4l(9M(kLnxU#A1k]#A$0Rh(&7i0M&f.QMj^0-%<0BT(:-HE&B(1+*&Mnu>8;u`48MxW%"
"QL<=&s)cE,mIAQ02Bxt-=3x:7-k_g(/IBq/Z7_b*wgvQ'^tY6'&USZ7Rm&]?LMD69W@_c3Iipv6+b=D64OUM`x13f2S,eRC[0,Z.Cb]%-,9dv.K)WS0m:o1(qtSE#RCN=.KdtpBNO([8"
"RP>###)>>#Mxoa#@6[o#aICXM3oe$vis(Q3x[a7#$),##':>b#Un=6#ahwZ7xq2)%^.Fi(vK-_#X7NvP5rQS%k4vQqc1J9&_NJa%Y%KE#=2fo7wK8%b;,YW#q*f#A^aYGu%p+dc(N#'3"
"77E:.T'qD3Mt%p.hZj>A`h+6>^H$cr?m.->ZE;aFCdkS%#p_#6_usiKOK43((>cY#QK5rD5HYF%k[GF#SO?J:Zu)UD_[nh<:UxC#+<VB?xwjS%8tTPkjKa<<k[(w$vWa`<Y5xjtHUB_o"
"Y*#)M9=0%#2WFr9`lsI)qH#j'eAIH)e@_G)15Sj0T$pi'K?Gj'g;G'&Lwns$VtYRAs2n7[&,###Q]iiK.,o-%1I>##?'Gj'l<#Q/;-`$%3cU;$Mgg8.C9I12SYh;-[@2:%LOI0CY+ss@"
"7S]o@3+I8%98RNa@6U&$i?[M/HC8Q2wm89_D;u6/x6sZ#ex0uu0=->E;@or29?^w/9+)iFG8K8N?`-(#U9`b7AR#R&g5(v'k]@h((8v_F;8K9[W2[-)c7RP&A_sP&T0ND%Itw8%H-a]F"
"YF;m'l3M&4u=aqIO?1g(G*E78n28q7`^Mp7&uh'dEPKm(fN+4(TS6/(5FS8h^0TINTl7hcvGZ20v,B0AaQMIN=)[w'6QEI39EsI3JkCTJ,3s20ms#E3m?<_tJ<KZIO_)9AbOLZ/+FnA8"
"Yl:';dpgK=i58FYd#3#E'E#KW1gtF+4osDGN[_oI.Rs[#[6CD38pKG+LWn`*,KG]#x+A1(n.vr$W2sA+93n7[HRh/#/KA>#ZUiS%(&/jKb>b39]DR1(XJMk'Z))0($=@H)Z&Mk'6m_,V"
"=0xv#6@wo%^u@g1HH%@%XfkcMAUns$9u7nLxJSq$Q$f8.3Y?#f`-5n/LFWj*)tTDh'HPS.3xYXN%gZ*M0rJfL:$Sm2uc3[pWBQ^$wC]D*G,3D#[-H81[v[/O=B&a-&oXE3-77w8=fTTB"
"&[AFFF[(q/@lEo2f;2J*I#<DNK:^]+0^g),BH.)*<eRc;l8lZgpq<c4-r+V)^bJw>PM(0_7Dt#)0bI/_LdXF%b8g)5BqL#$8D#W-^p/I$uji/#h'3@#liEE*b&HR&ri.P'OsGR&N2%-)"
"OT57&N/ig(rf?8)E9]>-&L^_-mDLq;G3_:)_hD@#VNIS@@A(4)vVB@#:bZ0)Ch@@#No,##4a]6(2jN=(4nG##dM$=.#g4/(T]k#HvFKF*2b1hLGfPhMr]`P*I4i@#.#LP87TOJ*G2<E*"
">0aH*wqRxGmF?O,o3qK,7f#j'$4f]#u4pi'ZnX,2YY53)ss&6(k<IW&tJCK*.*B<-;14g$#J[#AMZ(9(Pk;'M?gLE3;[]HNnEp/c`3;t@8R'$c#]ughDF0I$Fd4m'G2(n'JtFk'7S]o@"
"m2/m0E8q0,'W[[-4AXQ'9<Nv6<SVD3vuD%$2.9T%]%&.($8d++$tun0BUg<IbrS+ZKoow3Z$,]@)RZL<^4YL<DUHV^vxSau$/5YuV,<A9-8ET%rBWxF67eS%%@Arm*itO'*#L@#e)20("
"i&HR&LJ9U'OsGR&BGOvI`KW$#]>rg(B2PgLeHq:)PwdlJke6=-Le8b,QAMj9J+V$#*'`BXx=N=(VF)@#:lB%tv%]N'51gi'uiV1(V-C*W<t-T*sZj@#hZIS@k[.]#cGYJ*L^<&+`DaE*"
"*-;lKl@6O,NxEH23dPn(*?Tq'w^*=&bBF1#>9An$`-f8.'s+dcV<<p7Rj&E>Ku'kL%7d]%K#gq)69^5/$UY?G#2]#8bMXs6w9$`4'LOA#P#G:.Adq_&O3@0)NG1?-i0`5B;]iwJ%-.J."
"+GQB?6ou(5su9D5@N6EPtrRa^5JLk3ltNfLLL-##(CY'$D[e#Mu`]88RTguGa&G>'TcPv#EFe8%E3,3'L)r0(Kk]pIAcXp7BV)c<c_XAuT/pJprq1.&q5)EMRC9+GamZ)48%1N(5G*`#"
"fHPGuv`1Snp/M@I[,0->k<St#W=[a.m@<h#SK<B/4Z+kKIGkgPpZx<&@Xub%K,/3K?.RaJRRjEIU'G_Ju&-_J:@RB?x&4M#[i/2A77oM#$7Abut:u6#_2MY5:FNSI%)Xg12<6^7S$4#-"
"q81wGhWJA&x$2@,(t@h(fB#j'm1P_+8?o],1fi&J0X&]#2B@.M,7,i(]'#qIo#sp7:i>8p2[)22@UZ+#8/teh%%ht@k&l]#tB:a#bjTeXq[0b*Z.et-K>Nj*aRWU.po.e_DlKu&$%g+M"
"5bNj1J:eP&H/W]+jRRs84I320oFGc*H3o@#:Y5/(mJG'&/`>w,^Y?m/QX*E,*S*/2)hi'5.s)5,rIW=(qh%t)_i%l'p]8EN*PQH;V;8j%PdAgLZ&OBkT$LH(/s5(&QOPQNC)0i)0PgjO"
"ILQB?5/4>(jF9Hk$n.&'RH5)#O,q^#K)+&#u#9<&h/(wG]8Mk'e0E)%$JexGn9s?#^Wpi'fMhu$sKn],$r@8%?g_V$')fI)I0e'OSZq,)?(rP/LBar7l)&q7f:-gLO`jte9B+u@(Uhl%"
"lS(9(fsQ4(uF1I$12d/NFRB(4U7tD#wQ4G%=?_Kc=Lo$$/wQRT@P6[-4-+p'0eIw5'o#H=pPSH#ATlr/;7=ZK3`c>#xCGF#3rLZ#MsqP/f/T@d.$>D3Kd0'#A2[o#Fqn%#U#5:0Tp9]#"
"Mu.T%_9t@#S5%H)<efi'qY(_&X$sZ#TODP,o:RD,c8GA#jbkN+N8]W$NZC;$7mCS)YS`k'$]i5/LMt9'HeO0NX;4N3Zbf5MQ'fC#xQ^jAQJN.sHR9%b&[)222#'i2fTg#A<bW#AvL0+*"
"3w&*4k_Y)4=L;UiY:M[0%Air.L&KZ&)whW/VW>]#*B[I3ABrd#&T8XuHA:p%8'Md#,Ggj2HC(m6$'&##xeu1^.R;J:M:i'%0]l>#[KJA&li-xGqZ3L#3US%#blM[>7jf6(Xi*I)&a478"
"L$v-Zq%(7pH9h&7HJ<3pNx9`$l([<Ui]DD3=;K>,ipQ7A:qv5/BWhn^X5Dh;3[nnAw+Kj2a;o3BGnZk$Gq%<A#6S)1X&I7&BPfvL$?Q:v9/C$TJ`vS%1br+;LXJe%k+rvu%.iZ#n@$(#"
"mADj7rjJ>#)@,DWcu2^0p5lB#FtGVHX:t70Y;-V%Ubs;()(7)*MXdY#vPvddwB=H2r+531ZC9/1C85)#kCwn7$iRc;ihF#?g@u$,[qCx5gGatI+'xl+kOj.LI]###kv#D##<ZT/fhH[/"
"q)m_/C_d^?ZSVW%VYmlJ;Awo%vK:Z'62l?#i'TM'[>Cv@oe.u@2't=KYE-@5$p>F+:,u237rF12=#g?3n501AKcX-3^Qo*%NNTLDY'.m0ZT+<-u]HW%D3Tv-S`jj1q:gF4+ri?#2Q-T%"
"]Qr_,Tg'u$_s6l1#.,Q'NiXV->7:H-VcN8&F@Gd3b^0VKweI5/Yp(>$upI>#l++B4[m1v7RPj^#xvtL1g-C1;t7Z>#pB9'&>?'a<QZg6&whms:?3%B5(66;%K9BU%hQJ,;2%-31[Qf]%"
"mx'l2O]<p/0]<'#1@jl&-lKGDd**20.]pFiGQRwus_rU%44tG)YR2@#GUwo%cb;Q/:_Rc;]qN%bL^`$#<eu2vR4^iLv(o`*K$5_-hO*C&wutjL]O%Y7]u<(Gv4o@$v&h8/4^Rc;v<DiL"
"0go#MBs@iLi8(C&.V.C&-Q$9.,qBp&'C,+#3;v[-RrJQ'Z)aO+JJ]/L3)BR+`kNA+B#Hs.4btV7ZS-=.$qCX%gu>P1e@Q+#f-f<7x--@5hoJ12VO`F+-rF12D>jD34GDn0]S96p^N3*s"
"3>W-3Z9bi0tOtA#bMq0#==Wu70A2H*u$D.3lgro'bT]v-YF1E4G.,Q'E4ih-GBY=$qdI>#9*g<7tg/IGq[[-%AXXU8R]r?><xx#8S)fH#DL(g2K9Qip>hY)4#*$;%I-0U%U'%G=)ENqM"
"D_Ep%7)EU%`e87/*gJE7?7md3@/5##'CY'$K#%8#=>N)#Ju$3D433$6K(3C#[*HVHVv#=1rA(C#J2f`*Be70:J>T:)=uG>#2uZS%Gl3#(djs?#us9D327q)304F:2=</J7o'u2vl#Oo("
"<7[rHbc_@#C^4^,rbes./,e&-F?^Y,%GF+*4>R<?g/OrJ+k:S0VB,Z0Y=tM0R:4<8DV2<%QDmlJ+p2_*wGv2AOR'B7arw2AKwto/oAbd(F,V#AkwFx+l$[58C+7w-lPx;@%N`#.;dOi0"
"f=D?#p5cZ5nS7W8#V%(#1oUvuTZbe#e,_'#5tdj81MiP0E`$=-E?T8%]x@w'ie'02Cj19/1p8_8*w[*+(?Dd4c`Ni4`,(^+HSLs-9J)V88+>)4Nr_<-J)Qt$C[=K;GAc;-g1Xk'l(qm("
"6R^X%YPOO2pC?Q8Tdj;7Nh4h8(N%&c8B$i$8g5-+MYsj$#gi50Z=5@?8V?F+<5-*,6sVg(AVm(&VK<%I`hEm/#)P:v$'&##L+5*vq(]`*C<]YG8QLA4BGs3+F,DJUq`c.UW]lm'i9g1p"
"Rl<R*,SXR*qwrt*eF(?5'o=6#[0sV7ruMk'HR]b,:_Rc;>lB%tq[PF%KIRc;5#jIq^Pw<(8-t?#^7F,3_nr$#7Uu2v&To$#7Ru2vNY*IM(v%n7EU=U%b0TQ&GXnW$-AP>#6+Rs$i6[H)"
"Ee<T%3O7G;^33$#rNNJM-<wV%H4k>-6Vf_6(M#<-r)04MI`p2)hX@O(eLRc;%s0F++X*&+Gd=_/4:M0M*3fp&;bRc;X=ml/@/#v0eQQ98K/d#'EpF98Y=^7*@:7)*`Ll#%H-vw$+cFQ7"
"6KW6pA%36VD.+F3p],f*HVT4(sco0#7#En0ea*hDa]iGYSoZ.8s17m0KwBW.H]JL(3$5*?w9..'>4STg85)k-&U^-+Abvm:6@02DSg9s7q,9N%+]D:BpLT].j?H3BH'BxbDg//=T+ch<"
"i4Ds-R2vB6c49C#wvI>#=InH=YPG>#NL$2^uNN`<kWIuuS=-5/X=Y&?KvHD*Q_[S%;Bo&,[hfsTY_B2B.[Tp7^gJ*%S<0Q&=?%wY>&VB#<r29/K/B'/rADs-7LT'-RW5v,<p?9.Vt8N:"
"TtAj:DX57*Me1,)pCg*#265N3IbdtT*NW6p7bgf1Jf?B3r;m/cn`_1([#Y%b4[m?$(KZd$?O/T.qTk`*<&m,%Yxgt@NUIgCC'a@&B^X[ZHbrD5E2j_4ocP.D>L`+=Xo<T%0,EB@eUFp@"
"i+;H*EY$j)7iYc47S?hGkuWW/sNPb#,s6E?jdMs#+####1u_vu5T3p#OAO&#/x+*,VEo0:o,EA+Ws'A#fV*&+rb:/#mk*#H1A[S)OWR2LZ/dF<'d5w-hKE88jE,_-+$Lja-oQ=7>3lZc"
"o_%u@3($fhE$T6px7V#AtARL2Wrli0UB2oA<*UG-@ILP8I8Na*2tf<-j`Q@&hr4oAB'g]A6(SQM$i8d#d_DM/GAj_7jQ%iLd8QY%<E/#,=k2d*-vm/1OF`X->USpA(%Eq.V6d-0luYg-"
"S@:Y?=W/CmwE9wNPODpL'LFn-WSdF<u0^G3YEMT/j`%>.G,dF<WTq>?7tdg)[H0W-76)c<aA1^uj0>w7^e9?Hk&b)<3%###%-M(v-m'f#Gg[%#7+]V$&eq22@l_0*1ih;$e[o/L%W(v'"
"HImY#FiPo++2wo)xJ0rIrC0+*qQRW&gb@9%VVs)#nv&7p/@e>@3%C^uRmaZuX8B1g%pjm$P#DD378+-=D'vM(F$nO(](#3Bd&RP1k&(q%tH[p.VlZT%@S:o8+88)=sx=gLE(n'vgs=u#"
"'FJJ.=o%v#QuC)46tm)3Ckw[#W73p%7ONT%-,@w'w)>]#`edo+6lPJ(vm;[Y@%O=(Q)lL:2`Qh:to(c%U#IcM15c,/Bj*u@`fbB]UhH']Q^7H#Y`2&P5ZkD#/.^nh:Hl,/At]#ATGseZ"
"*7;s#*N`9#<X%?5%-M(v3Hwo#EZI%#`WjV&VEo0:iVVP*S%DvYCt/U%XJ1wGZd%1$mHL1LfcS'+R`Ne)k,Ur*6WI-Z_5^m(E0CZ'cfTp7=7W;7f&8?&qeW#Afw^Guw]CT(X*X#b[lrB#"
"Gs5mq+qr#&Fv+q7TDO,kpaO_&OW@d#XG=gLHe`]73W@l'JFF4'ru[s$aNnK#?DN3XWd^x#Tb(Z5+JwW(,V3FNfua**-Np6(h(9B'qXR,;oa71MmA)#&vNhAupgBOhmUjNXADsnW2'29I"
"U8CB>k@M8q6Pe59T,-<-M[B`$4sao7Ma?@RLcD]7=*,#'$_CwG2%pi+`'TM'1_ex,Wv^A#T7/R/G2bp'SQ(?'#.T&=VH)s@NlV209&EH((V[Lp*En'v6$Ig)kj@+4SC=K18l&<7]8ZW."
"[s^^@'go'vb6$R_:?:j$[+eT%8HXxFd,Ps-Nsjf<[R=6'<w?w',TWH?nl0^Y(9GA#uG>h'i#1M:gxSENtr0K:H6B,tppV)HC)c5p;t6OA5(1EMCP4D<0D>H3MGg+4JxU?^[9W?^:3Tv-"
"f/dF<iZQ/;VCJUpNJ+%t):*n*WuRT%p*,##W+5'$Yo=6#XJ8Q_Ju=%tJZ8(+QKoEX#>`e1RwOQT$R5)0?)LA#T?mu>[pZd)_+YasUw[X'&MC?#Sj,V%(M:?#JS=m%qph>YiP(c%AD5?#"
"0s?8%-1/](j*3@#37n6/(9:B#v;D$H4joaX,O3#-sqN%bQaH3'?k1r007ti0^H9A#dkHV7#'0IX7F-1,.Cvu>=c4D4/3at(-%L-M+lQ1Mj:r*O1K[?YI%M8(/A%I2O9p6&]GM?#m1To4"
"];B],4;JN4e*$sI2uns.8JRd+;3s22dk]V/`Yx@#(l.?#iOsV7NdF?-.;pg1P7.<&9/i>7L6;t@B$4mL,r(rA,)bn04s6OAL?L0A3j63hOlMBMCmu2An+d'/Bt&9(T9.Z3*rQ4(8AEjE"
"[D)s@A)9gLZkZs0M-xP/U:q8.$F.J34X6.Mt[+i(.3p4&$8`^#eUe8%24ZW-g`UZ-Kq*X$H753'V3^f+Glmf*G$F#7fW;b*8whe&T]%N'vJF[6<5?b>w4;Q(iW&<P:jP5YAtU8MAYR1M"
"629tRkV`,k<P:M#S1:U7q0io:i3n0#E/BP8oU/Mp^B=G25m0TB=V8h(/t2,#<a]a+_/HW-@c6<.Mxr%,Mxq43a<;)3G7_,*Q/$B#Twc6'axrs%&/x[>M-Qh2?9YRStY'&,.Kp6(V1#]>"
"J%S21%lro(&PQ=7j)$]>L*sXeOJS.2K^O/A3@%7pP)^t@D8V#As;9e*@7[q74K*j1'J1*+ansp%>Go#IcE=i*BWLV.T'SfG:hgD&3r,T'=rEO0-5YY#<]ah#tMd/;SUUAPjlB_/kPA(s"
"%Q:Snw<,p8;tZv$9H4nL>9X7/-5YY#c()QNN.g+Mmhe:2.EL:2j5p9;j._x$SxefLHo<)*p_(##Ob./1@i5p.wO[w'Cetw'lW+R<^TUwKrAiwK#0>R<p`&crxW^wKwrFwK?VKh,d/5##"
"O<Jt#s$%8#kpB'#;<X9/,LRc;b.m##p[$k(4K'3(E+3.+W(rP/%]`$#pRuq&ReK?-;]qk)4^v0^?akM(0jrS]:/>7(o0,X7KbRc;::M$#5LUg(Yv<70-ORc;3CXU%gI9/)fR[c;ST+?-"
"D8:lLVdSc;*>Q$-UIDZ%B_fV%Gw(C&fXfb,9JhrIR9xT.P>KU)<4>gLlKpO9_j+'&hCnA-Z'&n0a--87Ln8B3Q_26pd8,W-%i)C&iW#)MGb#@5.)=3p2$7h2lthaNmiVx$0]&30#0Tv-"
">;gF4ssM(vpq(s-]NP30#k*;0[v.A8010lVjo>M=30$+su$tAF[l)%vn+Pu#Rke%#fK%c7GEqA#,dK`N9=ns$V$oA#j9CSI$#dmS_qt?.p+D8.v<w-)?FPuY_n/bIiUQZ#b>mV%6wCvY"
"F-waN4r#F[RjxZ#SgU,)O32;?K)mb<7`cb$,Qo>#dQ-87Nlf)M<m3l(,CO;p*t't8C^(tm;#c;-]/hc$Ww:H##$9;-O`4o$gc``3UP7C#EnL)3ROr_,FsZ)*tB:a#+,Z10VfLe*WVPY."
"#&>uuieK`$stZg#T1trLakd##?e53#E/7r7:w4DkSV'vH;tZv$)HToLhV_F<JAm92a%`8.ZR`S%pIPgLmD](sm9J&mjAGxuNXb,M(-g+i$4gS8(vx21'9o._MA:@-vlDE-Yi/gL>_.iL"
"*r2Z#Hmw[#4%Jb/iRu.:33kS%0KQV[sEx5/d?4e#d@/_Muvb1##>V=/v5YY#ur^%M-]SbM:reLGo3n]>`nniL1q6:2-Pw:20q6:2',@:2*aDwKrW':2PPGLM(Lx0#J7]^.LH]t#=O8j-"
"Y=F_Ad=onMWNU[-c%[9V/&w<(`ZZ`*/mQT%,GPV-vWGj;xcx*->M>J*FERD*uiEJ.tPSe,=MPf*GQn`*KLY,%t#,/.2bK(-:&YS72V02LKaY>$Z3jJ:L;`4T:H8cN2qnN)NwUG)>0AZ&"
"]Tat@FbWW#;6g#AL-a.A^N]e$i]ge*(rD-2'n^)3%K,^,``Qv$%P7C#1I7R():Cj;a3M4%9Zwi;WDMs%ZY$e4^YvU?k%cG#*9jT9iW&n..3LA4e&*q-5oi&-3U()NSlc;-Rqw/&)++:2"
"mB6K<B*Y)#k*>>#;EJX#q#?r#D.hdMbZReM7hJwud0,'$3bDE-2Yqw-SA^SM%PQuuJ%Hr#hdRL*,k$AOU/l0M2I:@-:*PkLUs@S@o9v:2$He_AW2f-#i*aa-kp__Ae]@tBg)C^5FYbV-"
"pP0;n2CJ/MOS-:2vX$##.S)Ra/bL_A_xh*%c$@>#lVo.:ua%2^R@-5/.uWP&NU6,$R:-G&=ibp7@lt58U'-87(xD8p)gsWuX.sZcE#jc)nY9(%7b;suSB3^@ndFW-UU(R<_YYxFl0jS%"
"+GK(#aW/e$W*-ZYhDub%SEYF%G'h-OWB>HpP@u=.J#G:.Xt@X-8gif9`b258r.(SRYJ<_8E)P:vbI+)t'A+_f0dE_f3g3_f8lB(sv01_fA=YR*7`2F%d.L##(H:;$rsq7#^d0'#8pm(#"
"1+0v9R_.='t)x>#GGSda?30$-0M=@5)s[]4e1f&26[Gf,6EgY,^WpQ&CoC;$7x68%E*F9%]_:/#EI78%VLh/#X05##qTTR&6av#5Cn[]4>cY(+,QYx#Ls^j0gw+n0%[i8.PY6<.A)c59"
"nvrp7Z?)58w6+T.pg:1A[6[M0`*8/(MQAOhdrUj*>vT<-?Y'V%wG[1(5^S/A,/xghfuuh2lbW#AI-xP/Fl*F3mPnL(+qmp0u59VK<'*W-m,ZJ(A0K;8md.V@kc3wAJd8H#xB2:89/BN2"
"F+;T.avaI3>`rS%WiVW#H+9,/Y3)=BtA1%k?9JINum@`#vKcb#xeG03'r[R9Gc5k2'unn9b^,<8rvus8^d%##x%>uuhb[rm6xwf(B,'##Iugo.&7fM''FPV6cWEa5.rFA+>--*3*vB@#"
"(I5/(K-1,)$m$F6H.aC#YVYoR_Gwh(F%r?-w=9(+>gX>-AcP;-0,3m3JNu2vnbNZ%/KF$##,i*%5_[x6Su&<ICqUpJ%),VJ>qo@#sg]'+B^3&+gg1qS`SD:2Po=t&jAwo%EDe?#.U*@#"
"x@5/(Z>Cv@TOO;pXios]T:792eY04pTP#7pQo8U)AmtghT6`(1*'LH(BC.Chpp)>37S]o@XXI)$+lls-5$$a=c94V/stC.3m]WI)@#G:.B4r?#+aHv$`;PZei(sP*x,Tv-h?7f3;EsI3"
"MV&E#WPPV'FTW-*q'?i(Vu5$6p87r%ac5r7&1aV$v#n974MJU/J>Ii1QMLa>V)w&4c^&R1tDk`8G)6S/gdpq%[u$X-0#H#-h4@40Z:.-+Z-_x$7nIg:EcEJ2pd]a+kH]E+f3n0#P@-##"
"M5YY#=n=6#b&oc7jO<Q/H-b=$c3uf(g8;k'@(i;$c)O.Da0h)3U&lvG)jC$'lT5##KK(k'qmx[#hu%P'9_9F&M)Mk'Y]3.)0O`>#NBFX$:CNP&9O3.D%5?k(G^aI3_/u23>91(M(Y,<-"
"t5pf$4@uAueX<0A&#L6fH,l2(Q%NF=ahis@rHHg)R=lGMMBZ)4c9wLMPKZ)4m^$PHXTSh#*:/+%t=$2^.#%>7bUn-$->XQ4G?drLW0qt<TPA^#aP#kkU$xjkYnd##J8YX7bXQG$5r?s$"
"A4r;$=$^2'Y)_oIc&G^&Tf&*#)]i[k)[JQM[aQL2uXnP(Z_Y)4__G)4C33L@b'bpuQqa)<$=If_gr91<GoG^44[fi'EPF;-O@BA+p1;SIoGn?.IiU`Nms?&.bx.s$b?][#EMc(/#/-J$"
"61]%'v2M0(Gpep&ZJ[m/YkVV$#SMxPa2+w,1Jkp%`Ke`*))LM#8#JH#(9G>>9[[/A=XE?uXil8.qC>8pPMgn0^JOvaA(=3p@mSL2i[FpL#PF:.9EsI3OC/Q(stC.3qYVO'giic)fBo8%"
"-r-x6hG7l1?jqnuLk7oL21+V/hVPkONpn=9aT-312?CL;ifRi1oPI0E.Cn9:*)?9%*/>J<(,5I#3+,Yu*@5)4kuUC,UG5n%;MDM0-@8>>qU72'ej'B-^P`4'B-B6&;FIw#Rf]I&>;+M&"
"<KqJ%lZ>N%ACLcDHa91AWc3Cc=mtgh4UU#3eN^#AGa=<'@YxJ<&3:X8R;wb#b>12)_YL?-s*Ng*Mavn/sv1c#MZ@%#8,=-Z_Yt1^g;Nig8tDW%S%x+M-xkA#C(%Y%AYew'FjAKMK8xiL"
"Tj[IMnmofNR_ORMUu'kLP-G@R0J2'#gx@k72x]e,m]PA#(`YgC^75F%_xNk'f5NT7Cb+(-7[u>Yfar-Mp3N$#siu8.5Kq9&D)'vHDte;-hgI?6ljn##+Z>>#$[Kn0Ib9$-YNUH<:4'[$"
"-owZ$*`-MMVq)$#r`Ys-OR5jL546oJ$@ChL@o&?.Nh=W%F>a;.DBxY-Jbh0,F&&xcL@D6pbK@k(G2`#Ao:0*s22M9.FH<9f3]Ds@C>ve*5(u;?TK<j1Xmj$@e9/f$p)RD*=X2d*<.s9."
":?FD>2AD1'l)TP/ep0c<1;hY?onf]'Yt7%@k.u]>PmIv9_9j`%T.=GMB>if(&R0Q:KvHs(7RSTIY-W)%EZ(k'_L.t$T*Km&T&`k'XVYV$N9:g(AUV$#AA5N)]0JX)J'J@#Q3=&#@<(,)"
"t*Vq'G:#j'phs)#9/i>7&)&B7YP,JAKT(9(M=(,+$&R%bHI:l0wjZ:OZdQL2;3S>-fG?t$J%n8/T$<Z#H>:Q9$B];@eA299SYvLD/s$14:cgCTQ<s2YB46O#FIVgu.'pUIAuBet*i7(#"
"&5>##t_94.aZe#M^Gm;%bg9D3EEd3'YIeS%?b]2'<U8m&d'=6&T?j)%7om,$F#R=HRp0B#JGqIf]G>h2f$;H#F>mA#8+U/)89ED#Su2D#p7-C#Y0uD4$(HuP.4^FuXmZoR'Hh:;5YO&#"
"*vBl%gqv1^sR?]kt_NZ6O.=)*S.up'0q:HMJ-VHM:'2hLB[b/M5#R]4-fOU%o'mx4NI)m/h(;5&w8#,2b#>Z7BN[g)@H4u-]LpF*:Fe$Z0=;>5LT4vGP4GG2vOGG*7Pa@#+3.)*Q<@A4"
"DO,wHu7pi'eHA[#mcRY2d[&(#7#s-_=_7G;xe(t-PW]e]Z6]nLJB%0^9X7G;u(jcsjqugLkig88X&pp.P;hW.G>=f)J3]Y-1.l3+jN&o8lF>+1D+%-1v@Rb%4R$C#;6g#A)l]#AdaYGu"
"4:c'&td1F3M)G%M/o8gLA<Rx2&5H3):1J>.#]R_#xH:a#-a0i)n`WI)leGg)2M+Q'm?`[,9O7]k^)%Z.^-3P2?@cD@e#^AI#CM#IJV6Y@k7,NNa#jcWHX213H@<c+N+@N:.T30E9qX`<"
"9K?N:.^NKE>NWc#43qS/#&>uu:[I%#X==B'l*^w'ot(t#Isn%#QME4+5hRc;#$mk'kO<2']b<Q&gN][#8gWp'H:44'Q2I-)dG:>$#w0S,m8UV,E5LA#VT'N,9iHA#0Z+B,Z23#5R).Pf"
"?1j]#B@Mt-F0RtL:0KQ,ZPgo8I=iT.blJQ,WTgY%eZ(s%-K?ip)I.;Q0Yi]#VpOS7n1l?,VG:C,Kgl3',--0^;[7G;v.scs3aRc;m8C2qB*$n&V7;pJ(n1hLuxM`+*+i5/'Cmq7iv7Q8"
"Z'p<7Kqcn0lE`3(=0>n0[&$X$fhW#AA4SfGcS$1#7*T$GwNnm02S>3pVb9HCj<'o0jUNx-<MjD#@M0+*V$nO(qFW_&.AC8.GA'0=X^=8A$lXpL%ed--3K.x[>C9F6j.*>B$d#A=jI8Lo"
">Rdq0$,>>#Wk$##ui->c6a<YP,9_E/.AnxODvL9/vO@5/3@GaWhD1C&U1NZ>G9PN'#ke`*`=`W'Jqi?#.D+Q'9<G#'Mf_V$?C,B,*_qB#0SAY21F<q.1H($'e-@68v0?c*ZWw`*Ecd9D"
";$C*#arw2A*k.4(OGw-3#T6/(o(Q;pLlq3Awb3@5>oh0Msh*F33uAI$i]ge*9Pr5/>gfX-4b@29x%Qg)oYRD*`;^G3ZY*T%xHrb7>8`.*rF)xPobt`4h6r]5,$NF=h#6o/o)8(srpDX."
"=Tj`Hl%fB>%EK_>iFOC=,j:g*/;T9.gDFH=v?mw%*-]Y#LiA(s.c<,)kW&/1T,Ba5K[[S%1Y`f:Ta6H)tZ.X-mx3X$ImhV$&49C#89&xYAl,$,4X@h(I;d'=Z/?B##4gu.-J-f$^N-87"
"Sk]#ADHaq-73[QsFQ6/((`-9(r$VGp>?RL246ho@khb5MUXoL(P]k;%c8plYI1x*3A9w)41F;8.pI,qrc0uu5)qG70ltqw,[,9[6).RI4i^>&-pjnW0L#Zt$%Rkc<A1%B5G'Op%9qQ4]"
",^-r%R5Sc*sX73:g9uPCmaC`31kEY-;R3p%NC=69KiJfLhUj`#fDo.:adoS%xrmx4&^h6#ZRZk]`(-.4ci-n72[Rc;s'E$#2Cu2v'1'L(nvK60$h64(ZPOO2Ha&:);?%4(7Zst&cRr$#"
",Y9U)C6OY51IOiK&.ED,cjKo/b(;n'onu(+VCt63^1eF%Y7kS]Y?x3M`owg%.2PI<X?-87Q_26p(d4l(-X;I3Q1)xnqH8B3v+kKpkJ8O+Mr+@5GO@q$>+1N(9EKG;f/Hv$AJY)%a%NT/"
".[$l$-U^:/#PsO:1O7gUG.,Q'Ek-,AV)h(6Kwo%-Fv4$6oPu59)p-t7b8fJ3t1Hb+Hm?T%_v3-*AX(K2bgCn#nL2A7.x34:@kfl)':EY7fAhc5aVVZ>'tEU.%.N_?uGRM1wkDK*RAQ&#"
"6=7wuLu>r#Eke%#Gl4[$UKcf(,=2O'tO(2)ETNA+^D*.)*aC_&&gZw'#0G]#%U2D+2pcn(,7u2v^rdgL4QZ/((Xw<&a1g*#[,TV-M11I$3mtgh2eGH(]1jWq3H]s0mJNP(v/41)M27T%"
"kKR8%L1Fj1,D2?'<SjS&Q,p&,b`99..?s3(IkgD*_xvs.aI?T.NbgP3A@;iF;GgjOUq9D?9O1XL&D4'#%/5##LH]t#H]l##sCW)#=Bs[0m@#,*@RjB#B,mu>>,10*pM^@#`%^Y,,NHJ("
"sk2@#%LPJ(GE.O(aC=t(lf@L(HTu01-5qdDmekgLhjZs/1cS@#Ms]>#,N(v#ds)&-E=a%Z'HFgC2env#:0Q+=>JJOXwXcc*G/*C#3l'?1]S$C#a?=@#+`%p(g7mv(@U7@#SFc?Io@GH3"
"%S'B7qoq2Jl9Jt@KCS8hvW8*seY.@5q*M*'(w*JG[Qk;-,CbZ%[6ho@;/i?#x86E&Fc7C#T-a$&83Tv-:LW58fICKa_U9U#Q04S(vR[W.XOZ_+ZUC?/*Vsf+OS3s%xKEu-BLR9.c-hO1"
"HKC>.nLS#8ma,a,ZB:E#eDR7;11&`,,?)</<L==.:q?p0n5DQ&,_l'$D:iv#u$Z_+jhG`4,GP22u66R00,Kl19]/(#[r2%vQ-Qr#r%*)#a.J?&WRUa4th3D#,//)*8e9H2L5QC#C0w`2"
"=:]60[%7W$]peS'#UAiLVR]M1[U?$Zax<x'7mg[#0MK^)N)`G)B+/(#Upur-][[L,M?T>,H],*=U`_mS*(mm8T;#-36Hv2ARgOZ@pdvGG'A5d$pvKH(R(URL2;,JGPx:H#k`Gs-J'%m8"
"IoH#6Xc4K3_8E.3]E4J*E0=r.h?7f3MI?\?Id,-h._o:$-[rf>,k_BC4qm>8/V%*N*e/k'OpU@[-tQ*6/;u[W.dQI-31M^+*0ar+=Gt*T%+t(c#_Ih8.9V42(87'-)cSF]%7nwc;I0kT%"
"mf8j2Q,-=$9hQg)dTij(XQT`32j6VdO:dl/Zel/3CQ.t/r1VB#d_dY#4bfR/4V6A#Hrhc+4P-A#,uwo%fNKR)m<E@#.,3200%S1$50u2vPW.;'&TLl#'9S>#_gi8[+^ZI2j7.B5EA$]#"
"H;n^4m%N;IfSQ#$PP.UI%7N[#V:pi'gNJ[#<1FT.ai7L(aGs&+E]:$-)5g+*iV)(?N/GdN3'KA=piI12Fq?8pkvXn%cu#:AKT(9(^s,F36.*kLXaQL2CKs9)4U)[$lk2Q/#C7f3K3Ys8"
"4P7j4]H7g)`fWI)#o$],dP?5-AMV2'^7iu795(.*/cX)-8Qg3*h%_/3VblD4%-k-4o#f(+&tI],$ANS&%'$M;O)iFI63<7:_[YH=.Ult.AH:u$t9%##uNN`<aLtFrO,@D*%l&0%>v=/_"
"$G2E,9X7G;jo`<?#Rb]Y]V.8@=g*bNugDe-G)9I-CeP+#%Eg;-#FNp$K&Q;pZ9bi0;6p'=DBtM([uW$8Tgq@.Cu>=9NMYL)3p/,3?n[A,Hm7H#Z<*:.Dh^_uA@d]2Q'^[#*/,Yup5>##"
"M6At#Q]l##T-4&#H#<_7,*LA#ZUCSI&bJr.,lu%1%eEA+>hGJYTi0#ZhKD4+AwQK)?-CR)Y6ACS+3n<&R>Eu/FDv]#eYC3#*+8*n*L-87(]nd$Oodp(Xw1dk4c#u@>v>%b/o]N-'IMTh"
"j*Rq$2g,x6FJ,^,jR+Q'&J3j1<^8[6QZ5#-_(<v6;@Gd2sp&'5Y]5Yu.0EU.7$aa4SHa*.kY;,)4$pS%[_cG@[<Uh4[buc@[?Uh4#eoj:ws-NDbm5;H/r&b6/GO</BrDd%@o^Cs'imS%"
"jYiu5$5MZ#AWL0(G$#3''Iu2vAXiU%Yp$0LUbTYY2K<X&>s0hLUvk%=&E36pFGU?^m2F+1BbSpLuXot@I>%&47.5I)Ga`no'xM^%t]Q7&bi7F#IS_S*`Urv##&>uut^P+#2(iZ#Db[@#"
"B@Vt-bq0hLn^09$MEX&#t`sW-LCM$#ms^e$svu2v*<J$#u%Vp.d#&$#a/ew'%lB#$dCsV7=%JT%K?SA,_*KQ&9iuY#)AP##g4$##_irS&9e/Q&^4&jKNH'u$?ZY-2?k%#-;<SA,$R9/^"
":[7G;UcaJi2^Rc;d?aVnkqlgLA=aE,*[q/)l7Pv,9:es$E']=-?Av3)X`ZF<.wL_$A/i>7=Tkte;VLm(Dmtgh-W,>3D9)@5).>n0d)J<(B4a1(v%R%b=RC_&<vub%]e4*v8WeEN]v8g2"
"Xpp<1tIbA#'[tU%I2vp.$M9F*>&Vu$Xn`#5vB2j(E9j)+XK^2'2WFu-WxJ5'dhi5B*E@YYNlb7DArg3OV)7t7l:)Z#5X$H)D4DYZef@CAQTda$?1#F#$oLZ#N2JVMgEa$#:<Y`MWJN,#"
"8N]/LD$r19TDuS%fYNrZmh+&7[*TD#k3>5&X5bu)M4D@#0.HM9,KxY#+#US.?k3x#Or>?#HAwo%eCj:/Rj[d%`^OsH:1IW$ob0E#Nb,,2)W%A#K6WcNc=X]>9G`B6Gq]w'maf[#*L@J7"
"vi^F.L0W+46'k6/u;N`N9,QT%*Hih$.Ua<-aB.^$T]q*%d#g?3htI7ceL,W-VJ7EP?)P^,>Bjn87x0B#xH:a#r8l5/ae_F*I$.29ha*^,(&ZT%44320ujVN(r09T%-9u5C`wi*4H51_,"
"7&8,=-;L6(MX4;/T[5m'p<0#.Y2U494.Rb>;rnM1IU1e&u8a0Cs2'32uOhs-xhFf2r%0P'8c.N'EjS*+JF,m'17wY6#IG)##)>>#r7i8.8K0A=145ZGu,>>#xnLZ#;,5>#%/5##b:>b#"
"XF%%#V?O&#2a#]%Hb?dDR4d$&:sS>#6fDJ:2b?iLXld#$tngYYh@RA#T>^Y,aLiC$OGn3Tq`)9)L1D@#>0h[>/'abNKag%OOwv,$<&^>#jIC>#_Q-87=/EpLaoDaM&Uj>7x#;H#Jf?B3"
"&8)s@Dg>m/=R^#AB%NT/w#1-%2DXI)O]dj:Oq%?5.m@d)vTxN:AD=A5O$mVLH.`fbuXno//kWn8Y>,t&rFbT##lMA7=U(.6sD=9JG+BG3O8wVB'g*[K/(r19Kuwc)`K2GDFZ@'$L)_S."
"`9wY#p2YfCVuPZ#]bZp-nVQBoaa=?#_iN**t?^u.bC%p.'aQIDP;[lD%pZ`0^^.l+@O6q&6d^%M#%`#A1^-9(dY)22f.g,M8jQL21fMQ(8,7&4/@;58YHSnLNeA:/s'7q77['s/i<a13"
"Mb.WA=:''-J`?`,c7=l0xn5E*wDbr7p:-D,+bxj0wUQ(5b*Rq&@frm&WI]=73GJfLW9of$UYac#AR@%#=B?^7*?UA#fSL`NeN(d,:sS>#>rWt(l'1n'E*niL73IS@-xwq/CM-A#^<rEN"
"83t)/;4<B#AO%6%(o?8p);ceN-b#wjWrn'-2w?K)iU?23P_5-0EE=^,2u[:/ur0P%2VF.3>:E:.$5Y.3feGN1`K-D#E:$@,(%ip1lBr=6dsgR/`2/0<@R]#8e9osASw1@8%rWh1C^ou6"
"@b#O0p+I98p;a,#41%wuFU1xLAVK%#8@Ut%@[I%#IuU?#=x&kKm]1?#JT5ObV*IEN^<NK:,?O1#JE^m&]B;r9cc_6pNotgh-^VCk^T<]+?,]7c9w8s@=@ip$Rt;8.3K;$;9q;Q/#EBVQ"
"NL'(4%$OBOtYV,&.oX.)Si1v#t#dI<:<<1<5+`C,7D>##RWMj:gmZ(sdDds-^oUY7:)@w'eHA[#QDd:%iQ0;*vctJ:MlM[&2k+(J/YNfL(L]S%_Q-87*$Q;pF6Dp9`Jft@x^b[$UD.&4"
"7.5I)*)TF4beY#>TP=;-O8pk(6fRA6U[9I2?'ps7%4ki0Q#eS:9C`Y,#VS'>9`vu#HBn.:b_xc)Tf8>,d8'>GLYU#Zl]Rh(]uahLZW#n&DT%C+.q]&#@#jIqJ,2.MM%m/*SC+^,4hw#%"
"0hDK)3apcN2T&F.Q1t0(ph.0)9K0cNwo1C&T'Q+#Q=kXcLs2RuFu;^1MX&-1[0,CuKv86ps(;t_-DsKE_>%>%'u=.)Yq[P/C3so.v4oL(2$px=EI-:0sqMT;s)081t%f=*6$#lCW_[5B"
"-&8N0gu]20B6G>7r449/0UD#Imr+Q#*UGK3pDvLK4d*i<m8SfLAa&##;Wd`*qAq<-Esun%hakS%;Z0A=I/9>,Z$fS%oexiK`=fjK6tlkKom[`+:]*I+s8-k'1xXb%hmm,MS1I'=uckJ:"
"6Bk>7.feBM>>J#krZgK/_^f#A^RTfLGgkD#4NVO'EPlr$kL+F3>._j%#BAp=?MD88rC:s9GExr@3wgS%oNG5A,U4uu34Qq0/^:m#3S[H51YtBEH^Z%b^)2>5*@S2'qVmx4uAAQ(O+VlS"
"$5<_#5[4Y)$_<@#'HSN%^U:&l3aRc;l2:2qV%>gL6wL3(Rg;:0j)0I$bke%ZA=a=lOmr$#pS,<-x:fjLnj>l7'C2'5'GsC#OkqlKU?^Y,fM.L(K;'=-;8YR(G$JY-,'2_A^?S$#siu8."
"[_c9'RL*jLsi=[9CRqn'K8t<-hw35(hciS&93`vY`HQe<_56b<CjK.$MhRc;mW5@.N)O2(&cX&#kc_$'Rie/(fo'x$4%Hp0nv6o08f7%bLrnM7YKf;-_:Mt-@LC0M3b/1A?K01Abwdum"
"o)rK*I)C&=c1ra4as$d)^^D.3rE*b$KWLD3J29f3][_a4mT,T%N6'd4?N2_=bqw*5BK'v-SN%?,urBD589,x#m*lk0*J6/*c>6^=1Uqf)&G>=&3n?h2*nQ9:*$9e46g1-26m<b=8Ll89"
"ujmS*8im6B66Dx768OM(*hWP2*qT),PA8j%nI]o#(Rk&#-fUv#%**##b4'&+VWRZ)RjB1_M_p)'N2li0Z./(#Tl`s-])+##B&)>crTel/ki?8%xRc%F:H?D*j1_T7U>Ot&`bLhL_,_Q&"
"9D'73XY7;['a8m0g.&]-,YIR30t>S32?j9D2?j9Dma,aPrdm)Mjpna/ZFW:mVFWonc<N,33u%b/^%dW7r8It/%EiS]vY>F%`s,6&R>S#v]-?;##Y)^M6fUSKDeAB5@.9Q(kojhLwp`v%"
"Lx_0*ZUqdMk8_6&:e3n/72,R($Oo0:L9]>-_]Jh:5Qnm0/c?uuV7+gLFBN($qe''#5#@k=;:w0#/'Z3#7WB[#]9jq.0<2c#?adF#^c/r07a/f3Q9kc%A0.RNj7?<*((G$-cIH$vm,6+*"
"2&CqDIp;F%<0M&#s>gH3eUUJ:^_?5/$F@kFFM`ul9`+/(x:I8%K>nR&Nu[f1R*3e3(fDa4OMYxkTCci_'Mv`4NE`B#0p751Bq.##0?_W.g1#F#9mF?-WoF?-Bavp/hWS%#(-fY#d>_W."
"SHA=#>mF?-lg0-37&(,)3.GuunFIN'7?^a<dt0-ME:ob/V<dCssO$AkN^mw0Dt0kbDV5r[4*u2v[_nN'ncm9/;5dF<vn#q7bd'#v`s<$MlE?'$ao$]-m`6R3r)v2$f()N(fRJn3mAA#,"
"3(P/(vDLqD%*3e3Y):g:VnEwTrp0lMb$vOM(u7)*oev##OS$X-RY&3rd`BK-g.C<.a`a-#?wFj0$KQ/(H,Ls-:hZ)*a_##v,A):2Ot1:2#6J`;#^*B#?3ihL%r%s$L)HPMVoF?-ZD2&."
"oPahL*Kel/mPQ9/L:8H<sj6iLf>$.N71]^.Vd=:$4gDE-)],)/g06;#0g6@Bx2<;&cV7/(XE?n0JhXU%7+;YPVaIM98luu#l5_#.f1DA=]Ls(W+AYY#1c1v#wEo0:Eg4PS*VUV$<'1/L"
"pCB45vVq/+`]'(ki7/F%`7JC#4C4D#>FlCGs%)F/Avm]/3=Flo@(/>cPFU60][h:#pa$8[B:#RNIL7VQ0lh;$iE@>#0j7-#Um)E#YZ)22gNao2.3o?93('t8ptGSbUH&v#_oA58a*4m&"
"#%En':Qk%=?w_vu(32kLDuX9%M,*hLD;W$#,,?-.h<h-Md)60)r;mj'x;>,24xhv#J3.)*81`$#c%':kXPe#Au[=0hbp]=+[sj^MMiOUcTqSN-1_Y-n0vJwqu/8HDM#SR*PNrhLjT5rd"
":bH,**.U^#pwpxY:7&x(ifWv%(o7?7R1;5SV%(,)44Puu=`?K1x&_a<^dhJ<AgH=RYW`8G9pK8o1B#x6vSfM1b;>WSW6GDWae;A+=fo._hZ)9'>+s<17pES7]QIV6fT-<?1Io>eX/SS["
"Z,[=.$F&e2s^o<C/a/f3sRgSNoR&<$ae53#%FmU7NT6)*4ZT,.F3'dOqA@x-kD5pO<thxMqi8F-ZrbW%:<DPNk-/n7B8l2M80Ar8DIvR3k>@T3F@mW%`<iuPj2F5/mlR)38NQ__Uu>9+"
"JPr2:aqN%b?.OfMx'C+*mn]W7DZ+1:=5`Q&5m`S]Z+<G%[;XfMY/pk9YR`S]7fnw'fA)n&nuA0%HsA0M)4Tk$wdT8fX]LcMSS*W7RaG$K0+`,N8@b+Np8hF*DEdS]1)HF%3AB*[IxCm'"
">:2X-v]GF%44CHMUotO%43<m0'fAe%C&>uuP:':#-]1Z#h`''#j;B>#Cel0d+w#K^,c[s.GuRd++]>W-8`nw'V(tK(?=rW7nBFw7X1L/)%bo5/nN7c*^w<mL0Ah0Mdlke)n]>W-(a>F%"
"IMej'H0]Y-&>I@'3%cgLbTFT%9$dS]WEFt_[u9[K$5sBo@3nw'G9[eMP+pGMu60C-PG)qL3.m<-DAJ487+&x]$jn&+mfp/:e%:'#OgR+ir5[(sDuV20<a$s$N/.__`o3?%%%7q7w8Bv-"
"'Cqo-vMUHmPZeIMs<IW*=V#<-AP2Y$Liag(K0]Y-34pq);R_HM@^`v%>1+S&-FnhM*.pGM@r598P1,F%M:b>-l^iiL472X-Cxww'@3nw'MTweM@+pGM)x9+*AL,F%>a0j(E?.gL472X-"
"9E*.-@3nw'6=LHM2NJ#Mab66%QGp&O3N=w&HN+W->s=WA:kX)#(oa`WCLmx=v#ZA-,a;B%?MCSE$h*##TvERET0&##V;tfe2(>uu%l2'MDY6/$N;fN%@J][UsFaP]s#HI<s/hS/qQY##"
"xV%9&sr78]mNnY8_sK2'_:Zf_<?oY-JgoQ:?:TZ5^O9d<d&;R:L8(`/euW+#]6+T.RNds6e22n9)J0X8ThFDWH*]327rAZ5AQQ9/miEL<bml6:n]J'H_2SS[G;IKsxSDm7*3U73r7FWf"
"d1%]-*8rwB*Fw1M*B6##;vjE-v6kVMsB-INQH=4%r/DYcrTel/jc68%sFSlAw5;R*#h*##?0Au-9ejRME$v9#;[[[#if0'#Ipx=#-lq;$DPB:2'V0)N#vMaM$3[Sbp#n92v1bCNrJd`M"
"h_JX`hL*d*7:lA#7h%Y-;o;R*%gCp.[X?5/wu9dXGCk$8S[2w$fw78%JP;20Eb%'OH7S)C613T.-qq#,q&c?-ZuCE%bNFt-x65%8>06Z$g%v?0#fri0HGvl/OaXvPq]%Z;6.w8.t2@$,"
"n6W$BKBf>P04&<$+Y;uLwfnU7[(qo.qA0,.1]LEOaLYs%IBOW-Npb_SvIpq20snxu0oiu$gJUd+XZ/xC>K`&#(vI-d''q<RoU:@-x)e*O0BgFi%1GYYh&45/FASW&nQR78s+6KDk5OP/"
"FASW&3Y72N@V[N'v,L1NA`wj'M`SR*M=WQ/MQ*##Jh7s$5nGW[)Yqr$Uc?*S[hiYP;Wf>MJufr6j/N%tMQ:@.<D:5SE@vt$%Pgv%S-bP&@E]>,JSu;--T1[-em*x0fxfv%Urhw0VJ$x0"
"w@K6vBOAL;.2q>$6Bqp'qvGl72?[iL&rM;$A<F;$Mel-&5WB%M^9eAO'Q^PYomWDb`-E'O;iHM&uxefLFZCHOZBMenlg&<-gMB,.'p4DOS8Q:vsDrr[:LZ0ct&>xBmM7+MZiDv#VY=W%"
"]?NXJF`-[-R[wJ)0R>5QkXkGSt[HX0P%###8,.8#c,c98wn:S*7NPQ/Na(;dw&'/1660X-hd_R*50'X-aN_R*50'X-%EVR*8Hg9.?M:s$?##3;oZR78$GPH34Zr]+[X?5/0B2d2+%_.#"
")9@W&w%.m0)n1c#.m>KNWG(w-Rh:G;w6SDtm(Kg2h0Y>-TYb,M.XwaNas-4G%FmU7=fhV$w=v?08NdE3^0hH2%7n;-Im22%Tbns-vwb4;C6E;ntPP)O/D56;q]ExBMra`W:=g(ND31?-"
"[hY#$S7uXC?twAOM*6a9[qT#$#9Y3bqp==CQ,Y:vD>Jt#r+.8#0VO:&+IdgL44P(Nb:_0M`Ytk%CEf9$U7@8#'Q?(#?;wU&5HUYZjOp(k*CZgLTK$5ND*b_9P%5R*pt^R*&+iK3_n%f$"
"'Y?5/kNiK3inp-#)9@W&b9nX-3?mF#';MLNV,cZ-xieK39/6S/^+I,*gs#E<=(w?$0c&##7WB[#hv+o/LB`^#M/eF#U1(Y&h/SS[F0[:&oqS73.+w;-nwl5(Lra`W&5gK3:T..M2#/s$"
"[G&F-`@@x-h)9sN1I(xMX(P@(gJUd+A;.r<U9G)4f5il-u*1/dYi38]$Is_A+VT:#6BCn#f`''#7h3f-dMG2rBTT40NY%;d1c/;6N:fJj=[`=-sf`=-s'`.&u%b9#qHP'$RJU[-bOOR*"
"DbF&=XiR5']I&9f+i?8%R$BonW(.4(v+%s$3PAE3$%=h:mkK-<4ovx0NKg:mcII0)3.GuuNEHW6@?1@-0B1@-:DUT(C]D4#-(iE%$1#2;PN`^#%DfF#lo=rT+'xq$4S29.PvHoe>[&l`"
"s;vl7-TmO4][Cm00+I;DL0#m&u/0<-Bgg,.va`3V<<qSO=$rxMoV2qL,N8F-_41X%(@b7n4)]&#sw$_fld)xRhm_@-*ZjbO9EgFi_4Vulh&45/&$3Q8Rsb&#]X'dMs4mT8t*5R*0<);d"
"Xf'2^4m8L38/(<N)?e';2-L#$]f`=-NbsR'x6_R*&Os&62x3%$]/OJ-Aiov$nfBL3FZ4)<R2f]G=,E8]vbm@.P2Ca<w:MDb@nHW]lQKk7K;t-*+w7##i3`E'qPhreA)l;-;akO)$lFXA"
"f>+l?(2'C#Whgv%@rn<.[E.;6ZEOa4OMYxkQD1[-2-+?[f35A>^-G_/J8(W-,.ik=)]gv%_X78%;tMA+=M1'OHlM,B5nF)+Re8q.isdCss3F_J_b)##F(<AbF+=V0>Oej'8?^a<iHQEN"
"qAr#vV-ZAOP`0#a@fRfr'$#=-wPBW$FOW32*w(oGVm@_#Ubgv%qhv##P]?t-^_)'OMC+aCwW6^#4/A;)D3w2iw-O=EAD.*+Id5b<YTD'm%A<j$B6J'$wXmJAsDnA#+?\?]'iL>,M8P'`$"
"L#[1p)#SY/,2AE3kGOw5#k<'OB`o8#$(M*%5gl4MYOQ:vE'r19)2M2'B#;j09P:5SKj?8%f*YxX+d@`,n[er6.1u2vhQ6.=A92c#4^v0^j.e'&&x$lLYZ'-%5G78f'awA-wIwA-5Y<^-"
"5XVb7`&#x6Akd_JLv3gL1H]eI0Qe8/u*=]@ReDv#0w]PpTTIoL;Bv2v;:v<7TQem0@&0f322O:MqO]V[p@kB-q?K$.&nqfLG%PZM_qG%.fmDLMs;svR[hu&>S1*9'^YKW7vl&MNwW'C-"
"x:=n-NJ1X:`[tr[SGD@9ZM%,s:niu$O$>:isV1T.H-(&X#SDe06@cuu9t=9C?(ZF>&YN.b9-N'%,s=&OZc&QGj.[lp7*)$>x7tw9ZE[Cs.CFYcn0MS.I%-5/8NQ__AVq(aP(*@'F)P:v"
"HdoY-RUp.-w:B6v*+`Z#P,4gLDhm0d@eL#$p[<^-7+9_A9U2.-8x=_A=(3xM@Lu(N%S<^-H.1.-$do--*,6[M?>GciPY$5p'))9.w;tfe287Jril%2he?ZVRl)&gL-D@?$2m;mO1*#GM"
"1F;tMEbl,M1tb;N8q%uM.kO`<^CtFr;t>1%q63-vlgA>#i2XPt'R)V7q,2>52mmb<sh7OrScpc$//78fg2I]-`d_O4MYbCs/mVc<;/W&H`:RA-qf@^$3`QGWxxJ;/H5Hx#wA4mLgJQ>#"
"C'UL(v7]V[d+xA-mmZ2(>ZnS/xh:)N#Y?n<]VIm0Cv&58P0PRaJ(oSa.meC66G-n<fH3-v2qU-P7vJ_6EenO;+:=^-oL+I7[g*dM`/gFiqf+>uP?+<-c#'c$Xi_v#>FG###,Y:v')lV."
"`h'+v_oiiLD>),`CYc%&[XL58X,;Dbe#j>$AJoY-J]1jr1g4ZMSBZ/<l/@m0Yh(.--W9W-ED]F71f[LNnNan%>2?]M<@u5v::_+$N`(68EvK#$;OF88os).-2)E%v%A@w#[)$$$u8lsL"
"63>on+i?8%.5f]+L+A*+xf5##poQ>-PGHI'G:7vPOfx8#DUn]-d2wh51SU<oKFJV%Q68m'B([GW/hqF7l+2K*9dPvADr4^#&5I+)%JfV[j-2`8ad`v%^V6mM@6v2v$av6S2rjO#rP+J-"
"nTZM($Gor[[Pdn1NQhm:Jmt&#IiV4#H]TC/?SR>-m+%,;MACa83$tb8[<&Q8i)h>$/+$]%SxC<-vm^d%sKe'?k'bg;[ht&#Dm64$.EOk%9(EXA;u@r%^6`F72Ct3D#;@?$HAu;-N_wA-"
"?U(A&]bhP8gi^d4)nh6v140A;TQLK*^_&K8Pv[PB92:Q8v`pfDj[MW-$-,LNw:@?$MYu;-U]_V@3d0^#A&M]$NSu>#0)l?%-%hv%8@Us9vE^ucN$d&#m&v+;<uTw0xaZ3`G9qa#w7Y3`"
"t<.5/UuXv9%og$-5:YuuR#1W8B92c#wdN-tB&pc$OX^+MC?;,)(;s^dnqDK_r2[CsLaRQqu:A^$]bsreLQ8F-1x15%-14W8E++.4G4NY$qiA(sIo^ktkI-QO/lAj2KKJ,31CHgLkW+kL"
"?FrN:(a=_f6e_o:B/LMq5X;f6Qo^W%`<iuPL8rY8V-88%iC#>Px(6i:x'xlBVVl`%`'[uP44lxu4MU[-/d`R*<>BP8A2v.C,JuR*@J08NVG]CssSx1^8Q^/:l8<aEFgBSIo8#p%Ks6)*"
"i=(##)T_r?^F0crY7jf(?Dt5(hDv/(=Fva7uPV-)VM3I)DUlwj6bMBkh3H4pr2tH*5WLD3k::8.UD.&4v?.J3`-^'+WvC4'DhL/)(te/*1^;#5Pu=$,*bK2'6&QpLY?-M4cK]f1@>'6$"
"NAJ9$5Cjl&PW]e]rjJ3M)C_E':&6t$OOi$#0#</($pCn0`+Ym2P1tD#(^(8%%((f)NCI8%00sS&.bM)+<bM[,o402Bn2::%0O@x,C<t6/T-)hLB;YD4vP358(Xgc)SC6N)O/.L(7Qo2)"
"2w[##`^''#9INP&FW25^RH8U&h0x+2eU'teaItB#tLf203,m]#)in$$UY^6E'Nkv60t#,3EtlVFFFxY.Xl@E)Q@'T&o5vN')4`W-8U&%#IQ0^#uN7)$:g1$#f&U'#Igec)Dd,B-KuCk)"
"^4pi'92-s.6J75/UZ=r$Cw@e*,$P1:m7P0Pmb(b*$oIs.T`1o(Bqjl&F]w9k6nxwa(k@&M6C$0fcu^t@i*)E(XCX)1Hv3A`9%D7B]tB#$Up6C,wU7C#vBo8%C.@x6@?YWB+^o>M?gS=-"
"_;.J2@c<`#k:E9/@A1r.W[s9B(3[C#AYwi1.'P40./gY,+7a$#O0)'mGK22%r,?\?$SH<qB,hak^)r8k1LQmF##L0/^_X78%rtkO:gm0^#YX&V%1vb=#CTG6#&S7=1K3(-//==wQWg)U/"
"Q6hoeD@$)*j6D73SL+-/^J]^.cN]t#ouDE-u@*'%6tE',BhuA#0wLARoJu,OaWJ$MxlO4%`>Tm(M+rY7LMTo3&x$lLme$]kT]V/1rTel/MZqr$mB4[_3[`=-tGX7//0T.vmq<$MT<oY-"
",D2:2C^l%bvM/m0(D?R*(1f--lGT^>1,$)a8[&:2F####-fG<-%w@T%Ze+/(#?<GDE6,/(6Wgx='Qc0LXqN%b<H@h(b)Knfa0h/qket,M@.XO'8mgW$@T6d)nx*.)mrRL(LF`$#+dE12"
"Z$IO(Mdp*%)H[1(i02E(i[bJkGfuE+MLT@c5*Bp.>;gF4pf&0<]F6J*vX+I):6b#-2((N(AjVwcEw+h#siB/)Cut)>uvFpY_Q>tUH/5##+86L-u`2I.TBMJ(-4^>-0dD4Cq9WU.k>Xn8"
"frWi(Fq7@#;fQqRwg+.)iS.L(MRSkT-EaKAgJoShKm`jQ%[3<%(V6`OnQ^Y,(b8+Q639wU&fcE[W__E[mMC>GWCLS.&br2):?4#-)@e],vVZ_#')###H>l/_W?0l(Ap3X&I<7U7GTV$%"
"^3J[#>R#7*8+M%,hXmc*C4[S%iD4fj)BuwaXqQ/A<Mmajm)nLkqWK12P`/1fJf_D49.[<-lv(>(J>4n't<V%,7h%x,)GrU8M6(7Bvf3E*'b.&,?94^,%b')319Ve2jvdCsoHg1pc_r(a"
"*`$s$U0Y)-lWpk7a?6;@b::MqU>g5'J04x0?HqkbfM)]$R)9p&=g9-Du=h>$u$,,'7,_/D'@+Q'vao0#lZ'iDVo'+$35]m-BDeRWL3iHMQ/;hL?#S(#^:%Vm]N#E+[TqA.qan2PlS`<-"
"BZ*Q0,jDkW_4?%&J,###MEx@#s&eC#O?[8#fs,U79%eS%5RW`<W:OGM?\?8F-I`d9/N>4e#Mp/kLWed##Xji>NxkV;$M,l?-R8l?-t]b;.maU7#^&[2r,+p+M%Oj3&g&f--fj;A+o9,5A"
"ZB5T%r[1N29Yro(5,Tm('@5@#WZC_(U2ZR&%nDo$sehr$$3<T'8))Q&prw-)_PNI)M1m##4O:F3X[bJkY%)1f+T;(kmiWL2p8n$$Q,DT%sKOA#:>`:%[$=7/5R;d*5iAT&eYn-Fm;A87"
"Mx29/<W=#-+>S-)E$tc8p'LWJ*Ak22R3F`WW#l[#E4xP)5&9Q(Y9u<Qfg+.)XHGJ(K@s3T:X)1fnX.s@&h%<%/,'jO0-)dKGXBYUv6[&dM>2]7E[QG*rJ2O'b-^M'Hxl>#cFm;-ii-r+"
"uww+2)?TR8aXKd4]Eo8%8gM3;eKB*)Gh%x,*Jf1(bqod<eowH2OC@],=e.&,xxaE*`sFA#B3IF'R*=W-aI*5rcn'2B?`+/(pJ,##Ou>DmQvF?-g1(w-C1J3N+`J@>6HmfX]Oxs?OqYca"
"xqRW-BC7OaUssR8PG$m4Sg)OsfW6'v:[B#$HL$A/@.>>#e_r;;h8h#vgMwM12?2c#dtwfX[P1[-gosq'Q9?H3K7/AIDQ6'vRAw38i)h>$S4*q-X#`Kch>8^+(YM<-s-eT-V:*q-/1>wp"
"4oohE$iN)u4?]m%N%D5/Da8w^[V&2BMN4WfdP`c)QKga<Gqj;-O)Upp_npiB(#`s-O2pON=;Sh([iL/)=V)q.sJl%b$hX-?7&(##m=BP8)ZV:vZ#+##u'GR*Zlc;-A3S>-H5S>-A)Zl0"
"W7YY#i*.8#g;P=7&l%EEArdZ?0;<T'<Gr2'lmjR%.=33(-MuY#'uEX(Q*i0,`$?;)k'-,*Q3=&#lU?]/(WF?#C.M;$NPmW-MGCCROKV)1YLCF*o5oDEM,<s[[41@8oU2W-RY4O2^g0m&"
"W[vKHlbi<-4I0vE8qB^#O*p(M*^bA#C$rl89FnS%EDou,Xo&a#'/,##-A>##U'x+2HJ;T#x47q%T[GqM)PN(0sue;QPat9;tJp;-65?T%K#[1pI4kg1NX;##SDQ>--+u2vW9'<?&>Zqp"
"e>;,);]a&=in.9&#_u.:Hp-A-I[.q$E#M2'5JJ'.$Pk==YS*=CLwdgLTe)M%h8[#O<p-3#XL$I1*0O?#a%b;&cV7/(c6bN&ke0x0q2H?$u`uL<g+w;BWCVi5;i'$vLGf9$x#%8#8J21D"
"p`fgL:L>gL.%?x%NTUl:FoK#$ut[:.fEo&CW0d&#n&/_O-W'2^/mmt.Nu]Cs>l2:2;)0<%Q(fG)?WaD#-8tl8#ZpS%Sn@J1XMeC#*M1v#U?f0:YoB>#gbAu-x,e/F65_B#Df:EXGE5n3"
"XYEnLCV7aFf<.##D9GJ(NLMg*&a[d'#6gM'9sOj)t^vS7:9;_$I7m##P;U39Mw^_,.`M@*I0FU.7I6g)tegJ)R1np.jJi,)=aa9DL)>>#r'#b#vJ>Y<wMP8/N.e8.+u7]b9@G&#sMQ8f"
"C>=8%DX(#vU5LKEIVF&#;`m8.LD@>5_WmxuLUx2E7gd--<um[MY_NM0N%.<-Y[J'&5kjcWO>S>-WK9jDN_`RU+aDE-n_.b%3BI#$P=-gLsO^[UZW6L-dc*qD^ed--F)9.-qL=xK9C5B="
"Yfh?B4YJfLHudqOUUK0%NF=-vR(rp7$:[ihcjD#$9lD<-@^Uh$]n&AIQq<mCV^P8/Gf'gLV.ntNi7:W&9)1<-%^iiLO7oq&Jr0gLMbJCS5$'s$>b).-tM<sp.AKV-;eTBAm)S4V-aDE-"
"tZiiL9>=5Ac/t-vIO_F7tRm&OPsPwN1V/R&m16/VLF:8STX?hL[a6tN5Q5s%v8XA>Bi9QAG*S4V_=eA-'rE88T_.5^XJg58+,U#v$0M(v,m'f#_Z.m0j1?R*#RU&#m9X7/u7[o#B$bvM"
"I=LP8R37V8K1?5/Yd/200'l6#@RZk]>SUO)PrLEM'Ua0_s;*'(H@&+,#Iti]H=je+Ej4Q'P53)N%.gfLcH<mLo]/%%$;B(+vo@L(Hno1_B2Ww0m8C2q5gRc;0B[0>t%jcsltlgL75mw-"
"A&tW%'PFa*(BgF*NPu^,B7>G2gTwu#*np:#3'u2v3++i2p3-9#PYB>#'wn+M<.-v,/j7-#DJf5#`b39#`/MfL-8b$#5_+/(Dih88#g$<(<U<8p;VLm(F,V#Av:%1#WVGfGJqLkL*9&7p"
"=mtgh4AVTuAco0#cXvghv_uqJc#[w'HCTfL0';<)tB:a#'G3]-+9qB#NCr8.7)aF3_QJw#c`[D*IweP/tiTY65%wYu,s,Z$UD>F+VU^f'=4CY$dIcY%%kN52TdTZ7]bdr7k/$A#vb&r."
"xeI8/&$Z6:#P22:rvIK)wVVj;hLBH<nmK%#G>8>,_91JqSx.,)nZai0fR*;?lPQiK6#Xp'_8V>..?n$?f:>j'_.K*#[6tG*Z#9Gl5XDs-iL0+*I5^+4^s_`3W:o['4afF4;Lj?#_Aic)"
"psJe$#UQl1S<_C4S,m]#G18C#bQQ<.Gq[P/B-Tv-IN`iLWrZx6L]B.*[+]]4/Vx;.X^.IMT6/]%u(T<5L$*4;'S<D5L'<O;@:_CucYr%,/k@A,9xJ2(/%1/)ot8ucPpX^,vauj'vvbg1"
"PpXY-]Q4>-XmEH*:3nV-TL[W$fGmn&_(]l'@u5g)@i5_+Sp?-)Uka5&jVL#$SbS7/I:)@,nPVD+1kIA,NL.OMX@&8BCXHmJ&Dn(5C`2A,,LM`+h^+]ukKV@,0n[x,,fpM)2F1W/hfVk'"
"WTjv6tsDX6d9pH)aS$8/0,H>#[;)o&+4Y:ZvF%w#WP%l'GmDA+4P=J2c=)?#:5fL(3VX.)?)>>#:mt6%%us1#fok.#?)@8#]=.@#5$###mI$g#6Gi9.[rmxb-R)<%ok;j0>NE)#%7;J:"
"XOBDN3b%v#5FNP&EQ(,)U]W]+fh18.iwXm/(?$(#>Pfx$C_[+%aw,D4[4HiC;<lu$.:4A#s)p7/)2-P9D[Q+NF4)=-.[FU%v8F.)+qt6)Uis**)HJhCWH9Y$B:d>#sHiG#s$FV?E/<E*"
"Yr*p%b@i[#&h6S'KA7s$/ZsgCGqJQ&sL*p%ogNZ#,uM_YF_jn23Y9r2L>&<&`Iad2ZXl3L`1_32-g%&0]PvQ#HJd02'Fc)3/#Op/Y^5'0b``cDwY#*OPsAKMJ2VB##Y<U2&5M#QEE<jL"
"B'C^-(/l9'5gL^#6`6MTnfQ^#N[Ea.M>iS.#?eW.7VI4_B'dv%6r5<%qK[+4CFxT%sAI-)1MfU/mh=%$8KZmuM=<L1NTvn0q:rB#6;Qk0C^#C#%aZT/-9/b4N;%U/KYNS]U<-F%e1o)0"
"B4v/M<(#GMbFM]/%F>V/r4RV%n(1<-o=mwPXsZd)YGwr)B%r(*ErU@#Ndx&*?Y@8@EYhk)UQS@#^/Rw)`nV@#n[9f)Mg,r%06A2)40Rs&4-fV6pi*&'@X?0'R$W?#,L-0'X=Z?#2]WP&"
"<?v('EYD>5QfuZ#rZOq%t<1QA>RNT%QFHm%&oiDaS&dV%q(:?#IG@G;4q^f%f<eS%ndNZ#b82L+xiI8%6EbF+_h(oAum$g<cGG=QFRj=$%?(_*E&l@#M$MG)B8-]#hFcrHOa0]#pngF*"
"FwI%#'t6nAHx>5L(',$lUpUk'WPv=l`^tu'0-M;$2^9[#/R;^6/$x?#KA@8%%69[#GU35&Gv[V63$^I&QwD?#M7SfL7&0>&joK?#*nGM9OaY7&2f:;$GKb>#Ux]'+&.,JL;>R79.2]21"
")8A4_FV#E59KY9B$3b,4wOdV-l_=`#k'I>#qSq=4Trx4]#p_Rg$.U54+j^fLG[J04xs$#>'E'-4E.&D#N5<j$aVp0:V-C(4c`7&4SR;>#VIi@,_`OAc@:]#$epur-b',C#ICUS7aaP8/"
">Gc<@h=MMM`jk&#WCD%,Rm)k_IUb$$FQV-)70&<&otV$-@MAi^WjU'-5tZd33srS]a_;h3=%1gL>]T4L4YJm0Sr7(PN0#l3a&qC#-H``3dOx0:ZJRN'3K(;.%.K>.tsn[)'Ck50w%N3_"
"%'Yg.rL.F%.Zcm,Ir:T.FIDT+Clu8.A4m'+_6t3L2h:0(KQ-C#16p1_cT&aY*'@a,$@0B-;O4c<6cO1LQ)Zu$Tu,##9SOfa8rD]#u)PcM?\?V($hbg'+c.r,+#l)A#f:^:+nN&A#iJ^iB"
"ZvD&+i@7-+UMR@cgUfXm:Wb++Wdm0+#s[8%)B>]#nf?v$2fu>#=-'?#xq'8IhTr4%opw>#k%lU%Ax-dDB90]#w;CD3C5`-2Wj6kKOEu/(v3hA(oLVfU>>P7(',B2'R]C0_pu2&vH[77("
"bqX:(2w;H(DX%@#U^>YYUsF[#01L3(xSffLbQ3X&e%5v,BSiMieJ5/$q*p=uo2A9$%[^S@<Wq3$(@`>#K3Xx#N2[D*dcse).5R.2WSoRARg4xP`Ym:%[FZRfFLWx#:>=D<%[5j^kB.],"
"/ZPx#9Z-s*e2u#+Mk%cE(FSx#4H8e*ZBURo5CCo*t_5v*FF)fD8TXf*g8p@#O*XP&R.)?#C<0?#2(CSIvPOQ%x8+?#33[S%>XN9%I;@8%r$U7'0/IJ(v[kM(+BoV6VVgY(r9?c(%.Qq7"
")gGc(vtn(WD`:S(H2M;$6jK[#P*&](E@Hi74?eD*ogJ[#FkWP&Fk=/(IFB)lpltY#tYW`<jkSa#/RV>#u0,##<U1B#M5Uf#2,/=[>[&6&r3+ve/Bi#Ap`5HG48r0#45q23B8&v$6)3AA"
"fOA&MIkuHMijIfMo`?X.P4_t@<,(1M[1D9.9Siu0D4*s@-h<(A1?k?B1xKwB$V(kLT)C0MXV,ve$j$53n<PrL7I,hLYL1o0`G9t@`&+n0G])u@;s#u@W=Tk$.4Z^G>`MBk:p.o0@a*^G"
"uVnkLGV`5M-Q*VM_WggL8rOrLQhE'Oe3sBNj()2NWsCm&SQ#:2ib/eQ.tZq2_g]2((PTc.:Yru0**?H.I[u^G@K<qVZlSL2q#?D-#$9;-,VjfLW]_#A$`0B#&?gw#x_'B#iZ@IM)fG<-"
"MXu)NmY$50:1AA,]id`3ueq-$@89JMgw><M`^pP#P/6&MiQjP,>32HE$/B+i`4Ze$9`0K,oDII,.D/:)%*<b7[)*7*2C.OV?=T*#JhwwulR20$@L7%#-pm(#+0f-#4F^2#)^+6#`h<9#"
"SJJX#%WPZ_9]_=l=<V0(PhRb%=_7G;ip`0('/]7_6;X^(JhW1NN_t5_s><B(O[.F%(=<N)7U7G;-lr$#8O?gLp$#r/W>on16I-gL%m;g]E]%a+=WOm'TAegL,J.H+*/'Z$QN%Z$`Co$Z"
"]u^8tZTLk%R*78aMA2MK1KOe$Rm:PJAgTvD5c0#884Dt-J=fnLY:^-#nSGs-3>;mL?0(*#]wm4]5Phs73.;t-6.LhL`^8%#E,*Z5puWS7dIVPn+L?9cMil2TAD>D#jGpM#1?mtL1G:M#"
"S6*L#qX<rLC9(sL#3A0#:35##I44V.<^u##w5T;-A44V.%EP##0N#<-+Y`=-k5T;-a5T;-q(m<-2KL@-;IKC-RfG<-IfG<-VM#<-`&l?-N3S>-(5T;-8(m<-8t[:.$Qq>70lJe$kCa;7"
"vM_X(s+.Z*DmtghtqP#kYO?I$F3preCBVt-Oq7(MoaQL2X;?<-H)9;-+oD*%P$nO(^^D.3Ve;P(oc:g*/lO9.E?E[,WCu@%=;Rv$M6C93HSVm&Cn.i)8@`[,l(TF4-oxn3LrK,7tYP1:"
"d,T,3$2OwR[`C.;rM+_JKLPwRww'f)sgtG%be_F*Tc*w$a%NT/@Dn;%T/>u-HdvddnxM0c#K=c47EZ]4`F]T%1hBO-aDTG=Za(E6bn[A,$3E/k4S^'5P8.s.FZL;8h4EW'x3a$@dQlr/"
"Hggw#gZ(@-6]:Lj6GQVH(E$b*h6dH3>'jN9J5fT0HOZl]E9%B=w66^5q'_-<1e.^5q0$I<k)uOS^)HR&ZfpQ]]vL0(]s:k'59k**h)d/(h.t.)^rr$>K6F20V?JW$ZT#j',u'J)j`.1("
",%:/)Z8%P'+Q3jLZ<)22w5`k'b]w-)p9*:.Ft#D#A'$kA(W:v#JFmW*b=73:i<uPCUThq%s4L?u0/>jBvfcK3hkMZu2Bl0M%5hA?5]pU#k'sg*Rm`&4m7m6qQ.to&9?I@%.0vI<9I<E("
"U9ZJ6&9'ripT/3(]#VK(vulX4ER[-)^MR-)3NAT&<R;H*b>ZR&D'vgLT8^U1A82^#V3T2'U*Uf%g?5j'4MjJ2UA5?M?.e3'AY###5iC?#:I_3$X*?ekLHP)#)n@-#>MvU7:ETc5P9'04"
"-'2OD<WgE<'j@#<VG$6:7-L-8sj3^#9n@+>`),##c.g.#))x%BJ`o^+5Qu>#t%a<#QT0#v)UGs-_05)ML+UKMxF.$vVgG<-ZlG<-XYGs-A`kgLg$[lLTw)$#-*V*MIkN0vTs_Z#QiVuL"
"GbwAM_mj.hlwI_&.4[._Tx4DkTH2^#YIg;-eB[20PZtUmPvXVH4XRe$dHD(sj4hiUUQM#$oHg;-j%H`-_I[_&NF/:2(&Qe$e[jl&)#QP&,@<ulJqhP0TdA,3Vvxc3Z>lD4V+=R*UJl-$"
"5?mx4N^4F%8Whi'eCE?6?eNP&4ffFrL)72hq]Ke$*-(:2ThSw9vTj-$g'.>m7_-$$;pN9#U<f3M%j`V?Ot6qVn>DX(<NEL,mCm9;ZBeo[B238]<H]p&4?L1p*OU8/,jOp&,A_e$(Fg34"
".bt(3]2#d3X2YD4Y;u`4o0Rp&$R,wp8TMY5u:n34j6PX(Wc0fhf:*Z6@'Se$a.Vq;h&@4vx*rZ#NnG<-c#]:.@fnLpaF5Dkg)3^#YIg;-=RN>.EJZ7nm9.>mj0IYmlB*;n4m#5p)s3^#"
"n0%Q/_.F+r(U7,;Z=ZEepvK_&^hK.qj4hiU)vE#$=]O#$&=Ab-e*TX(lOVq;&IR>MF0fo[Z%48]7mMS]99S5''PCdaVL-5/LKSe$LA_e$NkuCNd(I#6=tRe$7VwFVPhx:d;mOe$B3d+M"
"Fmj.hinI_&TTBulOD3/iG<Se$-+@i^W=1AlZZ2^#D41lLx3O<#3bgsLXJAw#R31lLNThlL[Eg;-I`Xv-8v8kL.Sa$#)W*9#DiPlL<Ga$#nbS(MeBNMM>Rk%vmhG<-W.&N/P&@4vVt0hL"
"4LH)MJq*'M1ZA[#U-W'MS<na.gU^6v]$)t->n'hLY&-`MY#qCMnIWul9ZCX(U2Qk=<nV8v&L[w#NftgLm>g3M/gYVH3:R2(Q^frn%1EGW6JO#$:a`=-)Ig;-dj+S0XQk&#M4i$#Znf(M"
"L+UKMxCi'#Dx(t-cUA(MVhZLMVb6lL*.;hLF+>$M94=%vbUGs-=L[#MZ$[lLOMj$#@MOgL7Lb%v(UGs-K.LhLnEv<MrARlf)/k^#`<r$#C[JCMp1w=l+)F^#C#F$Mi8H`Mi56DMr*p7n"
"kdKJ(A(1fhlE?/;j>a#$Eg+wLqNi+vXCg;-X20_-QSce$oKGe?uw$YM)3/>M;2i&MF0fo[Z%48]7mMS]-:Ej(XP:-mZXH9i+fJwKGF#GMxF.$v7$)t-j*,)MVhZLM,+o(#Ex(t-T'niL"
"/=4)#8SGs-J4UhL1IF)#DSGs-AGFgLm<ZwLIsS[#Yfh7#6]vAMqmj.hwBJ_&cYSk+5#(Dj]45DkTBC3k./4^#U8)A.#hCA+#_.>mpBIYmsM3^#n,#O-kKdl.$Xnw#sm`a-@%Vq;nL:XM"
"pQ2=M[4qxX*q9>ZUQM#$k20_-0u6@06ITX(l(Uw9`CP?g*Pt3+GF#GMT[HLMVhZLM,.4%v5m@u-(*V*M.:F%vdUGs-)$M*M5Xb%vq;b]#+s7jLHn6]-`W/@0Y*,DMN?8,;C-.$$.V)<#"
"u9IYM3KS>Ml/fo[<v28]Qbg;.Gac?Ka'kEIcG98.&F#GMO=qKMa[HLM]hZLM+(+%v)<xu-]i2'MXnHlLCec&#gC&(M5@O%vbUGs-f1a'M1Lb%vBUGs-mO8(MGkN0v#aB^#_uC*M>(i%M"
"=qC^#C8)A.<SR1pZ`nih(4Re$Va^:mQ]8Gj*ehQa`]jQaYFL]l//4^#KFHL-hGl@Mi56DM8io7n2c+<.MV$VmDf)mp8;98.x$#LGrwZ,vbhG<-qn`a-QSce$Csi9Muw$YM)3/>Mc(JS["
"s-&qrSi38]7mMS]GcxW.59wO]RHOP&C0Se$jud@b3E'N(pYKe$iHGJ(C1T;.O]sV.C%tY-DFP8/kviP0QBwM1)%=X(Z:W_&V`_e$6W-/(fl1a4lRQe$^83_AO>3>5t9J_&o>.ip^lH#6"
"oVKe$3s]4]`(*Z6iDKe$eHw^]Z_?M9iY3W.IC`e$kF`e$+,fIq5#TD='T4&>%a'^>oI<X(Twh3O5,3lo+5-v?\?sK;@wtiV@>+<s@w05R*;DN1p+Y%pAS4&mBPbpcEbPaDFw5;R*rp4c`"
"o[vfVxrKe$ApHe?wxj5v;^0B#0UXgLv<l9#VMsA#DjG@.,X2ci]xs+jnbp(k36rA#S`Kg-`JL_&5O-.MmeRD*)/k^#nKn8#qIuwL&&v&##B8=#-f9HMV*WvudhG<-5lG<-i>0,.2(ChL"
"$lu&#K:)=-<%a..[%2MM5%[lLIku&#v-A>-;&Rx-pO8(Ma`%QMh%T)vmH@6/e=/=#M%a^MPBtBM7AY(j+.d?K_V55/wwdrn2<b2(8eRe$ms$)*D4Kv-e8Ke$XWH.qD:pV.TqP8/`Ig8/"
",A_e$4&AD*eDB,3]2#d3Z>lD4l@<X(8dHJ(YMUA5`lH#6iiC_&eXW_&xSAL,u:aKc_e?M9Y4=R*jC`e$kF`e$mL`e$ue`e$wk`e$t8Uk=:YfIqI:.v?S`_;@jlC_&5EQX(3QuUm6=4mB"
"hAKe$07Q.h:6i`F*/hfV;a5;e`dmA#xqM60xk9igw+BfhjGKe$bo3ipOJWfi`ovjtcrsA#rSx>-&GQp/d>/=#N>cuukUGs-A*,)M-q:HMc*Wvu[hG<-5YGs-8o;'MsYuxuQUGs-j/`*M"
"of1#vfUGs-f05)MXtmLM8.4%vbhG<-`nx/._+;MM0FX%vmH`t-e%N'M^6wlL^w1'#13:w-huD'MssANMm&T)vb$)t-=P8(Md$)+vcCg;-`rUH-7Y=Z-8TLX(#,b9#hmKB#iJY)MQK9_M"
"QH'CMWS:`j02+B#udS(MUYB9v7#h^#hJKG.$x;ulF(X>-g)3^#aR:d-8SRX(#P)LGh%>wLA8;'#t#a<#.SXgLh,;'#Q#M*MbEj$#+Ag;-Yq@u-0x9hLwrC#vZCg;-LGg;-[:)=-ZlG<-"
"VGg;-px=G-kfRQ-0aXv-go;'Mi)TNMHt&nLX';'#s()t-/=G)M1slOM+mGoLL';'#O_Nb.N9`(vvZ`=-UenI-)ZGs-`GFgL5YrPM1f.QMEr@QM>fXRMxqkRM3W34#PKx>-030_-X+H3k"
"E2Bfh_bpA#iTQ=08j^:m)i:`jKHSe$9Mo-6j8rEM3m0]tNHi^#imM<#=U6.Mf-coR'wV60t8[CsWWOP&>wRe$lo-`a4NBj(p_Qe$bSu?0=(mr-iiC_&KcV_&<T3igL_P8/uEd50,A_e$"
"#<Ao[_2B,3]2#d3[G1a4pL<X(K;7qVWi/;6p(D_&V+0kX[7GS73$K_&W2W4fgnbP91%,m9k*C2:m<$j:v2J)=RC5L,%FX_&&IX_&'LX_&(OX_&0ZqRn@+[;@2RRe$4aU7n0+4mBD2Pe$"
"T44loo[vfV`.Qe$Sh2REGj/0MHjEigB(220Xj':2wC0:#9fG<-/.n=.Pn,crn5:Mq$c0^#7AOn-HYH_&,ekl&D4MM0Cq^-6H%(eZ+,hY?ep%Q0_-ae$Dc9L,%,b9#_)hB#@d;<#QfG<-"
"3f(T.AjD<#TlG<-ak@u-n4pKMeDi'#^Pqw-:(ChLEEi'#LlG<-=D)e.8Aj%v0aXv-pO8(M(MDpLwDi'#l%KZ._&o)vv6)=-:mUH-B[,%.:v8kLJjuHM:a.C#_&a<#FkHiL`Jr'#[cq@-"
"LIxF/1;q'#2Vm&M1-;hL_Kr'#2MYS.tEX&#74)=->*d%.M?<jL-Pr'#TI/(MX+UKMxCi'#AfG<-ZlG<-XYGs-Cx9hL:7+)#6SGs-?MOgL0C=)#<SGs-M@hhL2OO)#7SGs-x*,)M;3h&v"
"bCg;-jGg;-kGg;-mGg;-uGg;-#ZGs-`ftgLA/moLARr'#GtC*MUVs(vFCg;-G`U).N6i*M0`%QM)h.QMJ6T-#=F`t-+XB%MAU34#CAg;-`a6A/,Ed;#/54,Mmp%s$MvqlgRPDX(&gql&"
"M2RMhtkQe$&;Q3ku:96vahG<-,r6]-OV$FIR[]_MqsgCMMhvIqwPUiqXbPB#^pM<#nOMmL6c%(#Z6w0#5SXgLDV%(#(+'sLaB&wu3UGs-#FqhL23DhL1W%(#;eHiLwrC#vICg;-LGg;-"
"[:)=-ZlG<-VGg;-E?&n.4s2%vwLx>-b/]^.6)E%vngG<-w?xu-J4UhLeBNMMxHWMMYe0&veH`t-6*V*Mj/^NMk5gNMmA#OMurlOMw()PMNPj(vo`Xv-1>s'M&A2pLTX%(#DOc)MXfs,#"
",SGs-B7>)MU%T)vhCg;-1UD&.A2a'Mj$)+vUTGs-JU;uLn^i/#34@m/7)+&#)/'6v&Cg;-V*)t-D`K%MWH'CM&RuCjQ)L_&uJ7]X`n$Bl2r),2vwrUm7pcG*O@G^#%#rxLLqj0vo4TkL"
"CX/+M=qb%vMPHC#D&a<#+,b9#/Ag;-s.QP0Y>cuuHS?(#D<G)M+_YgL^c@(#q6K$.>x9hLxi@(#9uD'M)ZuxuTCg;-]4u(.SQsJMRG.$vlH`t-(6i*M,.4%v^UGs-$b(*MZ$[lL,d@(#"
">Ldl.<;a%vY6)=-D_d5.nC`MM1[sMM,(U&v(n@u-?of(MX7p)vXCg;-ljq@-a3q8/H?0:#YrDBM)i)M-Cx(t-iJY)M$UL6vcCg;->.-h-,e>kXaWuDMc?sFr@X&)3(c$LG;td.M#icV-"
"H,J^#`+,)M&+?wL.PqkLwX0=#9SXgL.PqkL7A6)MbH/wutTGs-%Q9%Mof1#vFUGs-u4cwL0FX%veCg;-enx/.o=;mL8kI(#S?&n.Gxf&vtZ`=-lYGs-$]J(MsA#OM%slOMH/<(v,6'Z?"
"rw4R*S/qo%'5dV@3l%pA=81H3jL5YPC?mcE;4l`F-=wfVd-BX(vI@-m8`3'oghAD3Maf-6t406vUhG<-gu:P-?Ib(M5hvIqZmi^#usV<#O-3JMgIBvLkW$lLdLk<#bcCvunnA,MSwR(#"
"AUA(MsYuxuTCg;-%?0,.S?<jL5wR(#f05)M7(+%vmCg;-XND&.iiPlLroR(#*(7*.kuclLqpR(#C_d5.m+vlLpqR(#0*uZ-JCC_AL>ii'ag5mBB-Se$f5-:2T@CL,mY0ci8$w^];^Ke$"
"i%>L,aWuDMD?sFrBk]`3`RIk=;td.M#icV-g)3^#4`Xv-;SXgL<9](#BxL$#k:r$#.SGs-g#M*MCD4jLI&](#;eHiLLVOjL4w[(#NYGs->@hhLa[HLM]hZLMYtQlLO&](#I.LhLo0nlL"
"Xw[(#ROKC-[2>o._H`,#Ik@u-bGFgL)SMpL_w[(#1ox/.@#[QMWeXRMkV34#U'A>-Z0Yc-Ej+LGN@&CM)hvIqOuU)4I<Se$cq=X(kt=A4g.VP&;-w^][kRe$*v&eZ9Z-/(+bJ_&bjsL^"
"4NBj(UfPe$e<)VZB(9v-S=Ia4j#V4fLX,W.lRQe$=0sjtn%aKc1;#N1^qAX(aqOX(V`_e$?M]`*h(iA5q]Ke$;mHJ(^lH#6e8Ke$Hd>wTjbGS7<?K_&^iO.hi$uP9unQe$jC`e$kF`e$"
"mL`e$ph-ci/gSD=&Ko`='T4&>(^OA>)gk]>^k`>?Rh-F.4#nOo'/?v?ZuPe$:M/ip'5dV@8o;s@>EK_&7v6on0+4mBiIQe$^xf:ZE>pVI`.Qe$J8uI_AqaYdkJKe$/Ivu,IQ#<eb.W]4"
"[Q9D3&+?v$7F(B#dRXgLPr00MFp&Jh+bJ_&6Eh=cQVjfir`Ke$c?3RE#S^6vt$)t-@/X$M8T@7vv-N`#$LC7#giLvumCg;-5YGs-:%N'ME24JML]tJMxF.$vvH`t-)h1*M5e0&vQCg;-"
"mlG<-#+d%.>Z-QMI``pLE9x(#JIY)M/=ZwLoN=D#`6i$#b(WBMKGY(jHdK_&6%P.q$+1#,OZ:>5;kJM'-e.T&5[Re$b-,/(00O2(J-'B5?jsL^:aBj(iIQe$nkf34MXmr-t4D_&CDcCj"
"FF,W.nXQe$3)Pw9SKFM0QBwM1XbAX(q7u[tRdA,3cD#d3Y;u`4J#_A5M7=#-Z]-^5kJKe$>,*,)_ud>6woKe$kKtUmgh=p8=tRe$`oO.hhw'm9k*C2:m<$j:v2J)=J]<R*%FX_&&IX_&"
"'LX_&(OX_&8Y+fq=f_>?>wRe$L98uu)GD8A8=4mBhkI_&2I2fh9-MDFS'm`FWqvVIW`DX(@3e7[?_*#da,Ke$0R;;-IQ#<e*@9>5QL)20'1Hv$u?&j-xW6L,qv^#vi6)=-XOxB.(FmFi"
"SJw.iW]WfiqXt+j[+p(k_i8^#4L/Z0h`($#k+3)#Lg1*M[H/wuSUGs-4Vm&M=vRiLND4)#-r0hLt`(#vfUGs-dZu)MHi0KMq+UKMxF.$vF6)=-ZlG<-VGg;-b*#O-H,$L-Jk@u-AYbgL"
"[*elL6>4)#%TR2.xOrMM>(U&vnm@u-,CP)Mj/^NMk5gNMk/BnL;E4)#8IY)M1slOM,#vOM'))PM(/2PMQ>N(v(*A>-Z3OJ-3))t-98j'Mnnl*veUGs-&)ChLe'm.#;SGs-mKZ&MBF[]M"
"NCIAMUuD;$iPMY5@/E+rN;nih=tRe$KKQfLuHY(jDWK_&&>OR*3L-crj8PP&=tRe$^:f34=g-/(@KK_&dw/2'2B0j($nO#67$HR*//X]+T'd8/>wRe$LA_e$1aDG)XvA,3]2#d3Y;u`4"
"8@jA5#75R*5iT3OjI0;6o%D_&rsHR*ek%]ko6uP9D3Se$jC`e$kF`e$mL`e$ue`e$wk`e$?7_CsD+%Z?KHSe$&I*`j&,H;@n^xV@U5L_&aja-Qr:RwT.%qLg%+wfVr`Ke$P<^:m3PFig"
"E6Se$'Hv34J(WBM(.^+iL>DX(6dT'SY3fooY%KGjIBSe$SwiCjj/LMqF9Se$EP*44)loLp#2N,sSsqu53W/F.aOMmLEOF)#2uD'MFgcgLUQF)#0JZ&MbH/wu7UGs-g-.#M=vRiLvOF)#"
"6R-iLt`(#v>UGs-&@I#MqrC#vMCg;-NYGs-agVuL+YI$voCg;-a:)=-XYGs-PqZiL:7+)#CSGs-LFqhL0C=)#7SGs-Z93jL2OO)#+Ag;-M-E6.(i@NM=*TNM71^NMk5gNMmA#OMFvv'v"
"srX?-%mG<-&mG<-'mG<-*))t->Oc)MfJa(vVUGs-Hn:*MRi8)v]UGs-DCP)MX7p)v*UGs-rRe#M;qkRM&)m.#9x(t-T]J(MAXN0v(UGs-D`jjLBCIAM%uD;$2f/;6JV4;-Kt_50+=Re$"
"`ujIqL)72hb/Ke$N$f@kN;nihunQe$XM(X_wC0:#Jx(t-u%M*M(nq6vQ?[20`vV<#NfA&vb)XKl^HY)MZB&wu:Cg;-V'7*.[93jL%PO)#r^Nb.1bB#veZ`=-LGg;-[:)=-ZlG<-XYGs-"
"&tC*MF7+)#*Ag;-,(7*.w1)mL1PO)#Hdg,.+uRNMV0^NMw5gNMEK6'v.sX?--M`t-An:*M()doLpVO)#AUl)M,GVPMhVs(vg$)t-`GFgL)YrPM5SMpLTQO)#YWqw-6EQ&MSU34#2Ag;-"
"`NuG-Ug%Y-)[k?Kpxj5vWOpA#Dx]7.g(WBMF8^+iOsQV6J+GL,Zs#VmWo8Gjf(0B#$8i*M.nq6v>Cg;-AZj^/kg-crdER>#c8srRg)3^#kHg;-&>Y0.^?<jLjUX)#qFk3.fvSKMO=qKM"
"a[HLM]hZLM1:+%vHFW)#hUA(M-4=%vRUGs-nnf(M/@O%vSUGs-iC&(M1Lb%v^UGs-f%N'M5bk)#qAg;--5t30./nLp,Q$;d@'Se$F)Ie?s(X9#Bx(t-_dS(M&b_6v^Cg;-b=Ab-;kee$"
"ew:XCX$#DM5Ms:mj0IYm+)F^#`Xm&M5s;EMS`?29+(L#$sm`a-IlHwT@:98M;[32KtVN#$w<Ab-QSce$O4Z-Quw$YM)3/>ME'JS[*&O#$`9RA-6<)=-6Utv/4bB#vZRj)#LGg;-TGg;-"
"VGg;-]Gg;-^Gg;-kA]'.Ypg@M0l$AkY=1Al]X->m^bHYmlgA<nP2NS7`B-crVg@29QcrV7Op'5putDGW[dM#$BY=Z-c1de$))Qe$>K55&Fq#q8n'4onuf12'Ga?p8vb'eZw3HS7D&DX("
";c+fq%#-v?YA@p8edX_&<A3loFZi`F:9H594bLGj&p`-6[kRe$C2#REH&s-6H&s-6;oEV?[:=R*Kvm59oUJ.q-GdV@6c)s@r7S59hK,[.,j'+vhZ`=-<N,W-9E7L,CQjJM;x6/v]wJ*#"
"A[J(M[Ej$#*Ag;-Z%a..3i%nLk1L*#3TR2.>U4oLb6L*#`SXgL?M`PMoYa,#6fG<-7M`t-EIY)Ml$m*vN*gE#LXJr/#m:$#>1g*#E'A>-i<dD-[$)t-.8?&M]N8wuNUGs-5L$iLcZsMM"
"mMN,#;x(t-h(ChLPYa,#/Ag;-5;)=-G@xu-*36&Mnnl*vfUGs-)5UhLn^i/#+SGs-6sZiLkLS8#HAg;-./E6.J54,MVn%s$5:lA#8kWN0#dCvuJ?#+#E6>)MW0avubCg;-mFk3.1>;mL"
":V$+#Fn:*M[Vs(vjCg;-fij#.Sg?QM,%)+ve6)=-<TGs-4EAvL_]6+#/#>G-10r1./?fnLw`YgLn`(#veUGs-#15)M;3h&v]Cg;-jGg;-kGg;-rs%'.HhkOMw()PM2A2pLfc?+#CBRi."
"3^k*v)A:@-#SG%0f3/9v^ZYF#8sX?-rSGs->Q+oL[lK(M,ecgLEtZ+#IKXV.AItxug6)=-@-OJ-v[AN-o$)t-HtC*MQc/)veCg;-1ox/.hfjRM_e=rL.b5oLh'r:#d?EU-[Cg;-)7Af."
"2>7wufhG<-)V3B-jd&V-a$)t-GtC*M%;)pL>&e+#uv]7.VNqPM6`%QMIq,D-p0d%.hY<rLA7Ec#e&uZ-',_e$/j#@0+x>XC+x>XClk0kX01S]=l[)8oB(9v-r4u`=+[r`=g([iq3S?v?"
"JESe$*[r`=-h.a=h+qW_N-ZlA(Yu`=+[r`=+[r`=+[r`=,b%a=876X0pI5+#A$),#jXbgLZB&wuXUGs-+&$&M]N8wuJUGs-Ho;'M5e0&v_Cg;-.T=_.'=M,#=x(t-i.LhLPYa,#0Ag;-"
"7M`t-+9?&M=RxqLd<*,##gtgLxhx4vi2;,#:1a'M[Ej$#+Ag;-G_d5.CcrmL-J<,#5tC*MI?$'vmCg;-mGg;-+;)=-.T=_.+I`,#CX`=-t[,%.jGwqL7D<,#SZ`=-xIxF/0<M,#?I/(M"
"23DhLLON,#K/]^.hS/&vkH`t-3n:*M'QD&.Go.nLANN,#'^xb-Y`Ae?H(jx=4J$Z?0Q&F.*J4_A/(-XC4mC_&5EQX(0nE%kBT%aFb/Ke$ZSN.q)<8##<j0v?tw9X18dBv?AAS3O<BtKG"
"(Cgr?>j0v?C$4v?pN9Jr>>Be?'./F%/-k-$Y`MM'2pAe?Z^ViB>EK_&%w/v?+(oiq[uMe?c=Y'8-x+XLEc;-m=d]i9k*C2:m<$j:u/SD=wA4&>(,H;@&4a;@gjX_&@sY:m$8%<ehp,8@"
"[k4ipj5q.r:u)s@I^IDk=ZN-Qd-Se$$TM1pj0L2:'lG<-.BRi.v:5'vm6)=-3r@u->[u)MRDW(vjCg;-%Hg;-SGk3.fg?QMNol*vhZ`=-nr7jLGEO<#v989vtiRd#'h(X/UZL.qP/OS."
"3ri8A0eS7nP-iP0Y5_8A;bOX(Z:W_&V`_e$I:Iq;3:px4^3.F.POIq;[NZlAV3F_&6aE(sIA)>c011^#%.n=.kB_]+aF5DkTH2^#R&H`-DT^_&.n8@0jY'_]AmA29o6O9Aw9_CsOt[VH"
"G<Se$PsY_&Qde'8nL:XMpQ2=MC4qxX*q9>ZbvM#$(Cg;-)8aM--bCH-/?0,.<W5lLv(9-#p05)MenHlLZ#9-#d()t-#Ul)M<FX%v[UGs-v6>)M2Rk%vTCg;-<)7*.$qg@M0[#;du``lA"
")aMq;J(a^MX'='M07pd#Spx/.:J/CM-;<Ylm;3^#BeN^-1QXq;djCaM/s;EM#@8,;7LL#$VADX--%Z-Q/sMq;oO1=MNUS?M-KS>M:0fo[O`NS]t]dQB;jPM';XQl]kJKe$.>de$k>MJ("
"U>OS.pYKe$qOn92(vGM0QBwM1(x<X(]wsUmV,5d37bRe$6W-/(YG1a4iIQe$]0w^]o&.wp2iI_&r6sKG;elu5hfC_&5/>l]^rmY6/)7mBMMYe$E]vAM)m$Akg)3^#ec#pL5bN^-J5VX("
"7#w34)%m34j1Y<MhI]cVqbDGW[dM#$&nG<-H(uZ-'-#FI'O[>MY9+5]7mMS]pu*dECt=X(gQV3OW+Q`E?h@xkr*5_AfgN`E1>F_&j>N_&9q:R*5aOS.G,0AF5<1loJqhP0QBwM1>DH_&"
"Z:W_&V`_e$<&*,)i1.^5g>Ke$9N12'stDgVd*.AF`on-6)Ie-6IgZe$0?(:2l<f3M_.afU=_L#$oHg;-vHg;-</A>-A/A>-.hG<-mLNB/3Oh/#TuD'MXtmLM8.4%v($)t-_i2'M]6<MM"
"<FX%vK$)t-?FR#M2Rk%vKCg;-9(650(NuRngU&;d2RRe$B3d+Mcgj.hj^3WInVHuc[i3/i0LRe$T6f@kXFL]luYE^#T.-&Mc56DM(oo7nLpK_&a6nFil5:mp0$BSITx<_AMHi(vu$)t-"
"Q,W'Mk3Z<M;qo$MD]=DWBoO#$,<)=-qVg_-6U/:2x,[4f,6U]4XoPe$txA(s[YhA59hRe$V9JpJ1>oLgd.nY6f0]QKfKxUmUEr4]4XRe$`)2/(+Z.5^9F*QK?&mi'3)fl^'f)QKr2:on"
"6Dbi_*6>3LK1'&+7:QS.(4Re$GV(`jJqhP0QBwM1t9J_&Z:W_&V`_e$^hwXlfl1a4<pOe$RMkIhYMUA51,#QT7+H(jd(I#6gCQe$@=jCa`(*Z6hFQe$QA:f_6w@;$H?Se$/&?xk,b7p&"
"WXlM_NFa=c8T0j(ao]M_p+/kXR#i?Kh,DX(;k#VdW;u`42?nM_Hv1lod(I#6+=Re$XlK+i^rmY6DvnM_R]eIqgIjV7u6>p8MsK_&(?%GM98p)vE$)t-Q15)M<wtRMfkN0vX5(R#b,,)M"
"v9c9#ESGs-kVl)M$UL6vlUGs-fvo(M'hh6vgUGs-;bkgL7sN8vZ6@m/c>/=#B-ivuVCg;-0Pdh-4^pQaqtZ,vl6)=-C?n]-p.$@0fZ95&bEEf_/nb?Kcv52'_jii_)Mdoom[jV7<_$j_"
"_F4_AZ.fr?h4#j_edX_&?2JR*@g#Yl_`JaFldEf_nprjt++KMK6C1^#<rN+..*ChLxe]8#T(V$#]?;mLQT]8#+Bg;-c[]F-c[]F-ch=(.m0W'M/KH)MB>+jL#S1:#SIKC-g$>G-u6)=-"
"9tqh.XM%)vmqcW-j,NX('s;e?LTm+MGS1:#E=Y0.EeW7MjLgY,nWqfi',_e$/j#@0BA;5&vHX4olf.;62<b2(KHSe$3K^e$?p^e$?wAJ1n_a;7ZqMe$w^@M9e[+p8$FG59aA>8oNwW_&"
"jC`e$kF`e$mL`e$0)BL,DQTS%B,xf;qa;,<(9WG<t&8)==5TD=v8o`=wA4&>xJOA>#Tk]>$^0#?JT=8oaWX_&JA)FIt'GG)28-#d>rLe$f7NY>F<KvduF[4o]#^e$(*^e$LRn(<DTSc;"
"iDKe$G+cFrWN45&,@Re$?OK1pD4Kv->wRe$<lF+r'/?v?JESe$=K']k:6i`F)B)s[RVq92U0XS%:v28]kjooo`(Qe$/c:P]voiIqgbI_&Abr1^#-'8o*OV8&Or/5^33x5'@4Mf_DVJP^"
"uQOMq+A,F.Cn7M^;;fl^2gTSov,;R*]nRe$f$-fq:Gt4]@'Se$0>Qe$R(%@0mIm._:bN/),^%p]b/Ke$s)@oe/#xl^7bRe$o1'&+.J,F.E6Of_Yrkj_tcM.qr;SS.d5Ke$^OrKGCsKM0"
"TdA,3Vvxc3aud>6#[-L,U<li'#%h.hH:GigSW':2poW5vrhG<-uZKk.#+X9#Kx(t-m25)MY&-`M5T[7v,=K6$uO8(Mm>g3M7j`V?O?M#$-Dg?.-SV7n&lhiUh2N#$SdN^-W4[_&RBm-6"
"uw$YM*<JYM/ZxYM_NJ#Mj:Y9#hsC*MU;F%vjUGs-%[u)M]0nlLg5Y9#l:)=-uscW-G@6F.Jx;'MWF:q#vLm50IorOo6s>Vm>wRe$-C7F.mE+OMY1T)vECT6$DmG<-JHg;-L?n]-dKLR*"
"ikNk=uw$YM/6AYM-NfYM/ZxYMN^o>MO^bl]FE.JhG[P?gCT45/x@D_&OoV_&J;_e$K>_e$_9HR*S%W_&NG_e$KP,cisV+j1WZE/2T^sJ2l@<X(Y7W_&)++:2[=W_&]@W_&^CW_&Ls7lf"
"#VM&5g>Ke$`[%]k_ud>63URe$f0=ulmOdfV1)FM_H$2^#Eo`a-.Cee$AsDrd)Lm+iA*Se$LC6fhV.GDkhAKe$Ykee$Cs-Ycbn$#m9hRe$:f3/(^nZYm*:Re$tiZ7nB)F29E'`#$x=s'M"
"+>;5M2IB>G;<K_&tXNM'H`:5K,2b#$+dS(M#h`XMH<JYMOW#2vX6)=-'J)a-Bmv-6($He?(RR#Mv@l9#'VJr/vcB#v=4k9#NYGs-?K0%MZ[HLM]hZLMWh?lLjHl9#SwdiLA=4)#8SGs-"
"J4UhL1IF)#CSGs-BMOgLC_N0v:w;'MCON>.p7xOfP/%2hf,rih?-*REQt.Dj&wBX(H<Xq;Ww+`MY#qCM*JWul,R5R*i5VX(U2Qk=<k;<#gLg6$,IY)Mm>g3MlIb(M?/afUvca#$qd)'M"
",R2=M_ot%XUQM#$4s@u-^ZbgL6<JYM3NfYM-KS>MX0fo[gI48]=)NS].>t#$p`DW#>AEU-^UGs-U%N'M.:F%vmL,W-H,NX($tkEIZ*QV6sh2gV'Id+ipK(/iFNcof>bC^#QwD'M'C16v"
"LUGs-`dS(MQEk'M[`Uq#w%M*Ma)$DM2]8Vm70K_&)x0fqJf>,;h2N#$QLViLb#4'MUm-9M;d1&MRBrP-l6)=-;fXv-625)M'*/YMG6AYM0X#2vi6)=-A/A>-xo,D-X>:H/E@':#dTl)M"
"FVOjLML(:#OlG<-JGg;-KGg;-__`=-SlG<-OP,W-_rw34V.W_&QP_e$f)I.q8f(g2ZvA,3*A_G3]2#d3^;>)4_DYD4p]eJiI5.ip)iM&5B-Se$?$F'SZhTY5EZK_&@x3'oZ$6;6NITJi"
"`NQ?gkaGcV7;FM_`vMB#OglF#Grg@M&O#;dGx4^#J[Gs-]vo(M]wN^MK'X^Mu3Y9#O4)=-SnG<-G&H`-Yek9MN@/_M_QB_MRN0CM&[C`jHHr(keRGDkaSm34Ykee$K@FqVX$#DMxMs:m"
"j0IYmNG>;nMX-F.c#8eZem:EMm_?291:L#$fuDi-i5QX([]j-6=+0SMM<:8MUY32KO?M#$jD&j-n]=F.nPce$%lSX(v7[_&ISb3Oq_UXM#h`XM%.'1v9[#7$+<)=-DxX?-?Sx>-.<)=-"
";/A>-HxX?-1<)=-&Ig;-ESx>-QA7I-RA7I-HSx>-=oUL.[x4fh,w$6^5*Ecijnlr-FLP8/0Krfi,A_e$7A=A+a>T,3A*Se$V`_e$4ELM'`Y1a4p_Qe$oJeIq[YhA5-CRe$hTpRn[`6#6"
"5If>6$LJ_&BDac)stDgVw=>ciNmu34=,-AM4BRlf1;F^#YL#lLa9t^M.Fu9#8x(t-ImQiLUaKCM82w=lGx4^#f=Ab-tXx-63`H3k],?Vm6T=;nL$&@0GOKG)l5:mpgc=ci$?q34?I>'v"
"=$)t-7i](M=$l7M6nYVHNvK_&*@gf(j4hiUBoO#$oHg;-]--h-0h'44,+TX(frgw907TX(?WEL,Jdq?K(XwYMxWf>M#CFP]H+P#$WlJ?0<TTP&;&$;mIBSe$$+-crZhb9Mi<Se$5CKX("
"8fwfr&g45/fIKGj,A_e$TY_e$UYUe$*VK:#Rc#r#c7i*MG_e&Mpr$r#JIg;-KIg;-V>Y0.[0j^MVE0_MRQB_M'hh6v<A:@-^*)t-m25)M`&-`M/B[7vchG<-puQ*0G'^&v=n>7$Nq7jL"
";W=Z-U.[_&nPce$pVce$r]ce$RBm-6rbL=MB+U]X-h=AY(_X]Y*q9>Z=ZUYZ,-quZ*?28]gTK9idL9_AApiIqn08a4KHSe$6qg34f9QV6DjA`j9TLX(K+WBM12g+iQMDX(g/VX(@._'8"
"`5?Vmx5#5p+:-$$3pL?#ZvGTMvQ2=M2t.8[(-QV[O?M#$A;X7/8u2%vIK&(M^2N*M&b_6vdh(T.(P*T#44RA-3SGs-7&#)M&B8#M@E%;#7wiW#28-$vFUGs-D-X$MYtQlLv4%;#e+W'M"
"7Lb%vJUGs-bc)'MnEv<MpN#;dH$2^#/41lLg01lLmpiR#[^AN-`UGs-Jxp%MY#qCMrCWul$.pW_55m5p@&u=lAY8lf<HIAG0whQaPnJ_&WD^w9l:YwLfPw7$pQd&M+q`=MkgRQ-NhG<-"
"k20_-<6(44F0pEIUsSS.(F/VmPOn92USLM0QBwM1.4=X(Z:W_&V`_e$;/ac)h.7#6`rmY6oOdfV;pXVnR>/L,15P9i#;NonbTF_&;-do@^?_+ri^]oo:_U_&tlIfLRVTt#,D`&0<W'#v"
"eJSt#m5)=-07u(.28`*M>N,W-3k]e$V`_e$rfaFr#OcP943;m9MsK_&q'X_&Q`X'89F8A=-g4&>0,1#?b6,,smoIR*&OE%kKF@v?6_Re$/eX_&/x_w9?989vXSSX#TR/V/mNcIq4<ZD*"
"6C1^#p96T/cvlLpC]TS.bTUDt?0tUm``UA59%0Dt=e=Jrd(I#6=tRe$d$xXl^rmY6MhBDt%?F3k(l2X_&`vW_-q7]t7&3_AvE^`3[G1a42ECX(8@M-Q't:>5/nJ_&Z4dCj_ud>6*:Re$"
".GbFr&&$Z?,@Re$([a@k'5dV@CO6qVa0?wT998]tp@$]k7pcG*//4^#IoanLTbOkL1xEs#'?i(vgUGs-Fh1*MSi/)v?oIfLwVTt#@^Xv-@C4gL'kv)M7_b%vst:$#6*V*Mj/^NMk5gNM"
"?K6'vt6)=-%mG<-wGg;-[Z>hL$?'t#IDAvL:qugLWGer#e_eBM'f[$v]hG<-XYGs-4tC*Mns&nL/:N$#7$M*MEK6'vdCg;-+;)=-/M`t-Cb(*MZPj(vHUGs--&N'MQc/)vCCg;-hMViL"
"9@[r#34?xLNS]F-nhG<-WWhlLmeTt#^T0#v^UGs-cto(MeaamLreA%#^?0,.qS$QMEeN0vnmw[#tH,[.Y6OxukhG<-aBg;-l13Y.&bI%#8qdT-.d&V-khG<-LI,[.w:a%vf$)t-u*,)M"
"eaamLD-K%#Q&Qr#<,>uuiCg;-NW=Z-mE9e?%s/#,Flw],H(X>-IX&H*_0E'S,]C8.ow;5K<.*eZQ6;&+3j;R*Y0Sc;XeF',goQ4oFP`r?B-Se$4BQX(4?HX(v%o+Mub,v,x)7#,C.MVn"
"+17kX3(.5/o@sA,;%$RE?\?u(3Vvxc3ZD:&58HqA,jrd?KTRZi97FtA,P'X_&/,fIq?a0A=-g4&>15L>?)laA,j2`ih9f?v?0LRe$'flIh7mV+r>wRe$AN0@07?,mp[VRD*OEe?KSwJ_&"
"b);qVHnnW_[gnY,-]fr6=iWEeZ&O;-d3o92LM/;6oM`>-6Ix.r&9WG<MDn>-Yt`e$94bKc^;S(st(J`t3EZ>-Cvm>-v:V_&H2n>-8B7L,Gh,9MJ*d%.c5wiLSw2*M%;)pLxPP&#=0RI/"
"f<XxuX5wiLmE9t#fp9W.;Zk&#:l@u-'BCpL^vL^#Op/C/h6OxueG<jLV>ts#NU0#vUUGs-?K0%M0FX%vWCg;-jA]'.?,vlL.gj,#*CP)MrgjmLVaj,#lGg;-nGg;-oGg;-pGg;-qGg;-"
"tGg;-vGg;-$ZGs-dk^%Mi;uZMVBtBMsKnl/oPm+st(J`tiQK-Q;9ZS@OE>Jr0*+Q'D3Se$>m^e$REH.qF(X>-SF5^#MwX?-NHg;-%;xu-]jPlLc4A0#Mnis#Ao,D-jCg;-<74R-BG*nL"
"hY7)*#NT5K'uNX(9V'qrF8EJLiJsrR39TMLFY65pe$c-6ZvHJL=i7jq6=25/3URe$LA_e$S%)`jZ2#d3Y;u`4u-HsRA<9rmh(iA5shQe$Y+H(j_ud>6vqQe$Xc7qVxh_i9B;4sRP'X_&"
"%FX_&60tKG3W-;?4J$Z?M'&@0p^]q;TpDR*W8:5p`*oEI6+6qVdQK_&Nf+87v9AdWG*JPSba1wpbC',MoUTvLinBa#TwgK-eCg;-ox33.v?gkL(@e3#XYGs-F9k$M?4=%vlUGs-E'O$M"
"Z$[lL#'6wLTio#M*5voLVDe3#8i](M[o/)vG=)O#_'ImLNRwr#0HuG-mUGs-%#rxLJs69Mj_O`W2LIjUQDX1^cevKGI4Re$T<oW_iBFJ1X=I_&L;kIhTvxc3ih=p8#IJ_&:va7[j-:m9"
"[xPe$=/'S[k<$j:v2J)=(XJ_&7>BL,eMwRe%T4&>(^OA>+s'^>'$CX(qF5ig&&$Z?B-Se$AqYEeA8*8@DWK_&5EQX(*[E%kunvfVS`Pe$*:S(aC$820%+Re$Et@i^u+a,sX2_fU`;fFi"
"@f3^,/IRe$qwo34BKaJMWSX/M2vEMKbY?GVV].ipgnbP90F[JVO$X_&Gi;-m8B5A=wA4&>YpT;eYYV`WT*+5pM6eM1X,ucWb_v?0P9d-6uSDX(u:)]k/HcM'ePucWH1n92q&:5&5`.>c"
"+B&F.D1`(j(8.>cMqcCs`n$BlKF&>cQKM.h#fB#$j,^Acf%?xkH:9v-h(dAce:+fqO%VPK+5m>dDCgFrVPe-6YeRe$?OVw9kWA;$Yj0;e/$rP^QAUP&1TY;ep9kOo53f5'2RRe$I+wXl"
"C1T;.a0F;eXVAL,Rs;oe7(&pA;LlA#FP[U0tBB6v=SwS#Tk2'MRQB_MRKt'MYg=p#1r6]-;kee$RoxOf-N#;mH?Se$f2Culh#:MqI#v^]FG&8eRqqjtEB&_]Y3K_&B*gQa*cF)*6JO#$"
":Gg;-JCDX-GZ0@0]+-REgwINMxWH'v6A:@-+mG<-V(-l.hHh+v'[@U.)^#r#ihRQ-(Cg;-l$KZ.Vw_vu?$)t-&X6iL]Ks$#1Ag;-8d]n.4U/&vbhG<-bD3#.,V_pLSx49#xR-iLEeXRM"
">%)+v96`T.QRhn#+N-T-kUGs-0UXgLw?l9#AAg;-B'ImL5OI&MV?b'ML?PT#G,/t#g%%8#.Ag;-^$sqL-$uZ-4$^_&2r+)*b%4/if;Ke$9=c`*Tx4Dk//4^#[[Gs-IG'%Mi8H`Mc56DM"
"_oo7n/<CX(GOKG)fgXlpD`;Mq//4^#bd,%.:&M*MSV9=#;Ag;-gQKC--CDX-[p]e$&6bCjQpAv#mBQ#$2:)=-Y+n=.hIrUm><j8&>wRe$eBcf(13Fm'iDKe$:x(_]CNaJML-_&vnH`t-"
"M@I#MAWH'vdUGs-1D&(M&DD5MGoYVHLpK_&%D&44Osb@k%<m+M#)>9#6=s'M2ecgL<(>9#?bS(Ma?a$#/Ag;-V'7*.4*ChLK#>9#G()t-i/`*MEXt%vhUGs-i%N'MY1T)v4xWT#`$u_."
"&OT6v_hG<-?A]/0#:06v<+tp#0MU[-iA(:20Iv7vm6)=-$b`=--0Xn/j]xt#O=PuuTCg;-0;Ab-?_g-6+i0HM#ZuxuhZ`=-kQx>-1.A>-Z>Nu.3SZ:m.W&_]lESe$0[1_A&aql&CTK_&"
"5vU_&[fm92LW&_]n>DX(K1OX(T9L1pe73v6ZI]Pg?p:e?'X_lA8b:Mg70Ze$cDER*ZO+QgE(4ip6D1X_R8uW_pvK_&NNXq;5/Nq;[-=L,&ukIq*;3Gs$jN#$R3]Y-r+e?K,ZUP&4[Uig"
";_jl&2<b2(%+Re$bjsL^4NBj(UfPe$e<)VZD4Kv-lMKe$6$V4fcC&W76_Re$7v6on0+4mBiIQe$^xf:ZKcPWIXrSig@$b.UN;nihqbQe$<e?>,PSs+j7;wlgOSqEIOw[%kK:AX(NP&Se"
"oi);d=sOe$,eO%bJs$2hUiJGjq0J_&5<]-QWw+`M-3.;#FF`t-H6UhL]8H`M<EI;#7x(t-P*ChL;5t8vmTGs-@[CxL?MB9vYBg;-p[Gs-Saw#MH`^9v'UGs-BCuwLshfbMFx,:vc#)t-"
";VfvLv$,cM-+5cMK(#GMRC?###SbA#7_-$$?vHo#,@FGMNOduu/$)t-j8k$M(OP,M39oS%O^<s%,OV8&O&g5'wY3L,_;]3O/(C-M3D)g((x<X()5Zq;Mx$LGabI%#V4)=-O_`=-x7RA-"
"F1&J.V;mOo%[uP93TOe$b3]q;?VBL,mbM3kBI^SMr#S,v^;xu-:F'%M05(.v1+X9#O)V*MV'<$#<SGs-Ma(*M[Ej$#1Ag;-AS=_.8Rj)#Ax(t-Jh1*M-r@QMn*m*vC4tT#G5*jLw?l9#"
"SAg;-XnG<-TO,W-?(6F.Ff;^M%FY9#g:9q#9*ChLxEu9#1SGs-BBhhL)t$7veCg;-[[Gs-r,,)Md>Q`MPTw7vbhG<-3$rd-/7#.6oTfe$Mfw34P>>##pCT6$5R%:.qEgLp7EFm'd5Ke$"
"Icbo7hqX59>wRe$]9`CsH`:5Kf8s#$nFt]#$[kR-iUGs-GHY)MW0avulUGs-mRXgLCD4jLB<c9#M?&n.9U/&vW6)=-&=D].YlR)vi$)t-Q=G)M:hO7MNjEigB<7Jh&TGk=IFd+iSLkMh"
"8j^:ma@gcjKHSe$am'Ylt`*qr0<Ke$f@6F.'i#7vahG<-YIg;-]Ig;-%cxb-OQfe$78-LGw(o+MTUvY#+4$$$8t6JhqqFR*S.no%-FZ;%08O#$D-A>-DGg;-G9kf-ba&LGnK4OMl<:8M"
"tdNMKqF]ihV#,Wn(7-JhvqQe$57(&+OD3/i3URe$/D3/(PSs+jG/3jhHIK+r[7,)kmUQe$*vO9i-^:5&GWn+ic8^e$8lR7n8T0j(nI4/i(s*XC?6sr-s[3v6eC&W7H%5L,:a:rm(1h.h"
"iAI/iJhcCsVfs+jF,</icNZ3OKIQfhG.9/iNcER*Y*,DMbU8Vmm;3^#ra`=-ntcW-3-.L,5c^'8pa3Gi9s#VmRfScjc4t+j>T#Qpc+72'5[Re$'emLg19kM(_6H,jGQcf(JFKv-a,Ke$"
"N/+XCaNMS7JI5,jgjX_&c+ji'OvMdEo3i(j5C1XCM:h.hhfC_&9g)VdN;nihxrKe$XO1XCRhDciq+D_&Ap*qrV6]%kp-J_&$+dCsv(*;doVKe$lw.@0s(X9#Dx(t->HqhLN6bBM&Q(Dj"
"qwGDk?mCX(Ykee$9iNJ(ak->mf*[Ymv:D_&GOKG)fgXlptWH^#+9>)MsC/bMYAsEM4F](s$;J`tdaH]u1:L#$+:@m/UOgq#YCYuuHUGs-:$#)M&C>,Mx-S8%C#f#$D<G)Md-E$#3Ag;-"
"1Gg;-?;Ab-O<q-6xHFwT<$wIMPPbJM_-_&vr.:w-.Oc)MAWH'vIUGs-/8j'MOVs(v;Cg;-u&Rx-etC*MOm-9Mv&OMK%_.Dj9s#VmX45djI&K`jb5^e$I<&F..)rl&A9icjkuU_&],&cr"
"^0h;.IBSe$$5B(scC&W74XRe$H5mEI9o^'8bWJ`jiW(90YT%]t_G^;$LKSe$X.o34CI>'vRkpU#%fq@-g[]F-&AqW.Lh^:##<dD-l$>G-fhG<-Q,:w-;[bgLZx_:#oetgLhH/wuWUGs-"
"9uD'MB>+jL:r_:#,ij#.n3)mL(r_:#wq@u-?of(Mq7p)vZUGs-Zh1*M;nX7M[urqL:,'Jhk:$Ak<P7loOJWfiq#<Dktiw+j_F5djAp+Ak*ptW_N(YlfIgK_&jL6F.u706vO$)t-`dS(M"
"SWK_ME6I7vd$)t-hK/(M0He7v_Cg;-)C:D.`<hFrqP6Jr[no+s;S4^#*^uk-eExQa2:_-MZb@)*9k?$$/<Jt#PK>'vMCg;-a(A>-J]AR.Qtp:#BMt%lI@MVn9W'N(QYPe$p7*]b_%3v6"
"+_m%l&q(/i1l%pAr=>&ljL5YP?9)dED3Se$lx65&gRH3kd-Se$S'^_&KXM(jVfs+jP*.&lPVqEI)sO9ix_`xkmb38fL)72hf@Qe$kJ$FIv=96vq$)t-:m3$M]56DM;?P%M/9&Gr4KCX("
"hwY1gs1f%u]N.&l[hAe?x)L'#m6m7$ulG<-,mG<-U(A>-hcqH/F$$;#Ch](M[Ej$#8SGs-,l'hLn`(#vhUGs-06i*M)SMpLE4%;#q(ChLhnl*vQ6@m/L/%[#/%k5vgCg;-gHU`.24k9#"
":fG<-+/0c.5F0:#8ocW-/_Ae?POJ_ML*r6v(6Zr#.<_hLGbwAM+hj.hm;3^#U[Gs-rPc)Ml&-`MY#qCMgLs:mdtHYm//4^#PeN^-s>9@0-:1fq=u*,sf;Ke$Tq0,)uCF]u1:L#$)(`5/"
"]$Qr#97+,M%iV;$3F$Z$@]^AlTHmLg<0W8&L51j(sTQ#$?YGs-xbS(M$w83MwA8,;BoO#$QJ3#.$EQ&M'Oi+vr6@m/,p>r#gkLvu^UGs-iXbgLZB&wuGUGs-mWn#M]N8wuxTGs-pwqxL"
"B>+jLW;.;#A>H&M;e0&vXUGs-B7>)MX7p)v5UGs-irhxLts.,vi2HV#AfT%MwB16v<UGs-FgHiL%[U6vgUGs-x1`*M(nq6v:6@m/(YEp#&;[4v7UGs-7G'%ML-b^MSWK_MbaKCMc2w=l"
"]R_]l0-.L,&EW?ge>$;ml<[YmqO<X(0dW?gsUk.q/nJ_&Dq@i^mJHJrgCQe$Z%FrdmPm+sxxDGs`RI_&34HL,safe$@Ft?Krf[FMA0q=u-iF]uLwcxu1L-$$SOgq#8+o+M][vY#t9J_&"
"3ujOo$o^>$3F$Z$;ZR#$`=n]-7V):2+3^e$P&1@0ZBwO]R5pP'=K4m'4B0j(rRT#$H_`=-9YGs-<dsjL[&xIMS>FJMjx90Mr`?29t:fP98WR/;;s&F.%kPX(^9O(aEpw]G[xPe$C'be$"
"9(>oeQ1iPKlRQe$cf$Yli+;5&d5Ke$0)?xk.nIp&f;Ke$L^[Cs3E'N(a1Qe$oaV'8H-@>,HdK_&*d[`*E=g;.0LRe$kKtUm+SV8A>wRe$^6V3OBMP`E1tJ_&rq+,):6i`Fr$RWITr_ul"
"A:gFrL)72h`)Ke$;sDrdM8w.i`%kfi&MD_&iFK+r[Ic)kOc_ulH]+S[HZuofnXQe$36LxbN;nihe8Ke$`pUX(s?%]t]@GDkE6Se$Ykee$Dw$#,`bhxl5A4^#i<)=-+$rd-G9fe$srZ7n"
"*m:Mq)phiqJjK_&Q/m@blGQfr6KI^#7Wl)M#ifbMtnobMY(6:vd6)=-,=)=-?Tx>-(ucW-Zm]e$.,EX(QGcuu:K28$6:)=-+Gg;-/H)a-I'h-62:_-M-P`G)[u-g)SovG*SXn92ObGR*"
"M7OX(wD2los<cP9^Vf]GusD$$/]Ms#b@cuukUGs-D<G)MU$NvumUGs-Ato(M[H/wuWUGs-9uD'MmYuxuVUGs-j/`*M3Xt%vmCg;-wq@u-?of(M_7p)vZUGs-Zh1*M;nX7M7aa.ha/'?m"
"^%RM'7kHfhCk(B#s%M*M*UL6vcCg;-&Nn*.iEs'Maewr#cL3p#^UZ&M#Swr#T*)t-@YB%M.I:6vKUGs-Irg%M-6I7v^UGs-f?s'M]56DM=Jh1p+)F^#1d(*Mv.WEMP4&Gr%vm+sl96^#"
"CHRe-nSiEeqcebMFx,:vr.:w-<^u)Mv$,cM-(#GMLC?##[dM#$0lG<-+Gg;-<:)=-4Gg;-8Gg;-:Gg;-=Gg;-`Qx>-+mG<-2Vg_-s^9qV<;VP&HY?Vm/iO?g=i3/(@KK_&dw/2'4NBj("
"`)Ke$W$HR*ek%]k/YD8A61xlBS,adE2m>Vm75V4oK&@MhQQsYmlH_]+UV3/i7bRe$0MNJ(R`/,jB-Se$kRgFrY=P)k1j>VmG@6F.'i#7vehG<-YIg;-lbxb-DT^_&=%kf($Z:MqO@G^#"
"Y6UhLr7W*M,`*s#]<_hLLug=#3Ag;--CDX-[p]e$0);ulgYBv#OTSe$2;NX(D0/F.PY(vuV6)=-D-A>-/6)A.&[0loGc%a+LFKv-ANK_&v5Q4olE?/;E/oJ;Q)L_&HW[?gBI^SMgBf,v"
"BBQ;#O)V*MV'<$#<SGs-Ma(*M1-;hL[SR;#7dsjL;bk)#;SGs-Jh1*M-r@QMn*m*vUKmV#G5*jLw?l9#SAg;-XnG<-TO,W-?(6F.Ff;^MJq*'MU`3s#64`]09=t9#sQ2s#BBhhLTW0(M"
"V_3s#[[Gs-r,,)Mj>Q`M&9-)M7`3s#3$rd-/7#.6oTfe$Mfw34P>>##,[M8$?X>hLZ`d)M`9W$#0SGs-YbrmL:-_&vaUGs-h6i*MIm-9McuNMK,bo7nr]*qraBa(j@KK_&]VuW_oADX("
"$MSloYV:5&QVjfi/IRe$Yj^:mTrfcjkn3_JB'&F.?J;5&EZK_&E<%cr,b7p&FY65pv#gQaahpxudH`t-9uD'MmYuxuTCg;-Js%'.'4)mLUw<<#u_`=-xnc[.u(o)vs;xu-Zh1*M;nX7M"
"]XU).(Zc)MO4DhLwB16veUGs-nVl)M%[U6vV$`5/Bj`s#a7H]MGbwAM2gj.hP;nih;/<R*G^Pk=$V^6vj$)t-o&#)MZ)$DMTV8Vmbx?_8l96^#qj]j-02^-QHm+:vR289$Zrnm->:Y?g"
"GbgsL@jv)Mnjgt#r9a'MjAkW#I>Jt#KN-T-[Cg;-q6K$.NbkgLw3X<#Z'A>--DrP-kZ`=-D5u(.]eW7Mh_;v#O?M#$sx_5/o@cuu9s1*M@E?)MU$NvulCg;-/[xf.%1`$#7fG<-9lG<-"
"mUjY.2-Fxur6)=-aM,W-'@I3kYh=qV171Jquv_Fr1[_'8RORe$67nW_6%k?KosK_&s$g346%k?KaHK_&[5i34Morl&bNh+rQhxUd3E'N(]%Qe$*t2igD4Kv-$(Re$E14'oDT)5AJjK_&"
"FFC(s7qlcE:0_0rD0rIhmAA]tJ_g+r>E$)*#fB#$).6Z$nxC_&2mU_&1s@D*saZJ;-5-v?O+%QK.a%Gr=F6Al.nIp&nSKe$$8lr-a7jV7;cIJrb3We$XC&F.lA%FMr.:]t/d%Gr+a'@0"
"#2ofLfg#:$;w[:.x/%cr`b%QK8/AcrODgum.nIp&:kRe$OiO?gMC4/(lrC_&ON&F.MUkf(JFxfr4j`FrPXKv-8eRe$m?PX(h0xXl3x7pA@'Se$LS7onk#*DsO?M#$%Gg;-mAg;-l>dD-"
"CT[I-(<D].*4%wud$)t-nRXgLn`(#veUGs-#15)MSoA)vhh(T.quGr#w,#O-9SGs---,)Mm=a*M5RAbMY'qt#^?vr#L+o+M[Gl@MURQ##AF`t-ok'hL4?VhLp#6:$+=G)MG9(sLYEj*M"
"Gx$r#T[bgL*eB=#LZu)MJPbJM;e0&vj<#-MM'_=#x;Jt#YcKg-7+M'Sncn+M*n^=#X.=Dt^]Kg-7+M'SXx_'Spo*,MVW/+M^(,]#XY0K-XY0K-XY0K-YcKg-:4M'Squ3,M2BZ:$#bVs#"
"Xfg,.:lR+M6fB(MV*Wvu[Cg;-(2>o.21`$#8fG<-9lG<-Z>qW.?-FxutH`t-Uh](McZsMMU%T)vhhG<-jlK4.keW7M#E](sH$2^#D`mT/rgC+r,c$W$5'S5'l=0^ufCF+rkV+RE-e.T&"
"KHSe$IcNe$IcNe$IcNe$DegLp4NBj(@'Se$IcNe$LFsUm_%3v6dYjEIU5jEIO#jEIO#jEIuoIfL$bOkL]T^9$Kk4sLOh4sL3<`-MYR/Z041%wu^4,##lLOgL5e0&v^UGs-EIY)MU%T)v"
"s6@m/wF;8$q>&=#6SGs-]<_hLFug=#;4@m/oSx9$)85##1SGs-_RXgL&FPGM[RQ##6fG<->_`=-+l@u-_XbgL4(^fLdqT(M.I/wuEUGs-5]v&MmYuxuGUGs-#15)MSoA)veCg;-idg,."
"jFwqL%tmY#N$Z7$#m+:v1(]fLJKihLLC?##(.6Z$nxC_&2mU_&1s@D*saZJ;-5-v?KiUPKqNH#$0B:jq:qFJ(@'Se$B*gQak`kr-X`S#$Pe0o-ev2XCXVSiBP=5L,,49qV4ZxQE5aBv#"
"853wp:;qKGaHK_&&HU_&x14GMx'^fLj0gfLW-;hL%FPGM[RQ##3fG<->_`=--HKG.vK,+#k6JQK==V;$j3K1p*OV8&;`b>$5FMYm3'S5'>TO2(H0`>$C'/;n@sBj(?$Se$/<6qVfe<wT"
"_BK_&sJ.ipa7jV7`wc>$SpFSo?\?MDF]Y]aFff^;$Vr$VmnY2Gs1o5qVE;_;$rgC+r'.6Z$E6Se$CtcIq4NBj(KHSe$I3Oe$U@NP&C9[Z$%0)fqcH1_AlESe$]&aFra7jV7riJZ$n:3lo"
"1l%pAdVNdEei#W$iA`EeB<@cr8OC^#^BhhL(]8+Mng2Z#-CDX-[p]e$&$^e$`)2'obN_G)>u9Z$I4Me$^:35&dl>s$GvZ`*4NBj(xrKe$G`AD*+Y%pA2j8e?cR7s$,dVe$'h2XCQc:v#"
"I-M#$GkUH-_g_tLnES8%wO?s$=dgx=M+%QKM<O5&te8;[.nIp&=tRe$u-:oeD4Kv-D3Se$g']=l+Y%pA%be9&O9mLg6o:v#C0Se$.s#]kmNZJ;G3r#$<(89$jU3B-VCg;-o,E6.mqKHM"
"<'2hLb/E$#`cQX.B=7wux)A>-Qsqh.RHtxu_hG<-cGg;-dLdl.Ii'+vm6)=-s>n]-U/U_&mG.FM_xt_.)C@w#J'7*.nhkgL@/VHMc1N$#:@rP'AeRQ'EKcf(rD*XCc*Se$<L.Q'G4n92"
";Q<XC+Df+Mc1N$#:@rP'<F%Q',2&F-;A]'.KqtgLHHK9$;5&F-;5&F-;5&F-AS=_.TEr$#5*#O-=/&F-f$)t-TbS(Mn`(#vp$`5/YW+:$Vp1*M?iow#CS]F-aPqw-^Q6IM3X/%#:*#O-"
"WkUH-u6)=-pPqw-M1)mLX?VhL.Y0(M`oA)v`Cg;-20=v/N]k*vvde[#06]Y-Wg]e$x14GM%=5,MGN`G)o*cP95^,g)gLvrn_q#qr]nRe$#[_-6(,Hq;X0K_&CcBL,=8nOo$:2_]e&[9M"
"ljK_&;1O4o/we5'=tRe$Ge4a+PanI-k^nI-#I`t-go;'MW+T)vQ&wIMQl@iLYn,:$)V3B-,Cg;-]cq@-3?EU-L$)t-bZu)MaH<mL;WY&#n?]/0J;Puu$mT#$P^Nb.RlCvu^hG<-;'Us."
"<OO1pKdc?Ke0Se$gZ_c)2<b2(iIQe$iMlF`?]nA,&.Re$7.io.E=g;./IRe$G`AD*+Y%pA;')dEX=I_&CemIhwla.hf;Ke$5Bh=cN;nihwtQe$Gskl/Soo(ktcaB#Tf=:$qiN5v4UGs-"
"IFQ&MM0XBM63g+io%D_&DP]4fTx4Dk3kLs.;kee$N&55/h*%#mwoKe$c)Cul^nZYmoVKe$>xNJ(dTx4p'^12q%OJ_&an:igmJHJrC/Pe$:Y4YYmPm+s8%Ps.NA8eZoVRbMrifbMFx,:v"
"1;xu-fS9%Mv$,cMU4H:v$hG<-(ucW-Zm]e$DJX?gx.x+M#a;v#.IQ?$TN3p.kqN4o)@m;%3URe$Nv0@0+3^e$JE8F./jB%k@ToP'V[c#$kWn#McKs$#LAg;-;m`a-0x$LG<$wIMM>FJM"
"&#:0M0g?29`9.F.*h/LG[Rdw9?VBL,g+U9ikLq+vX;xu-5)ChL$Bf,v7j''#t?hhLZB&wueUGs-jER#M]N8wuJCg;-,vGd.4S/&vp$)t-Xh1*MCE:sLUD`^#VTM8$BK8=#4Ag;-*U[Q/"
"ISOV-Rn;v#).6Z$#DD_&Lm'@0+i0HMd-E$#?F`t-DwdiLoM5OM[SW,#?fG<-`:9O0`cCvu/]?(#Q/`*MW0avuk$`5/;Ko9$7D4gLocamLa'01$uu_vu@ZW/1=W+:$fjf=#(75'$DfRQ-"
"-Lx>-o$)t-9O8(MAWH'vZCg;-%JA/.D)ofLRhjmLJP+5$e<dD-jCg;-xZ,%.Pr0hLj+C*#^Pqw-^kQiL],C*#R_wm/Pw.9$?,b9#/SGs-5htgLxKC6vR?mA#j5]Y-TMn-6=,-AMFBRlf"
"V`NjhE8F29=JrOoSiJGjE6Se$@W1]bYOhxl4B]Ym70K_&E@h'8ca(EM:[Hip9c*,sK`<R*&pVX(4uS1poZ@##LKSe$+O:_A(PFgL-E?'$tTQ#$:lG<-:YGs--X6iL[&xIMG>FJM%AMPM"
"HdhsLMnsmLD.84$wu_vuXCg;-Hx=G-954R-phG<-Uf=(.*2)mLbB-b#spx/.F&]fL*MH'$3@DX-klU_&s'F_&NjPP&Hf>,;A?cf(2<b2(%+Re$lo-`a4NBj(YrPe$=2cCjD4Kv-oVKe$"
"/:BuccC&W7<qRe$v.ujtK0ViBd_I_&gtZ1^;9`DFa,Ke$qbJJ(IV>WIR.?,;G;qEIi4c.hhfC_&Lh.`jL/[ihxVnA#8w/?.v;sr-]xs+jr`W/;R`$FIuiN5v%ZYb#&D%+M)t$7vMCg;-"
"[[Gs-QsZiL6EI;#5Ag;-u<)=-PeN^-aZgKc2]'GrGx4^#Vqj#.6^u)Ma`^9v^Cg;-21Yc-Tafe$L-&M^+cx%u&.Re$,,WX(K>2:2'KU_&M/>uuMdu'$1R%:.:pO+`-@6Z$G<Se$9=K1p"
"(=vV%IK<s%1we5'MADX(LCsEIX4rvuG$)t-.-wiL5Hr-M6`%d)2wJ_&I+OX(lF*:2$3K3kh'SNMXN$+#['A>-17>k-Fa4@0^pZEeHvll&?;bK;9Fno%.MIJ(3URe$8GZ=lD4Kv-/IRe$"
"5Io92InYlAQ)L_&0nE%k>N7aF)_RG;K.6>mnSdfrH?Se$Mfw34trnFMGS3J/hj(($i?hhLMF?##4SGs-detgL,k1HM+2M'#9fG<-1@X7/dc*x#V)ofLMH<,#X_LxL1_YgLi+doLDem)M"
"^0avuZCg;-j9na.dGs%vn$)t-cVm&M+``pL?_WG#)=T6$.8a'MGeWG#D#/9$`+H7v*$`5/Ns%9$Y3uoLr/moLf]45$_SXgLY/moLXE?)M^0avu`UGs-TbS(MCD4jLj1moLh&<*M;e0&v"
"HCg;-C0r1.H$MEM?<)g($pgY?N(nlpC7Y'8j?Se$1,?xk3E'N(C0Se$D_K1pB(9v-iCEv6JjK_&@XM-QT?ZlA%$'Z?6F1XC$i(Jh4#`V?aCd-6IF>GjXxScj6C1^#r;N#0V>96vwY.d#"
"H30_-K8VX(*OdCss>u1qsM3^#=mTS//KD+rEq#a*?Qe]G9X_#$ch1*MTdhsLI;)pLdPU6$M54R-WCg;-Z^Nb.8/`$#6fG<-i:n]-lOoQah9;>,(9Tv?&xZ=lq[3v6KNXv?==H(j7:]pA"
"gp,s?t;'@05L@ci?oslAIF0fqI?5'olESe$s$g34ZE$5A'ZU5B.#uKGA-&RE@,XJC-27JrB(9v-H,rMCOMGq;I5^M9>T[AGrb<qV?eDfhTjA>G_Gm34'Q.wpaHK_&J_5kXHsp=l%=eYG"
"21BMh,b7p&73f5'KmK_&>Y'^G.FjEI=a<eZ=a<eZ;T*eZ];1eZ;T*eZu9&@0<Mk]GBu#ZHk]xQE3NKq;RnaVH&&5ZHjXrUm6BO2(V[hYHHZR`k:aBj(,@Re$Ff$]kC1T;.4P#ZHnqT3O"
"3NKq;@F8pAK`<R*6N>ul9-MDFqZ%ZH3::L,x(t5v/OhJ#7$:hLwB16vdCg;-S[Gs-[9j'M1th6v3X-g#VT%:.C>?rmd*[Ym>wRe$*=hFrk>6Jr2M3Gs5A4^#6HtR/1^%crbp$a*Awq#$"
"IS#7$E]AN-VCg;-gUjY.Qv_vuk$)t-s'ChL1-;hLgXV/#L<G)MCvRiLKSV/#.vgK-?8aM-gH`t-GIY)M9_4rLF:(sL-iE8$lB%FMQfxCs76'sHrgC+r%x#Z$5'S5'gA=vH[^>X(#VRP&"
"Nr:5Ks9J5p`6KJ(:T0j(Q1]A,iCEv6Y4=R*]xK+i+Y%pA;_LB#5*d7$VDs'MN:xg#))Us.Yb4ip<v&REh&;2K^c>xk#fB#$$PQ5KwN6L,+i0HM;w(hLwfhsLP:W*MRj[IM)ZuxuchG<-"
"RlG<-EWqw-<15)MUjqsL@/J0#q>EU-73H-.kjpsLEr)*MCD4jLZ-J0#SY,-0d^k*v;9*h#WF3#.,<4,MOhZM9pFhiUZ1F8])R'446uT?g=4J_&qA<A+4NBj(g>Ke$Zj)fqcC&W7;nRe$"
".V4_AFf]lAR,L_&m0$&+7qlcE:a=jUKQ8f_FmIaF,[ffUk#2wpg/f.hgcC_&=*WV-M8w.ibp)B#NFQ&MXQB_MlQ'(Ma-?wLk0]Y-o]4F.FYD4#0Vi0$(*)t-am'hL)3/>MPt.8[PIc#$"
"mF'%M^d52v'Cg;-<a`=-N#rd-]HOk=-q*$Mpaj0$.v,D-Ls@u-TJY)M_fC%Mvaj0$?Ig;-B[Gs-J9j'MS=@AMMr(8ePNKVe`rS#$,',s/xdCvugCv3#/YGs-D05)M5'MHM7-;hL*Lw3#"
"-*d%.e(3JM#Zuxu%*A>-I%KZ.XT/&vZhG<-VLn*.s&a^MPBtBMCfY(jS,-,VE(4ip%Wjo[nDN#$m20_-O._w9oxuoo`4(RE[kRe$^_jl&2<b2(%+Re$bjsL^4NBj(UfPe$e<)VZD4Kv-"
"lMKe$6$V4fcC&W76_Re$7v6on0+4mBiIQe$^xf:ZKcPWI&UFGV@$b.UN;nihqbQe$<e?>,PSs+j;i_JV6s&_]r1Z%kK:AX(NP&SeiXefUlRQe$oSce$vice$tqb+M..JS[*L5R*_gm-6"
"=5KX(^sli':>]P^)7Re$k$k@b/)FM_J7c#$BcMuLcPD3vqTGs-_H(xL7YL[M?f_[Mcu%4voH`t-4($&M=(.]Ms7J4v`gG<-K<)=-B[Gs-2S9%MwOo4vTCg;-O<)=-DW]J.Ep6]XPa,8f"
"[,jcj:4E_&6m8GDocMcs?,n(t4*2atDZGGVfVL_&]I7wuT$)t-5Vm&M_W/%#bSGs-`BonLadA%#ASGs-A,KkLcpS%#*Ag;-=YGs-VSXgLLvv'vYUGs-b;_hLG$k4#LSGs-WILpLw)/YM"
"J605#FfG<-NrfZ0$eCvu%O24#ITl)M-klgLm]34#&X6iLcKs$#3SGs-fm:*M5e0&v^UGs-FOc)MU%T)voUGs-xR-iL9eXRM>%)+v=Zwm/R[-4$D$k5vjCg;-x`Nb.G3k9#Ix(t-s+V*M"
"$UL6vGUGs-tuC*MTZBCM@.afU()Gk4H?.$$2^ww#J#%YMW<95#5fG<-%]`A.=,if(.KdV[lRQe$S)b4](?28]=)NS]J7c#$.e)'M</cZM@Du?MZdR`a1Be#$TJY)MMo_@MCMguc@[3>d"
"CqaYdFP<R*gk7@0O?UX(oQ0:2#XR-QMh85&er))WAk^-6J-52'2X<,W'^_KcaI68.uhEv6^e5L,[o0fh)GD8A3cQ,Wo7nOo?9)dE?$Se$e/$:2amTMqAq(qr1?Ke$bo3ipR`/,j9hRe$"
"nhG(s[UUAlUD))W;v5L,$M]e$qkk+MLE^1vmZ`=-*Ig;-)&H`-M5n-6tc0;nLnr%cg=cKcG+P#$FnG<-?E&j-M=k9MBJd]M#Yf8#MpX?-S]U-/8@]`3jxvKcPK1/(v?J_&0QKGW2WTGW"
"8)Vl-f1hKcIc&5AK.5L,Bx+fq;3;dECjCDW#`[iqM2RMhreQe$.Mjf(M8w.iL_nGW`uql&Vfs+jcE]GW=[1XCt1?`jXcDX(:-5`av9h?g=:h?gon0,Mk/B1$/E&(M:Q]>M/9+5]62+2_"
"m^JGW=e=JrLhMDb?$Se$DdtW_Cq`9iCq`9ic<LVd[:=R*gk7@0[VFL,C8UGWP[Kk.Q^K:#`ppo/MNc'$H*t5vlCg;-0/OJ-KrN+.@OuwL^c:#$-Z`=-[UGs-7$:hLL'='M@)tO#mPc)M"
"+[U6vTh(T.@a`8$X^jY.PNT6v`hG<-Kx]7.XTXgL.?k4#i-m7$03%wuIUGs-rq0hL]Ks$#4SGs-(SXgLCD4jL/,k4#x*,)M1f.QM_4T-#=Xwm/V0n4$J$k5vgCg;-9A&n.L0'6vF$)t-"
"I5*jLM-F'M<50P#?<_hLV?b'M#60P#B;k$M6<@7vs9f1$4Y=Z-QSce$8d4F.uw$YM(-&>Mt_2;ZQe-F.OAj9M%@7#MoGg1$nAhhL6a+ZMfm,6#@fG<-88>k-uZTX(7(]_&vDLwT`^L7#"
"U9xu-[uC*M;rq[Me+84vhhG<-?Ig;-@Ig;-&ZHp-`5T'SBJd]MPRn]MHc45v'/:w-go:*MT^T_Mj(V:#g@+M$8^jjL7W@IMhjJ%#]x(t-n(niLH*t4#ex_5/oMc'$#ev&M]:9P#0UXgL"
"'@l9#AAg;-^N`t-NFQ&MXQB_M2$r6vl*&5#1s%'.ZTXgLW6'5#INc)M;'MHMsYuxuqhG<--vGd.aHs%vt$)t-pO8(M[7T)vf3AP#h,,)MST9CM/X2;Z1g`s[tt=>Yt]M.q*Qio]E'`#$"
"V7i*M7/G$MK?KP#1X3B-T33Y.b9JP#WcDE-@ZU).E$`xL)RQ)M-klgLV=95#1IA/.u:3jL]%axL'kv)MGe0&vMUGs-GUl)MU%T)vaCg;-8OD&.l^N7M4_DM/p?SP#8$:hLM-F'MxLTP#"
"6[bgL+[U6vYCg;-rmmx/]#?7veQ42$4Y=Z-QSce$vice$6nLR*`;.,)@238]3g`S]koC_&`Eu347^T[Muu%4vj6)=-_$43.t3?]M@:I]M@77AM'jcrdatP#$QN`t-&IFgLiO[AMTgL`j"
"%JD_&qSBJ:,O@;$Fv:>ZD7irn3w.T&JESe$=vxQEZpLJ(;<K_&.BJ+iD4Kv-4XRe$a'kEIi9)qrs)L_&u&IR*ALbKcWUYiBD&DX(OCgIq;<r`F93]Y->5ER*Ho2'Mlf^P#>#/9$UHK6v"
"eUGs-[9j'MRKt'MS`>2$W3H-.NN:XMoHmwL5`>2$&nG<-'nG<-T:,@0c*&Yl1vNS[;nRe$$,lFi+T`S]>wRe$E8fFr02bi_#hQ#$=o`a-<jpEI@toEIC7UVZh1f-6&P?`jg7suZG<ufr"
"X'l+MwPT5#c1RA-L64R-*H`t-%Q9%MaNaMM)I<mLMOT5#G@xu-AhVuLtnl*vih(T.J&%w#so,D-dCg;-U*)t-V3a'MV?b'MY7&#M6_#pL2-u5$HIl@MG*91vxNOAYXcDX(gMf'8+en#M"
"tlP2$=<)=-3Ig;-Ibxb-e<Wq;seaJrBSnG)+66;[^c?mp;p1/(#%Re$l6I9i5fkr6NvK_&aFdCj+SV8A7bRe$7@mIhUYJigF9Se$DuT.hN;nihf;Ke$`]R1pQVjfie8Ke$XaBulSiJGj"
"?$Se$nhG(sU%,)k'1Re$9Mo-6O=]1vejX2$0nG<-d@0,.gr*$M4xY2$;_v&MMo_@M>Lguc@[3>dYWOYdTNkud[hY#$i>>qVmY35v1/:w-WfsjL.'V:#-rtM$892mLI0'5#nf(T.<j3x#"
"BCrP-^UGs-iXbgLZB&wuGUGs-mWn#M]N8wuxTGs-pwqxLmVY&#6Ag;-0-E6.A?;mL8cg5#B7>)Me7p)v5UGs-irhxLts.,v7^+Q#AfT%MwB16v<UGs-FgHiL%[U6veCg;-M9Af.^ap6v"
"@Zwm/)ca5$v?20v6Cg;-oHg;-wQ,W-1f[3O'F+d*;#*s[scKe$6ITX(^sli'4,]P^)7Re$k$k@b15XM_=tRe$[;Fo[4PTJ`b4Qe$ccBl]5`>Ga?.v(b:%;Dbw,)W[`;DrdMw7AcJnR]c"
"j&pxcL*4>dCqaYd024L,Db*]kAw/;ePNKVe#hQ#$jxX?-k0ON.-8LM0nn,)kS[Me$hLBoeBG7g(-CRe$DX0lo6a#K)I=Me$7W^e$q#`c)?8vG*>rLe$JqK1p9,D)+ssrc<0^8)=J^TDX"
"1b5R*l9/20vE4&Y_'Ne$wlce$4hLR*+TZ`38HTP&,@Re$d?cf(2<b2(%+Re$lo-`a4NBj(YrPe$=2cCjD4Kv-oVKe$/:BuccC&W7<qRe$jm-wp]eYiBd_I_&AYqW_hs/AFgcC_&qbJJ("
"KcPWIdtlo[>ujIqL)72hb/Ke$Lh.`jL/[ihxVnA#8w/?.v;sr-_.0,jIBSe$r`$FIA>20v7vk2$oHg;-dVg_-_I[_&=>B%t6KL>Z-CRe$jFYY,)B)s[#vKe$6ITX(jn0wp[fGM^7;FM_"
"c*d#$)xp%MK>l?M$Wr(a83K_&=:]_&9`de$MX;RECL]_&sH[-Q>2?]ML:I]MkOo4v)A:@-K*)t-eo:*MKXw]M%i=5v@$)t-WfsjL.'V:#/(1N$8^jjL`^8%#wSGs-qLOgLbjJ%#VSGs-"
"n.xfL;peIMr]>4M5)CAXu0]`XLp5&YwU0L,wlce$e=uu,'htxY+h:9]pjC+r8B95&?$Se$E<%cr.nIp&:kRe$6;?xk4NBj(,@Re$rrS3Os$78.Q)L_&%>^Csa7jV7AF8pA?HK_&6N>ul"
";9`DFF9Se$S::L,x(t5v^j=Q#4htgLM0XBMC5#GiO#L_&bcR1pR`/,j0LRe$e5Z7n%:ffUC0Se$oSce$`t(qrN?vxX)bOAYW.=R*)S[_&p2<lf.KdV[;nRe$$,lFi+T`S]>wRe$&OOk="
"-t<?Mm-Zf_g0Q#$:nG<-Ha`=-UbnM.t^&Yl`W8AcD[R]cBnjudjJhre1#AT]lqnRn<a52'Z8eS]Vb#qrb/MJ(oI<X(b_35&C1T;.unjV7x;iS]gjX_&B;JR*4%qLgYfJig?$Se$F16fh"
"N;nihq]Ke$_0*RE+GCcimuC_&5X9'o+Y$Dja]ET](rX1g&=ffUCqL#$oHg;-&=Ab-_I[_&0b9on>vQV[7g)s[o%D_&6ITX(a8if(4,]P^A*Se$.6He?/*O?MZMVc`L>DX(PI^EejqW`a"
"p(D_&U[gEecs-4vn$)t-Y]u)M?4@]M@:I]MjIf4vgH`t-h7i*MCLe]MPRn]M#d45vbH`t-cVl)M'eL:#H4@m/BbS&$,t%1vuCg;-uHg;-,<)=-wHg;-4sw6//qhv#fTXgL0%66#LAJvL"
"cN8wu9Cg;-i'7*.C3)mLI$66#`DQ&Mb%T)viCg;-VYU).1wV^M%O16vYvOQ#P^xf._NT6vRhG<-AS=g0$@20vX213$qd)'MH-91vEUGs-9>G)M+dx>M'^BM^j>a#$Ni1*M<,P?Mh,Zf_"
"9M'/`H_,p]mOde$HNMR*=:]_&9`de$,8EqV;v#]Mt(.]Ms7J4vHX3B-MN`t-ao:*MHF[]MCLe]MEXw]MF_*^M?Lt'MDS23$.>H$$/'s4#?Ag;-)<@m/wwX:$8eCvuZCg;-&*d%.hZbgL"
"0$?6#BIA/.);3jLV*?6#.*V*MMe0&vQUGs-A%#)Md$)+vj$`5/7e=:$2wV^Mw?l9#2x(t-kDP)M%[U6vWCg;-GWg_-PM;qVcDko[c3.2^$2fFr1;'/`O?M#$2p,D-O)nA/n#G6#Q/`*M"
"V*Wvu_Cg;-b'LS-OmUH-c$)t-th](M)SMpL*+H6#p7K$.vZWRMj_4rL*+H6#m,NU/KDmi'M69Ab2(cP^)J8_Aw;ISeQWgreR7,2_nZ,,s3nU?gd-Se$s6=wThGif(?HK_&HxZ=la7jV7"
"q<-2_gw<Mq41xlBE#f2_H+RP&o*+@'1?Ke$m`f'80-F$MVWV3$N25)Mno`7#Mnr%cR6f]cRPDX(ER]_&@ude$w%jf(ME0;eLH^VeiiC_&J[J_&Xw@;$S@GM_=G0&lNUJ'obs52'ao]M_"
"XrGq;hAMJ(U(=R*#i#qrrX>>,J:9v-rMaM_F_W_&Bf/ipS,aDF*:Re$CWBxkE1di^vca#$Nc(*Miu%4vmCg;-3X)../@6&M<)>$MF<99$;1&F-hUGs-Rm:*MCD4jL/Bm6#=(-l.<`@)v"
"pH`t-NtC*M7RxqLT`i3$<px/.(fB%MJ^i3$g(uZ-=P=L,pPe8#ITh3$Hu[>/@n:$#2-F$Mc@6)MZB&wuOUGs-9p/kLmVY&#9SGs-bKNjL-r@QMX4T-#IF@6/ams5$qfn#MT0G$MR(h(M"
"75lZM9;Y$M<0G$M2fG@.nqL(jLnr%cb)A/`Zt8'o$'2;dRPDX(SpMR*mK0:2MWY7nNNKVe01W3O_BK_&-Pp'8V=]`3^C>)kAK=G`.Lore+XrS&6RHJ`((ZJ`R$g34'C78.^@=R*,9Kq;"
"vGK]FbZAG`@T#2q8%;Db83Hq;KZ^c`gcC_&gvpl&EZK_&8MvXl4NBj(5[Re$.ad?Kdn^lA:['nBs>^c`,2N.q(:)REPIRe$E<%cr-kR5'PbH,aF9=ul/YD8A3l%pA9qlcESvMDF^((,a"
"*'j34KWU,s_J.8eH?Se$_(gFr5TpEIg6Se$;o7rm4NBj(a,Ke$U<L1pcC&W7=tRe$<MjLp+Y%pA$MLHaoD']kJ:HM^@'Se$1Gde$V7.@0`^L7#C4)=-Kc:1.-fB%M'Il$Mew^(ML:I]M"
"ILe]MmXf8#?4)=-7KKC-@,#O-dX_@-EARi.Fw_vuJhG<-;i)M-FPYO-bhG<-3))t-Q0`*Mj$)+vA$`5/_NE5$#&F?M@GVc`r+u9)Bf<X(L/3ip?eNYd*P(daw,m+MOF@&M(V(%M9hN8$"
"`64R-dCg;-R0RE.]JtxuPUT;.*S:)b/B%qrHC)REj%5L,?2JR*SCgIqQn%,`U%-)b:v:P-GPYO-x6)=-mMn*.8F?&M*t`7#m6cS0HtC$#Gj_7#?I/(M]N8wuXUGs-L1a'MaH<mLNp`7#"
"AKfDbdmE%kL)JaFJ43Ab^HFk=qU)/_q+D_&K]bCs3G9/`KHSe$Gd6lo:1MDbhAKe$:ZHe?=,6]M?4@]M@:I]M?.r%M2:]4$K*)t-+htgLiLI&MK)s7#GFuG-veGD/&#r7#JNc)M0'2hL"
"'gC%Mj&)t-L<G)Mt;GxugUGs-Uh](MaNaMM=[sMM1``pLWgC%MU_d)Mv$)+vbL,W-]eWw9[0u2v7>n4$O6U@/cU*5v_lK%Mh3$)M,ecgL81&8#DGg;-OI,[.)U/&vgZ`=-N(nA/Wk'+v"
"c.6]MF6/8#S44R-$Y0K-((Hd.O0`$#M9xu-OTl)M23DhL$</8#`m:*MsYuxuZCg;-+4;.MK3/8##RW]cGKFSoKdMDF?PN'SvXdi^7oRYcWcVfr2DBJ`?.v(b:%;Db43X]c?mg#dH)w%+"
"Sc2/('tA#dW7lr-iU&W7r`Ke$:n%REn6_lA61xlBoB/#d.#uKG0A<qV^x3;dkCZ=l2B0j(F4Kv->EK_&?P;-mnhY3Or&L_&=WY:mUh)/_kJKe$FbwKG)[X`aJjK_&t4+)*?eNYdHBpVe"
"W0GVd_wSfr2<b2(/IRe$beNP&D4Kv-B-Se$lT9rm+SV8AA*Se$)t)eZcSi?KLVNVd[eh34X6(3vo$)t-X7i*M8Y1%MXdF5$ZY=Z-xqde$@ude$SpMR*I_]_&)&NJ(P5:5&?$Se$*v&eZ"
"PVmQaiaK_&6iu^]/7?>,Q)L_&YCrKGRtLS76-K_&Q*4@0^6V3O-j0AF::krd(1kfra:^'8V[Re$USm92K#uW_bKK_&KB&F.wo2/(^x6;eWiGVn>g0j(xo1;e[7`ooH:9v-VnW;eOAiLp"
"gIjV73l%pAhL[;eo%rRnG^`DF@'Se$WcmEI'idi^<F08ee'-eZ&@AG`?.v(b:%;DbX)?We8@KSevv(fq00O2(;tfVeK;[9M5t78.])_Ve'AX'8q3(5AC4aVe;5i34/^O`E,rJSe@?u34"
"03kZM[J;3vsH`t-&<_hLd%/4vmCg;-gLU[-xqde$@ude$C(ee$#&NJ(]/-8fB1jreLU%snC)qEIb'Se$(0J+i3E'N(5[Re$65$]k?]nA,KHSe$#(oreA^>Mqe73v6fFnrevdoud3x7pA"
"0LRe$T34@0T_cFrZO@-mh9Se$S&i?KxO@-mjdK_&rgJ'S-tt%bok3seqs(GMOF@&MDLI&M?JC6$+[bgL/hx8#;:)=-KARi.Y?7wuuZ`=-jPqw-CGaJM#I<mLOMI&MM5$)MB.]QMv$)+v"
"^H@6/srP7$0s*$M2-u5$TQq%/mU*5vE<w0#KSor6Z/Pb%j9qM:mlh_&N]qr$IXj_&Pi68%0dl_&m`kr-pvk_&JWoF.XIjl&.G]R*@F(S*9&FS7C0ZR*_nfi'aHk_&787`&Lf3DWHI^R*"
"m/<A+.Tl_&4sU_&K5>>#Nt<wT[^o-$/.:B#>%p.C-=`T.3xL$#aB`T.kh8*#0tG<-N2:W.F?Ku$Fg`=-D?xU.[^S*%u3xU.I-4&#hsG<-;L`T.#.K*#/6xU.i=Jx$RtG<-LD*$5+mk.#"
"cSq/#TH4.#HB+.#c:F&#0E-(#S`:5/1c/*#vS3rLU_4rLFr%qL=RxqL/<TnLx:^-#Tlls-jB4OMB(8qL1@;/#T#43.;(trL5x.qLCwXrLY-lrL%)8qLL5*,#A``=-ATGs-dtRNM6@LSM"
"MY5.#T'l?-;Hg;-Wx=G-nR1H-tA8F-dqkv-i6]nL4fipLwW]F-]5bgOig@fMJO-AQ,b5oL35JqLPSxqLD0OJ-VhSN-`mVE-#^CK-;?:@-eS'4.6ABsLO)B-#.J,[.ZYO.#]g_xM9@xQM"
"WGD/#X4S>-&F3U-7sY<-)36u7_QX>-w^Y>-uSZMCW:E5B,,wiClxs`FBo=p7Mo.&Gb^)aF>k^9Msh%;HSTh>-GVLXN@LG&#G(A>-0Km-.&T3rL5@1sLq:2/#:Z5<-6)m<-1N#<-$EeA-"
"<&vW-@`D&dc_5.#.aErLU)8qL2(8qLS-lrLZHD/#(E6L-cSXR-`p-A-Jr.>-<8sv7^u'@0JYo3+2RIwpM6O=-;]dINfGD/#WaoF-i@qS-e`66%Hq-#HT*QDF_khM1.+XMCo[xfDi,J21"
"S?.#HEq-#HtvVG<noNDFcx$(8]jEe-aDi34/OAVHZZYMCjv.Fn4f4)F;XdYH7qlcEu#+sIr]VJDd_gDF(()KW2.AqLr#YrL>r%qLFxIQMX.lrLMoTH%O[`'/$G1DEef&aFn[@W8=X+rL"
"2/K-#cW_@-@MM=-6sY<-R4S>-.:ts74`*#Hh'm]G5Nup'%Pr'#j_0HMr8T8%U/j`Feo2RE^F.S8oNb,O;>8F-SxhH-%mH6%wJ(Llj5[9M<Y(KWZ1B-#N<x-#*+B/DZa_>-:TTpTrrmi$"
"GKx;-$?eA-^Z@Q-YO+Z-,7e,X]<6&8L^*#Hk%[5B[AM?pHr>&O;%Eb$id7kO=%g+M2>M.MN(8qLo?1sLvED/#o-v]'@CAk=;B4-vKu0L,.Wc3=<Un-$[*a'/sidq2?OxlBo:,#HLpG5B"
"qseJji'kB-4sY<-aY@Q-@?pV-H9v924L':VB)-F%#]3XU`OaPB]kX>-WAdPB2cq;-wF[r7qW&:`Tmr^fp.'aFd%[-?k2:X1t5]DN5mak)UBndMeFsM-XN.Q-loTA8i.7W]H2oiLZ'crL"
"E0m.#&*IqLlS=RMd7d98v7B;I<^-NCb-exF2+xlBgmkQsNL)F.&C9EPtW`/#_AFR-Y@reM9]_@-pj?x-#n-qL/x.qL'0wT-]ge$8Aqa>-%v5X$D?f;-xJwA-Ft%'.$T3rL^RxqLT9jn'"
"AMU<-q%kB-u,:1M5KG&#SZb?/L)1/#]9u98%r;QL&&[F)%?+edv_Be6#hj9;fnXwK>H#F[i?\?qM:^=kX#D1DEZ8+KE+'LC-O>eA-TxhH-xt&4MT^/K%na&<-SkK8/^st.#e,KkLhT`/#"
"M?<j1#NWE>:Po'.o)IqL'43l%B2SdF>M_oD2<XG-=Bnh2VpIKF#kitB^0_J;J40@-]WhtB%dOVC6*TMF*'FG-07%F-jFVMFtkfP9P5koM:FgTC(*7L2TCRFHo?$g;&Xh6MvU>-Mq*tB-"
"E.Y41c:@bH.qEG-?^<M2)-FR1L;0oD5lD5B2=pcEw4Ne$8+l?B?0xiCRC]2CWwqJP,4oiL))^TCkp*rCOo8hOqH>fGqEDtBjg4/M'k]g3+oL*H-kwF-=A?PExi[:C+dDtBv?x+1,8HlE"
"u]pKF,gpoD0`]gD)g]TC=<InM`g>>B;9R7M/AX$N6Aw%Jl*m<BO$;U2FVKKFGIMVC<Wu91<xOVCwV0+G#YJoLGMuiC)(bcHHaESMhH6t.+Y*cHUo[Kl?f>LF,(rE-6EFG-rfcdGSSb8M"
";$jI.8lV.Go:K*FvA^kE&rvgF@ROGH+A>$Hop%UC@a+7's'l,MKsluBL2,ePK%odFh:3s7Pp>gD,SnbH7QZ>-bFk?-07%F-r/X7D9OLqLMWdL-eVRBMQ9(sLRK1cH'1$I%R;f]G@i9^G"
"0Q]:C0w3=I+<J:C;pwF-6ZxUCCt7FHtR)b4N52&G&/vhF4p0SDGUnSD#:@F-6;DEHNZN?H,'XG-,G2eG:g2R<C<ISD$SV$94$%F-djeUCUl[7MD]BW0=N.#H:IBDI63rQM<fD:NqoBs."
"s]BoDN_V#II;+4%Ydo*H3YX7D'HX7D?[HKF/:rVC<tR/G:aNSMJBt?8`@g;I0neF-QUFNC9spKF*RL6M:uvgF*4#?-8$7rL)G[oDt4@r7Xp#emXO8mB0EwH?HE.WCC(xr1/WN,MA&Jr%"
"E(U^Gx:r*HHQw7Mvb,>BgTV=BogG'S:S(KW3S<j1pkn+H5-xF-?^<M2:4//G3Ww<IO*l3C*iiiFm$?<BTMvNFw[$##T?*1#wH<1#8=3ZPA&w.q&;cY#jg_5S*;G##.GY##2Sl##6`($#"
":l:$#>xL$#B.`$#F:r$#JF.%#NR@%#R_R%#Vke%#Zww%#_-4&#c9F&#gEX&#kQk&#o^''#sj9'#wvK'#%-_'#)9q'#-E-(#1Q?(#5^Q(#9jd(#=vv(#A,3)#E8E)#IDW)#MPj)#Q]&*#"
"Ui8*#YuJ*#^+^*#b7p*#fC,+#A=fnL:Mg&=pbY+#tnl+#x$),#&1;,#*=M,#.I`,#2Ur,#6b.-#;w[H#@mq7#:u$8#Q5n0#j<':#$0?;#=Kf5#<vO6#8j=6#^Vx5#[B0:#@5H;#?Qo5#"
"9@G##KA*1#gC17#MGd;#8(02#L-d3#saiO#_m&M#W9w0#T.j<#O#'2#DcjL#__^:#_4m3#o@/=#eG8=#t8J5#`+78#4uI-#m3B2#SB[8#Q0@8#i[*9#iOn8#1Nm;#^sN9#qh<9#:=x-#"
"P;K2#$%X9#bC+.#Rg;<#mN=.#MTF.#RZO.#2?)4#Y#(/#[)1/#b;L/#dAU/#0Sv;#lY$0#n`-0#sf60#(F24#wrH0#%/e0#TmD<#=b1?#8lC?#<xU?#.px=#21i?#D:%@#5/PY#7F7@#"
"LRI@#P_[@#Tkn@#Xw*A#]-=A#a9OA#eEbA#=QJ=#ATtA#m^0B#qjBB#uvTB##-hB#'9$C#+E6C#/QHC#2T?(#0fdC#9pvC#=&3D#A2ED#E>WD#IJjD#MV&E#Qc8E#Tf/*#@3QV#Y%^E#"
"^1pE#b=,F#fI>F#jUPF#nbcF#rnuF#v$2G#$1DG#(=VG#,IiG#0U%H#3Xr,#su4Y#8nIH#<$]H#@0oH#D<+I#HH=I#LTOI#PabI#TmtI#X#1J#]/CJ#a;UJ#eGhJ#hJ_/#HKvV#m`6K#"
"qlHK#uxZK#/&?V#)NB:#3[T:#:q,V#';*L#+G<L#/SNL#2VE1#kfjL#9r&M#=(9M#A4KM#E@^M#ILpM#MX,N#Qe>N#UqPN#Y'dN#^3vN#b?2O#fKDO#jWVO#ndiO#rp%P#v&8P#$3JP#"
"(?]P#,KoP#0W+Q#3Zx5#q`+6#XtYN#t%jW#;sF6#[@T2#hji4#GLg2#t4(R#G`hR#IfqR#D>1R#HJCR#LVUR#PchR#To$S#X%7S#]1IS#a=[S#eInS#iU*T#mb<T#qnNT#u$bT##1tT#"
"'=0U#+IBU#/UTU#3bgU#7n#V#;$6V#?0HV#C<ZV#GHmV#KT)W#Oa;W#SmMW#W#aW#[/sW#`;/X#dGAX#hSSX#l`fX#plxX#tx4Y#x.GY#'>YY#*GlY#.S(Z#2`:Z#6lLZ#:x_Z#>.rZ#"
"B:.[#FF@[#JRR[#N_e[#Rkw[#Vw3]#Z-F]#_9X]#cEk]#gQ'^#k^9^#ojK^#sv^^#w,q^#%9-_#)E?_#-QQ_#1^d_#5jv_#9v2`#=,E`#A8W`#EDj`#IP&a#M]8a#QiJa#Uu]a#Y+pa#"
"^7,b#bC>b#fOPb#j[cb#nhub#rt1c#v*Dc#$7Vc#(Cic#,O%d#0[7d#4hId#8t[d#<*od#@6+e#DB=e#HNOe#LZbe#Pgte#Ts0f#X)Cf#]5Uf#aAhf#eM$g#iY6g#mfHg#qrZg#u(ng#"
"#5*h#'A<h#+MNh#/Yah#3fsh#7r/i#;(Bi#?4Ti#C@gi#GL#j#KX5j#OeGj#SqYj#W'mj#[3)k#`?;k#dKMk#hW`k#ldrk#pp.l#t&Al#x2Sl#&?fl#*Kxl#.W4m#2dFm#6pXm#:&lm#"
">2(n#B>:n#FJLn#JV_n#Ncqn#Ro-o#V%@o#Z1Ro#_=eo#cIwo#gU3p#kbEp#onWp#s$kp#w0'q#%=9q#)IKq#-U^q#1bpq#5n,r#9$?r#=0Qr#A<dr#EHvr#IT2s#MaDs#QmVs#U#js#"
"Y/&t#^;8t#bGJt#fS]t#j`ot#nl+u#rx=u#v.Pu#$;cu#)Juu#,S1v#0`Cv#4lUv#8xhv#<.%w#@:7w#DFIw#HR[w#L_nw#Pk*x#Tw<x#X-Ox#]9bx#aEtx#eQ0#$i^B#$mjT#$qvg#$"
"u,$$$#96$$'EH$$+QZ$$/^m$$3j)%$7v;%$;,N%$?8a%$CDs%$GP/&$K]A&$OiS&$Suf&$W+#'$[75'$`CG'$dOY'$h[l'$lh(($pt:($t*M($x6`($&Cr($*O.)$.[@)$2hR)$6te)$"
":*x)$>64*$BBF*$FNX*$JZk*$Ng'+$Rs9+$V)L+$Z5_+$_Aq+$cM-,$gY?,$kfQ,$ord,$s(w,$w43-$%AE-$)MW-$-Yj-$1f&.$5r8.$9(K.$=4^.$A@p.$EL,/$IX>/$MeP/$Qqc/$"
"U'v/$Y320$^?D0$bKV0$fWi0$jd%1$np71$r&J1$v2]1$$?o1$(K+2$,W=2$0dO2$4pb2$8&u2$<213$@>C3$DJU3$HVh3$Lc$4$Po64$0Ur0$V+R4$Z7e4$_Cw4$cO35$g[E5$khW5$"
"otj5$;=M0$u006$#=B6$'IT6$+Ug6$/b#7$3n57$7$H7$;0Z7$?<m7$CH)8$GT;8$KaM8$Om`8$S#s8$W//9$[;A9$`GS9$dSf9$h`x9$ll4:$pxF:$t.Y:$x:l:$&G(;$+V:;$.`L;$"
"2l_;$6xq;$:..<$>:@<$BFR<$FRe<$J_w<$Nk3=$RwE=$V-X=$Z9k=$_E'>$cQ9>$g^K>$kj^>$ovp>$s,-?$w8?\?$%EQ?$)Qd?$-^v?$1j2@$5vD@$9,W@$=8j@$AD&A$EP8A$I]JA$"
"Mi]A$QuoA$U+,B$Y7>B$^CPB$bOcB$f[uB$jh1C$ntCC$r*VC$v6iC$$C%D$(O7D$,[ID$0h[D$4tnD$8*+E$<6=E$@BOE$DNbE$HZtE$Lg0F$PsBF$T)UF$X5hF$]A$G$aM6G$eYHG$"
"ifZG$mrmG$q(*H$u4<H$#ANH$'MaH$+YsH$/f/I$3rAI$7(TI$;4gI$?@#J$CL5J$GXGJ$KeYJ$OqlJ$S')K$W3;K$[?MK$`K`K$dWrK$hd.L$lp@L$p&SL$t2fL$x>xL$&K4M$*WFM$"
".dXM$2pkM$6&(N$:2:N$>>LN$BJ_N$FVqN$Jc-O$No?O$R%RO$V1eO$Z=wO$_I3P$cUEP$gbWP$knjP$o$'Q$s09Q$w<KQ$%I^Q$)UpQ$-b,R$1n>R$5$QR$90dR$=<vR$AH2S$ETDS$"
"IaVS$MmiS$Q#&T$U/8T$Y;JT$^G]T$bSoT$f`+U$jl=U$nxOU$s7(r$LXvlENH]^H,l+WH[5KL2xrQF%iDG&Fu@ViFv.1VC(3f:C$]eFHpg`9C]&77*25emMDbCp7)`I'Iu)IQMEkLp7"
"-2vLF]Ta2B=W=U&P%VeG%^4rC#8A^&A]@6/D5+hF5@C6M[CZjB4LZv$Y0lpLv4Q/Cn'Yp8u2j=BUG5-MAwd29@%h;%6a>W-dZj0G4AnQMD3*39qib8&<&ZW-%uXqM6M3nMAqZ291,[MC"
"/b%T&OKkf-*N1`&up9-O)lBkNQasj9&5H1F4o]j--^U%'w#C-OHw@HD7O?\?$LGcdGl<3I$e]fBHnWrTCs^&+%pN4kMwi7dD,7Hv$*q:l-s^&+%pN4kMai7dD0[`8&PpUt1-GDeEeB4f#"
"xpacDm0U-O#4x)E:$Ap&`;$h-1jU%'9+:7D$EpKFoj[:C,:OnBjMZw&C*3w$TlqaHpJ-aE0k@p&TG[]-2mU%'V*^qB*SvLFvg&+%m<SnLSrn`E&.Hv$VSwA-wSwA-Osq[-4sU%'saFOM"
"F9bAF>v^3((/DiFBuViF;kqQMmR3BOOw?29bTSJCOPwD<_=)W-&*KF%X3^UB,ZkVC#q&+%m)VOD%Lv<B:>-lE&cS>'LAvW-83*LPA:9SMS`HB=cEEp&M8mW-83*LPBCToMwxuOMAg>vG"
"/b%T&tki#&L'v1O';)WH]>gh2oxQF%(/I#>$`G>H-@?\?$XGcdGxa3I$qO(DHnWrTC)-'+%&BLlM/+)WH,7Hv$8'Ml-)-'+%m:GcGhaXb$BN,W-?`P:iQA%A'89->8n8d;%Fa>W-Qfh_S"
"QH`MO2(OJOQ5W2OZ.As?T`Ov$IW5W--AZpB&iw5J7[dZ$*ZX7D74Ux7+v@p&]cGHMKvvh2ic>W-)P'L581M*HLBkp7JWhk+%'%#%a#/>B'YX8I&a0#?E1Lv$P]Ej0Q;3nD)DM*H+@u8I"
"0=Hv$JtO?-X=>d2,R2eGA78/G)8ZhFxF;hFK$M%'5fkVC:*8T&UPpPN)G)wG(#qKFBb'NC&>.FHqraDFc&/o39f/gD-W/F@/qrLF>5)t-[DtON)MD<HAW3kNu,nQN&kigC8WjR38WjR3"
"jT`@';a/o3gE;%'1#opC^cGi2%wvu%/GqoDwAXVCnhrLF$WXnD0wIgLVdGW-4HWt(vf`JDrcNrM#Kg]&c0m_&FlHhG&`%C8(meqCqu(C8Dj3#HqbHiMngVgCU>XoM]>ojL0JRSD+t/OM"
"vAKA&:C^q;-YZ[&d0QC&UOPZ%2+Z<-*qo,O1/l'I<&Q<-(hJKN.L>gLfWv&NXZ,<-ue?QNlO6iM2q:HMkO>HMQ;TK1>#8kEv@+WH_J#i2mx?F%3m/+4dl$B5R/`pC2OpfD6qucE,ocW-"
"vUae$<?h5JCfRr1mfZD%[UBF%M)<F%.RQSD9XU6M-UY,MH*BgL'u7jL]1oJMk>,HM,%AjL6q$A--^`A.E:]+H%o1j195#F@.XV8&=V4C&.Oc'A>SuBA]b;_A`wi$BC(.@Bb0A[BD7ewB"
".>=rCBYSb%@SJb%Ef+C&Eix'&A]f'&3-[wB-XV8&El4C&Df+C&56ewB7CFmB*SvLFW1$T&k#>9.*_I'I@B4m'.Shk16Y7fGR:K:B+j5lEnoVA&`[d`G&>.FH[wZ/GepBc$co(*HCwrAH"
"D^->Bw7iEHLZEs%h`><-Rci=-O6DIMW[c,M9:oQM'>,HM`p&k97S7+H$ZKkE<qQv$e*0F%]l^29$n?h>SZ--F0wnP'.daq2kuXZIm800F2%jMFt(4dE?awRMuH=KMY]vp/[laVC9>ZhF"
"eTQ9/x':oDZ?u4:fh8g2xh+x'Y'8W-$o+x'Z(RF%[+RF%].RF%^1RF%_4RF%`7RF%C;Cs-Umg/Nr)p/Nk/#0Nl5,0Nl2pjM`;EM2Wa&g2YA8FI%-:FI%-:FI%-:FI%-:FI%-:FI%-:FI"
"%-:FI%-:FI%-:FI%-:FI%-:FI&N*_$hX7fG4sW7MA7PG-T?3U-1lCH-1lCH-1lCH-1lCH-1lCH-1lCH-1lCH-1lCH-1lCH-1lCH-41@E.Yi[>>[deYH.GW88vhCH-2lCH-2lCH-2lCH-"
"2lCH-2lCH-2lCH-2lCH-2lCH-2lCH-2lCH-2lCH-2lCH-Zasq-K[WkF>wn-NWhv-NP-iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-7.iH-87.e-?b0FI"
"@*x-NP-iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-8.iH-97.e-@b0FIA-x-NP-iH-9.iH-<IeE.@k<j9f.d;-F>G)NuwUH-7xUH-7xUH-7xUH-8+rd-"
"cn=:27%K5994pP9gk%Y-(vQF%8.gP98.gP98.gP9d[kP9d[kP9d[kP9H3;R9p&<aGoKv<B+)YVCw,cC&(1t898hm;%v[AF%m1,(HxVKSDCHi`Fext?K-9IL2oW0LP,:RhM4iZL24ZO,3"
"23Xf-C(2LP,:RhM4iZL24ZO,323Xf-)^+9'VgZL2B>(W-)^+9'VgZL2B>(W-)^+9'VgZL2B>(W-)^+9'Xsvh2$4.e-iuQF%%w*g2%w*g2Vlm#nWp).3%.iH-%.iH-ZmDE-ZmDE-ZmDE-"
"ZmDE-[mDE-[mDE-[mDE-[mDE-[mDE-X'M+:&^sJ2n>W_A1pGkk1pGkk1pGkk1pGkk&aiwK&aiwK&aiwK&aiwK-=RhM+#*i2b4hwK'diwK'diwK'diwK2sGkkup9FIup9FIup9FIup9FI"
"up9FIup9FIup9FIup9FI.@RhMo'3i2YA8FIvs9FIvs9FIvs9FIvs9FIKN*Rs(giwK(giwK(giwK(giwK(giwK(giwK(giwK(giwKkf&/3l7FVCsH[mD5G2eGnsPw&$WfYBg6%6D(NkVC"
"x-?LFYbusB,mVt')0'<-/[9W$$4)hFHm><-XZrIMtkYHMxkYHM1K;<HnWrTCb8=s%qVOj1jS)X';jj,Mj<QjB&6Ks-Dcr?P4#MnB;TEu(0%`u(`ci'/?3SMFwKnL2$#opCW;TL2@_NIN"
"_,<i2]pA,3[+nL,iKU:)`IE(&aLE(&bOE(&cRE(&cO<(&p*<4F2Uw-N:CYgNRlxb-i^:.?JO*r;JO*r;JO*r;f;::`ZlG,3ZlG,3PMG,3MCD,3PMG,3WbD,3WbD,3Xk`G3Xk`G3Xk`G3"
"Xk`G3BA(<-c5jE-c5jE-c5jE-c5jE-c5jE-c5jE-d5jE-d5jE-d5jE-d5jE-/a@$8B+#d3d<&d3d<&d3d<&d3fN]D4B;_D43cZD43cZD43cZD44lv`4CD$a49&$a49&$a49&$a4]9x`4"
"]9x`4]9x`4]9x`4^B=&5^B=&5I^B&5ha=&5ha=&5ha=&5ha=&5ha=&5ha=&5ha=&5ijXA5ijXA5ijXA5ijXA5ijXA5ijXA5ijXA5ijXA5tt)W-c[*r;Qh3r;h9*g2t*EW-)?]L,=.3:8"
"?[aJ2i?3g2hlxb-xUQRE-I3INgbQL2xn6g2vi@Q-$Dr*%F_&V8Cl8g2BBvv.bcFC5Wgu>[goxF4;2JuBtm*_$O=7W->.E0*`]+c4`4)W-%+5x'`4)W-OmM</afF(5>vb;--^44%K-#89"
".%,d3VE9W$K-#89/+5d3T#^)c+#mT%C+7W-%#pwBgxowBgxowBgxowBLPDHOi_;u78`'l4nYg;-9PL5%SJ9$nsZ0l:e$#d3&*9W-ED+:MLPDHO&a@(>H05d3eq_9r)-t;-=iq5%WoP<o"
"sZ0l:i$#d3)-t;-=iq5%WoP<osZ0l:i$#d3)-t;-=iq5%WoP<osZ0l:j*,d35.iH-67.e-=b0FI6;jwK-9t;-A+@6%[=iTplkV:88OpTpsZ0l:m$#d3.B9W-vlY-v-9t;-A+@6%[=iTp"
"sZ0l:m$#d3-9t;-A+@6%[=iTpmtrU87ojS84f;g:m$#d3-9t;-A+@6%[=iTpsZ0l:m$#d3-9t;-A+@6%[=iTpsZ0l:m$#d3-9t;-A+@6%[=iTpsZ0l:m$#d3-9t;-A+@6%Cm#0N7,@6%"
"[=iTpsZ0l:m$#d3-9t;-A+@6%[=iTpsZ0l:m$#d3-9t;-A+@6%[=iTpsZ0l:m$#d3-9t;-A+@6%[=iTpsZ0l:n*,d3dT4t:m$#d3.B9W-^NJpK&$G<8dhF59[-s;-kg^W$^OI6qsZ0l:"
"o$#d3/?t;-C7R6%^OI6qo0S79`=@g:o$#d30H9W-_QJpKl;50N98R6%^OI6qp9oR9e3L6qsZ0l:o$#d30H9W-$<?<8^8Ei2SStm1TZHL2iD5W-aKGW8G^./34aw^$(<X7Dq'SiFxjeUC"
"i./>Bj3xa$Tf0SD0P8QCE?5j9lmV=Bx':oDIA^f3SRZ+H,AvLFt.4O+eeimLu./PD*1q>$i3,C&]8u9BlK='%KQrXB8dhc;_#Y_HC;KC%WgitBvsFf#2YNA=S+'^=nZV=BQ7_aHO9jt:"
"Yg_ODUYVmLd-6(Hx&IQMJmrpLXID,DJOhZ$#PRFHwM3nMBD@5J6IC#$$x,Z$]AcG-P>cG-SAcG-e(uoM#8GW8aC1g#&#3^FK:u#$t2h(%^S:d-90#+%>+krLhOqoMa9'#GN+&mB9h?['"
"+UV1F[TT?&>m&?H9uR+H)TQaM/L>gLj[,<-xDHaM1n(-M>u`:%kVV'o72PA>But$':;.%'Tma8&7s.RMAk1HM8U=4N(1&rL):A7M(:A7Mlk<B-QncdM:NHaM:E@*NV$?9NH'8>-g#/JM"
";k1HM#i><-'Gg;-/l(T.18,-G,[NNM+5)WHsWUR9SAxfLWhv-Nan).NYt2.NZ$<.N[*E.N]0N.N^6W.N_<a.N`Bj.Nhs]/Ni#g/Nj)p/Nk/#0Nl5,0Nl2pjM-^9W$_l&k;c,,F%%w*g2"
"%w*g2%w*g2%w*g2kE*g2kE*g2kE*g2kE*g2lK3g2DVcm;+`/g2m^9W$=iU_ASAxfLfXcm;kuZw'2#6%%@nC*N@_9W$Ug_kFSAxfLvdIo;kuZw'2#6%%l'SR9SAxfLV_ZhM7v2.NP_9W$"
"gV#d3'uFkkSAxfL6[)'%[YxfLt&eT-Tp0q;%i4R*/IbU'@nC*NX9-X$_l&k;k,,F%(<'d3/IbU'HH7+NX9-X$+BOwpK/+gLuZ.S;dxZw'e80bun-SR9#B-Ra_GW_A_GW_A$bmJaZ*E.N"
"_+E.NDhDu73,>)44hE)4,OE)4JUr;-WoJ0%/kt&-[0N.N'1br$Y>I6:j.,F%`B]D4`B]D4`B]D4`B]D4`B]D4%@aD4hZ]D4%@aD4ps]D4%@aD4x5^D4u'n;-*.iH-,7.e-NYnEne7)W-"
"af8X/8=P)NnofZ$fLhwK+piwK+piwK+piwK+piwK+piwK+piwK+piwKr6akF1/Hs-j?bu7&G:&5G^B&5r/>&5G^B&5r/>&5r/>&5r/>&5pN3q^#kA0NC)0k$VmhkFG^B&5ImgA57R6p-"
"quQF%&[rW]m*SR9VKoW:nwZw'&[rW]@nC*N-Dj.NOgaj$nehwKRL(gL,KoW:nwZw'&[rW]l'SR9RL(gL$KoW:nwZw'&[rW]@nC*NOgaj$fLhwKRL(gL>gf(%RL(gL>gf(%RL(gLWOQf:"
".b/g2lfaj$3fW-vRL(gLNrL*%b)&gL$q%W:fwZw'lOB'Z@nC*N?6ni$^Y8FIJ4(gL$q%W:&b/g2d5ni$UA8FIJ4(gL$q%W:fwZw'd]iKW@nC*N7[$i$^Y8FIBr'gL$q%W:^wZw'd]iKW"
"l'SR9Br'gLrp%W:^wZw'Sw`?RQ[_68fv[?RPRCq7;x[?RPRCq73/-eO@nC*NeuIf$ZGeQ:=.,F%dXh&?WtIf$Mt/:D*)'gLR2o3%*)'gL$q%W:EwZw'K.1eO@nC*NuuIf$NHg&?XtIf$"
"NHg&?Hicd$ZGeQ:-.,F%Q^tJ:-wZw'#%N'H@nC*N2x4w74qbP9x@fP9/Xn;-/iDU1/YNWHsWUR9#Pm6B@el_&ht8`&p69`&q99`&r<9`&s?9`&tB9`&t?0`&gl&`Agl&`Agl&`Agl&`A"
"gl&`Agl&`Agl&`Agl&`Ao.'`Ao.'`Ao.'`Ao.'`Ao.'`Ao.'`Ao.'`Ao.'`A?*c:2r<9`&owW_&33SMF2;NU8wvb59d>:3M4K_T9L>vM0O3IL2wKiaHT;=8MxmsmL;.,GMTk?##-/5##"
"6,Guu&8>##I+T[5p[&*#naoiB&_S.#wFFVCqalcEhpf.#+)ofL8rJfLCxSfL4%H<-Cd9o/>RHDEjjf.#6Gg;-HGg;-)3(@-%5T;-/DSb-98ShtvqJfLK1$##5Iq>$sH-L,KH&f-6f[T."
"Sww%#lEa#0>8E)#_C,+#b1^Z.$),##o`>W--=NF%#k9$N*3ZBAR:[MLQa>W-%SKF%kFO'N2/h^)q>L2q.;nCshJ.h%P)4`jeA4##[7>;-6Ywx4-H%/Cn]v.Li?cxXWSNlf_sRxtUc/#,"
"0/i`3Xv3/:Oe7;H.%Y`NZ:<GVU5@SeH=k.qCQ_G)tsA/1JqcS7)b^S@Yk)#G4O$#P]@EGV?=@G`pFblf2-S`jYf4m8uh7#>WW#mJ>n-#PjJ%/qVJ(a<Yk;#Gv]-mJ67_`s1l$<$IKc/("
"b1T#,$nEm/<S7a3T9)T7mupG;-OK;d&rGm8wU;a<9<-T@Ol^GiH8Z#>CsMmA[X?aEt>1TI6%#HMFOFrd=7D;$5+%s$3rUV$W@fc)K1=#-`;^G3C8?g)qkfq)=fQe$0R;;-YBM50O==#-"
"47(^#TS1j(7'sS&4#O50Lk1p/W_b>-3[`=-2rY<-wZ,%.6sZiLm1$-NT&]iL9n,9S3.gfLOQ1EPZ_Z##V3)mLa$ZoLO.AqLx.AqL>/AqLl`WbP)VNGTl@$2SjgYeVoYGp%2OUMUgHX[S"
"jPQ##Yf$Y-%gZ8^N0q5'/9>t7#dQXh8KLSs0J>A'kbI%#xqQ,v)s&.v3oRfL&,D'#MW.FNiOh]VEE1EPs$mdMK7R>P8If.*7=]`3ml8GD6;m@bAC'SeJ3;igMbtRefAJ+ibmmLg%D+87"
"6-4D<](pu,ngx+2Iq35&qDk-$^#QP&ZdxXl8,ec)NBJM0.r&5AVMp-$jF:;-]SZ`3(Ew(kx['^#Ds?#-oCbM:M7O#-h([w'?P[w']ZY-?FnX-?X6Bk=9awE7%$wE7C)xE7n5&AOr^Xv-"
"`.xfLwotjLJg>oL'LN2MFgi&.([)FN9[AN->-NM-I-NM-6A:@-cn,D-f+NM-8gI>/(onwuZa-iLoS#oL:xv'v^-NM-PS]F-MCNM-=1NM-?>/b-P(M'S[(Y'8lqn?TcCVV$e:5Z$r?EjM"
"OheA-qxeQ-8%AF/br%1vPe:xLE't4#(3Lv6`CI_&NqWS%6<rxu;Bf>-jR1H-W5@i.G:S1vVT-T-g_.u-ZmRfLJ<l[$w.;c`3R:,OU`8`SA>FJM=9nc`A5PP_UWAq7jsK8g#X<h.<R.%#"
"&^;S0?^g%kD=ZY#d/=;$44m<G*baf15Z&##`K-crgTjZmN=S1p@,CulMx;onre_._f#M*M_O99vh&#)Mw9'K/CZD8vvc(*MB.E*M>&8n7/kFT&8ONP&_r?wg:BO2(ow:&lHJ_:m[d^2q"
"w_;5&b[kR*#Q:d.H:r$#siTK-n.F3.:QWjLZZJwuV*m<-W.Fj.V(>uup0vW-(XJ_&X%'Sel=ww'';8;2_BhFrDd/`jM48loB8_:mXFL]l2hp-$afNlbBEqoU;EH_8@<j;MjNpV-CN'(&"
"+-Ke$G=T:)%;oLp>>Z7n@2_:m]+V:mpb5gLi2$)M5sN8vTMkW7RYqxuODR&U?'&9vZsi8vBH)8vCMI#%,0+##d[%$M0.E*M-677vKgV8vT+B;-f[5<-[Nl*:bo&ed9#x'fF/c;-'rN//"
"S#s8vf><X&UZ4^4QtD65qcRg)Kp_c)9:`p&75;on46+Q'(4Re$s,>9.et/lo;%Oh#;&$&M>#X8vV?5HMA+/YU>%@<-G5W#2>aM8vP589vc2s<#a='DNOx`FravN9^>Ss$#v9$IM`v;vu"
"g,,)MZ*WvuVCg;-AICAOG6cw$rd?'fhjJ%k57lxuvB;=-9.GT7/I9(fv&e'f2)t(fu2aEnm/S]ltMq.reI4veL-ToN:f;7)H&>uuvpf(M4mE8vAZfd;;[sX(NXC+7qj]f-5wIppx<XZ1"
"iM+##=gFxkP7sOoHdK_&gc&DNEAhLp4FC_&5JIJrEt;L#/l0tLW:-)MwNC6v`W/N-sRdt$&?w'fK<Kt7f]'x9N:Fm'_d3L#H<*gqtH4;:/ONJi?*[_m,nh6v39QF:5FG'fF&>uuMRP8."
"NKm;#uU0#vW(>uu5C(C&?XB0.I%mlL-Fi'#c)B;-Mn$BO<2A(s)ikxu#`s+M+;T;->Lm<-]8]jL;;)pL`?W$#h@=gL0<%eMSf&gLJY$j0ROoLpsK)P]:Md@bdBNZm,a9c`C85f_Kl4kO"
"Hioxu/s9W.^)&9v$OM=-v@g;-Nk.Y-G*NL#_+3H;cOS5'L*d&#B#.BN2Mu$M&Q&4voW=2v2BO&#P.`$#O@%%#N4)=-xAf>-D[lS.uh1$#,)d)/Z589vR8r($m8A(s;br-$is+]k^.rEI"
">GrE,F[ldM>;]CsRp@h$UPDmSHO/N-<eOoM;u]+MieUX%Mg'X-;#kK3+-$uR>gdIqYwkIq72)`He.X_$uDCQ/@8$Vm>+0fqx[t&#9&>uumfTW$0xkxuLR3#.B&@^N?:?W-AqVL#-x9hL"
"@DpV-4m0R<in35&avj-$&PjX:ogk'&Jw,iphoc?TB@O4oR&((&bV8l#9@v7vX(>uu)796vQAJ9v^U,*8l]f'/.(.q7(:@XLkpmxuF'KZ.X#s8vgNZX0NH)8vWN28vsE]?N#n:]$1mi9^"
"ePQ)MxQ0=#kV_@-9)l?-1Y_@-lbYs-1Nh282fBL5xRkxu`UYS.j(>uuh7T;-;+f^$/X;s%W&=X(g*s-$s.W4oSun-$'SXgLMq=w$cg1*Mx(J38#Zkxu^@4?%wc*g$Y9l%N$Sa+&5M-N("
"9GC@0I=2J:x_d--rV%:)1=Be?g)V*Mse,PR?Z`=-rS&==$df5'pBVw9fi`=cUAB%kD^^_&+p@F%i>fE[Sm5`akT(fqruwQN,smw'=bl9M`c5R*c?OF%#P^%O9fG<-^_lS.+o]4fLa:]$"
"G+SM'TS1j(8sGK)4R:ig`Fi'&tIkxu>QLAOt+e.%P_0,)X(ZWA2'3?)*8C;n4MS9rYHmxu07J7M>VT9vTCpxugtqhMkV0W-D17(6Q1YT7X%rxuT<)4?#ZC_&+A/e]Ddva$QXSCMZY&0%"
"DZ]*NEDEf%@=9^-qM=3)9'XW>h>%o</03xBujZj8o'g*%[e@N9n`Sq)'V'#vnw%?Ntxh:#qN3r$.(ChL)*p%#3d1Q/8VnLp(p6lo>?&:)L*8m':CG&#;(k-$G>^WJbaC9MjO_M9YVkxu"
"S=^V-'[Lk+le35&('-ipa(X]+Ff.E+[I18.5ush#;nM<#QHtxuSxp%M:P%.MeF#VdXW),%,tqxuE#^v0-t.`j=5e+MCHOrH]__&lJ7>]OcnT%O/`Y8&`mM#vsM28vv4rEM]V@D*@T+Q'"
"1/Uw0NZ3=(APkxuM[YS.Jri8vngG<-:L#D/[ww%#s3UhL;vRiL*O[7vp9f1vg&'4M&[2xLHfC%Mw9?uu]s[$*HDbGMsY'W-Hg6kXc%P@Ltro'XU95ZQvFTO1GM$VmWS#]k3a^:mLKSe$"
"JXrYhdHj;-Wn.B&cpKXQ3pTL&kHj;->fbk%)A<onCN3ci.21Q_:ZdIqt;(6/J6d7vca?iLV'<*M/lJ;/XgV8v;/a,:teBL50h%9&6C35&/EFVnBuh?B:;;5&u?S_&esIR3wvmj8?PxDX"
"jKcIqO0Zk+cXl%l-k2H5qw2JNDA&cr>HY(Wh9,ipvW9>ZJe5F%4k`8va'T,M-*#O-[LHL-3-.'OX?YsLo^KH:dEarn3e6DkpVv+s0$a>MW7,p7'O]oo?^<^XnWW;(CkmhL+NK;-R+4%8"
"1_(D/<+:#vLn57v$bi=-*5T;-m_V&&*pOE;W&oP'M0KMq755)%BbY&#FvvkXR^;0$h9`gL@K?uu[>/=#-@hhLw^an82Ac'&@>@&,x?:wed1$##%b;4=9mKB@<bIm%pB?#viK+2v:*4,%"
"<SZ=l*%('##()##A-3WowA7lfcFk:ZsULL#?9r3+b@R(ab@2F%RWgre_?u-$XFa.+9:Ul8Sm'#vRe)'M%M,W-9NNL#4L$iL:3p%#)kQiLkii3vr^sj$*k3$M1u(p.=w)##sT'=(P9-ip"
"IQGSfri-r.JLvI_4oc'/0JkxuS)I_;c=oji,e2#&1)1Lj/`d*Ol8c1).)>I:l$u1q3q<'Oa6L1p=Hk_$s0dx%PoghL:Lri9r^.5^pfXX(Z&f)&)(Q7vj[lS.CH)8v%RL]O0l*]b`0^x'"
"mpZp.v+cY#fH;;$(pmEhi?R`<R]'##a5=uu]nDxk-jT(a@QjCjF,DX(5)5fh<L^4fn[RM'K,[`*g2k-$-;pu,ooc'&[Ze--`H6kXgBnFiUf%:)@q_&6nRhLpHw5lfF9Se$>5#kteZ/`j"
"1T7,jL2dw'wkK+r^]*hYtKcf(Op(,)E'kl&EpZ`*=1bh#6F)8vxW[wu,v?4vk[YS.80Z7vaC#s-#KY)M*P5s-J>3O8ViTh5qv+g-1Y1bRaR1wg9@A-m8GR7n>>Z7nTQmLg]+V:mJh9i#"
"d9GJ(=pTj(&'H.q3g[,j.B`]+PV%:)w)DG)=eVL#)`kgLi&b8v5:l'&3lJe$*ukIqi/a@taYSHjC'02'bKhFrB^/`jX=-iLUEefL,d[7vU696vLEx1vGl^%M5u<8v5jX2vVCg;-DrJ7."
"uRXgL[Y5&#[XI%#[N'#vnMx>-sBFR-^bEJ/LU=2veJf?N1Gl$MGRR&Mi8T;-a65dM2B/v&8*j<#Lr1e$(]^:#rSS=#UD%_7tvoxu<gWb.w^M8v<O#<-NXkR-=@6L-6;U)&EL'.$g%#gL"
"Hc-ip4iJ+rpkrUmK@@N(guB%kvCO&#bCj:/Y#s8v+?G)MsekvOrqO4ooQEVnw.v8.0fErdOc_8.^31fqDx./rFw;L#q/-@'0X)X&q?WNkn/7lfm]V^d$Fl9#ox,AM5xhP/2wM(j?GvRn"
"uH,2h(hqxu'Q>w$ZJ###KY$VmRu?rmmMPW-/b(l;-d)vRoAnLgYhT;.(r9#v`(>uu_G0o%$v7:)+.L+r1hmFib<srn..;L#>#'[8u4K&#P5n62oAq%l1#;1N]x2$#^tv/:&bU_&$Pkxu"
"i$p(N)_)Q8dx5_d;eo,Y.0%Y%jE;#v<h,7veCg;-x1cv-SP]l8m?6Jrc1.@PGFvgC$SM+ApfbN$RxZW-eX8&v+KMX/<&_:m10J%k+I'F.Vto(Mq9(6v9b?['>5=KNP2lZ-=W5`&JSQek"
"xO=So^+<N*qBbm+vPxQh,nW@uo.Ph)(Vpxug+B;-C3'm0+j5X-(lq2Mdtj$'sP)A'hN/'-Uaw7vNm`8vE1Ko')s'B<I3A`]sEY'=/X8;26WD^6Es[qe>(sFVZR3ARW=$##k)%DNJ;YaX"
"ttfZ-eSMIIF=Vf:2dv=1NU=2vE=-B7e;DX%mV4&'V+UEQnI<X-k']F/jKGJ(O&T5'5+Bi#Snb2vxeU&NZ6iU7np2g)OEe#vBvk2vdqUvu`q-X.Y$=xu[=#s-#&ErPqDkZP&e&d-fiIGc"
"_utAtQ2=l]>.#W?+3QZ%o^jIhE&b#vM*'6v2V<5vZR1[-,]pwIhnNOTE$j+;2mj^0N^xvRkhi(Y%hx<.qYE5vn(>uudg^5Q*DsUmq=Q$(nbRK-ajc2.Z6:3vZ?0:#N.[9%*Qq)+#+W:m"
"QuO`kNXS^PFrO4oEL-e%m1tjTlhES/f&6lomY+##6T0^O]E58(wLUb&,Yv[90g>;`3G5;-MpCG)D/x1,mYE5vE&#)M#S,&<(Y<s%?6#9'PfDrZH%8lonu<l;D$U[;I9'#(-[C75J33wV"
"tgJrQ$LM(j6bsfX*W3igm0.`j;d2C9>RlxuGQ:&O=GZJ.7Yu.:vI_I?.,mF#DvjIh?SV4os1a7e0anxuX+B;-=rPd$ou9B'<_P$>$[)4Df[Ag7)g%eF?`'*Fo0gi'<^+]k?M;on?KIE>"
"`05&F]gG)+q-Tm(aKkqIu]@_o<YnmM1./I`/1Vu0kn?-M,'o4AImw>M[Jdn]PX=r8Dw:#vk(>uuo3oK;dwHuUx&hAP[%?-D3:g/HMsTs-pl;7Q@2,cirSXL#qxT#(G4Z8&C5KgLVqhV-"
"tY5N#'#Pq2,Q/hLFO%m/_3=&#MF.%#eQx:.i2l@b4li>P5)r^=*hN^04=vR(d>A(s_=7rmb+(hL/^-nZO%1^ZrhQt@W(M#vY//9v/Ja;PkjQ+#v.b>>S0JYmDTrxu8Or8BHw6l+8ED^6"
";AWX%_[M)NFwr(YQj*>&kWM#vk<B6v>PlCF,I9v-s,poo0at(dPif$(?$Y[PX&>6N7^J]'jDR'N+4j-`LI&IO6BH'dPe>k8$Ma#Q$RA*NY+vS7>,X?Ndul#W`A2c`jP+##bA(#13oVW>"
".p=t;aV^aU%=E>-Tmn#9$RFk40]lr-,$nPJ(el`89%ck#Z?Ok>S<7+:8gI;oG^1o-m)w`$W/=x_0h],(o/MP<s&SV7mB]o2/nVN(-O&K-HIrF8T2O$StOGAR?T9V88e^@)&u0MUuZ,*@"
"PMV/@4lW>n#;fW,.8C'<PsFNHA[JlF:]txuupFShkmZ7AP#mitl)qRPC<^lrt:(j025<jVimD+r=mrw[H('u7XiZx^pPr$Q9ZFq7w%M#vN)&9v_BbMA_%iKapYqcR,.8t7+<)'QaH5**"
"5,3ES(*;.Dd.b6N5qi8va7T;-#:^gL&9hL.kCh&$swn(+SUjQ/]2d:dRa*##u4C-M9[_@kO]JGj9<^_&$c4ips>nxuEpQ)'doFL,WKm'&Q3Boi?UBk$_T#*O(iip.4&vRngI,Q+XWSji"
"I]86PDYQ=8+Cf4=cP690NUw2=O_T$+&`&3TxFe3+>=xZ->hVL#[EmEIf's-$_X?&OTeC%kUj*##Ut6F.KI&:D;?J9v_i6i$%>S-OBWS7n)&'GIa.:#vs$t5vcE9;F91(#v#9>)Mss7>O"
"hlUQ(s496vl$mVAKfs9)4N5p%Pbh'8`jgW-3KLX(RMkxu7hd2&<Vaih#b$<45qi8vL7cK3_4>+Q2w`Fr4eGS9H$Zf?]kJGl^=n]-6%^:@BhJZ1]`vQUfJNvR7rx@+DL2w.lXib(u]NG%"
"Th](Mi);i8O;q#v^//9vZjD<#Bm:*M4+_e=utO5v8n9nAxN_-6'BT`Akrkxuvdpa-NPtBE[[ImOtvic:(XTpp?GxW,*kcSStV1c*K4Qa*&SE2:*w2R<JxZJP<qO4o.g968wp'EY:dYp%"
"mF_YmnVBK*lj]c$9389vFIKFG/f$Yof_Z++C`L#vLQv;#Ra?N8&dwdF6?,xTMl-IN.;a+&,i:ENmXLm8bYY(/Dr'#vt/>DMEv0<.bKhFri,C2qmg_Frin@9.$.qIhZrs+jZQ$/$,A9gL"
"Cs;EMk[g.Cio(@0J`[vn6h4onPt?-VHt*s7_64r;,33v6r3u0I+GC^8d[?'$bcT36#BY8R[6&crZtO.q@&7WoO[*_&AOHI%wY)fD;nXK38c`Ph(Q.^$9+e4glEF0&Q9&^]<(c:4ZEfS3"
"fx.WSC)bU:_Ssxu5DI`-Q5D44@Ykxu3L2+($`#7vUC'Y@KSew@2iEK(rCupQrbN^-Fw;L#lD5<-bi8(m.0Lh.)p7/$)D#-MESH.qbaH$ob.%_3(?5g:o_s.Hq(+iCdET&Zn?hLp3#c&O"
"$5,r*#PIWQ%@r68=a_k)TAQbt?$R'(Z^p_JxRg6v3/i+Z$<v>-FG;aI'/###xCXV;U*x+2U3DHjR$-cri;mLpBwr-$';8lo+SfFrh-e@k9dWXhN/1w.wSN.hFg$2h5R^Q/DSf7[.m*S["
">tJVeE-0;e?R[Ac8PR1p2OIVn]LYdj[`<lf]=lFi7<,@'Xi&SemE`1^tgl=Y_d@E,RJco.Ah,7v>M2f58#hoI*<G##;is;S`dZ(#v&>uu>'6;#8LgEW2cAZ-Fw;L#U_6fhm;4>m4$7xG"
"v+#XUV6FxkCA$Vm0@r-$wXXF#]o2b?0*K4&j>.FMFC./&L>g&$W2<uliT9j9uR_KE>WEtMS7,#vb$O#+>)Pa*;rwg-ftkKYr3O%bTe.?%@kTK-C`,)/*=)##XV9L#h*f1M`u)vGu#f5'"
"TrrQW,5Ze$rq+R>Vto(M^cM3vFme%#*5T;-kF*i'ApW56M`=Q>?&fPHENN#v+^F2va@H&MUH/QIoi3)B872#vlX*9#;Yd;-lr%iRcTFxk9>Fo[Ft35&@L<nix/A68=bmxuh+B;-cJUdk"
"fBTUgn$T7n'9@>,j)rOf[TqOf_=oO9pQpxuk=#s-E.-&MK;X'MEt4#+1<Fq79'vS=.F)8v-rHx-jetgLW0N$#wRkxuGK9f+h<@V7v2>#v]589v]7T;-b[X_$dm:*M/L-D.eK_*0E1%wu"
"pQK:#g9@q$SbS(MM4DhL;3a,N[k>'#RIS1paLPV-nti8.Vb($#/%P&#v5i`*heX`/J]?rm<>vRn5'BW-aa8.X<UYx+rML8$L7j'M95b8v`589v_7T;-e-NM-g6)=-^bYs-^dS(M.?[7v"
"VChxl%kgr%<r+YC:_M8vwu?4vZGX&#EUaJ1ZL7%#eZ2<#KORwuQjrR8h=_15,vtVf<*JKWa`oRnq[.X-%f@'-6t4on[-1fqqDUiq7FYF%_irs7d(O?'n<Hqr`tX/gcj.`-hq,,7CsYvP"
"oBFk0Z]<lf6@#Pf]6L+r'fBmJmHg-U?Voxufb:5/@Tx5#5R-iL0[4#Ht4Fm'AZ9dm%%f@bWXS1pU(@rmN0(L5'.hFrGTk'&N9=f_N@'&+h-bw'J(g-6npK_&S]bQsN7r-$f's-$aI#Pf"
"weVP&h9gw'$HE1$?HA=##rE#+S&(ENr>Cl)GIr;-*e4s%Rqp$+85c)NNVa;9F)e*0FW)<#oDS9v<*LS-?1D]&fHDH%6:m7vwaR%#VWU7#C+,u<mc(#v]8>)MB=77vi3]1vZ($&M<'Z2v"
"J=x#/6b)##qI:L#3dU3b3K0%Mku%4vrBg;-x(A>-+>Da/@;/VZEd$)*8hq'#VX_1^1#;onS=8`WMAp-$m;p-$bV)@'W[a.UXS5q7Y'1j(D+&r7rJaD+i-OMq[pomV=v`FraOsVobCsUm"
"`Cr;-^LXR-+R/[-$Ux1q<NT9oWPuo%JivRnTI8loa,Ke$NL(F76LcIqn5(mpg0gLpa?88o6b=qVEV,DE/ThxlRsEfO>eZd*'eY@G8L0X:T0J%kcY9p&6>?UWAcD2qHI0fq:p18fvW@RW"
"psch#b>:5pm%X?gqTQ#v+2s<#^p`c:vi'@07]n+s>=r%c>X5/$fTs1@Pq'5F4rkxuf]=[&X6k1,nZo'/@QjCjhuq&-$f52,ik>sL?^3C&[*-U/4?f@kJs$)*84&q.3_+/(hAKe$:=-$v"
"Fm`8vg(>uu%w3xuCCvt$_Ij&-0w(hLtPQ)McN8wu,*A>-,xiQ0+t>7vrP_3vV<_hL:ecgL*r,D-0l:p.hJ+##bIoW/Ip)fq8x*VdlI6xF)f%2qVx=3DctfN-L9iJ#O[6/=H`oF->A:@-"
"pl4@&hhmp7MPm'$<BL1pd^H(s]6c)<hlcj`5bxRnxW/U5V04T.G4i$#PrbP8H_Rdb/bAwuo(>uugE;p$9*j<#8UZdbma+a?D_8rm>inLp<er-$Koh2M03>k-AR/rINp_$'VJ=_JFMxU@"
"XFq#vMkp:#j&&9v?':M8;=Uk+Ax?n802pE@%X]w0qk2LW4dKk&cnCa*`8P*Nq9Jp7swf<9#KoE.6V3ipsSpU@TUEp^^$uj$;nM<#-&>uuChqXMYuDvu_gYs-S=S:Fv?:#vLm`8vdgr=-"
"_I5s-WILb;WIw@B@0.gL>Lx>-TsBH%wJk==NIl'A7wcERceTtgvcjIh9$*REn&-@'*',<-/p>5M2$gFig4]QgPCS1p;rjIqkO;ul3:R2(-PNh#,#P*;jRkxudPWZPs#?D-F^%;'-GKE-"
"xNaP*_kO%;+da;n5V>i^]op-$*vp-$YA^1^`/-Yc'9agL2.F'MYS5&#MRx5#m?I#M4ZN^O2cn%+jmZk0*pqOo`FR7nu^`1^S>`Tfep4`aSPUP&<NwO]SpYSfTQo^6YW0(MD+G5v6Ktxu"
"P[bgLK_::#'[H.M6HgFi)u=lf,S*Vd10J%kOV8Gj8xlGa;q)##(wN^)o/#=-6_xrL0jiE)-V@Z-iKU_$s'H]%gNjCj5g^:m0=V>mN$dCstUw.r5jQh#@ES9v`;A9vwtBc*,)v;-b0I78"
"*%l3+#99WnoX72'QPW]+l&-a+'MI1C]/:[0:soE@iSZ7n5'[Dk^mmLgn0fPpnU72'[vo;-<X`=-w)901$HA=#owG7vF*Q7v[0r5/3Qv;#NNc)M)k@iL%DgV-C8xE[bEP@PO=<X(bqr-$"
"+^61Xbr9-Np/7lfYvgrefC`W-W`DX('ruh,*Vkxu$n@u-hFQ&MoOAbM;sN8vX#_`$Et:#v^589v[#dHM]/:w-IE3D<_d'#vD>J);9k9#vY)&9veCg;-gUGs-?Tq28ZYkxuIZ?T-`85M:"
"E(l3+?9c$GA_#F@Bf3#+kr^p7df2eHBJ^?.vugK-NM&J&w:W4oY0%-MGnpV-G;nvR_+<;?^;G##>xvaI(bR%#@IKC-D<eq$lXJ`(;eV8vG*Q7vSN28v_nL5/n*V$#S#M*MxTK9viCg;-"
"WT=qL1XI;#xj`8v<UXgLNY[;#R)V*M.x80%dC)8o4H:Jr`n6#mFNcf(l;q.r_:N@PNSda$f>'-4U^9(M7&co7p;:KEt]jIhmq%5p4iq;->lFO%pCmM(p6x1qnQ`GM6#/a*m(Q,MPKhLp"
"E?,/(vYq.rNfUSoN[@:`R3h.$/2ga*d70l02;55/#DG(j^]@D**H7<.-[S7n?KT_&jPw8#xHsM->]CP/=2$$vhN]$N7<]CsiUh,MGd)fqpqY,MSe*#G**%kt>Iblg0I6gLJ1WEMdLo7M"
"e``S@t,bp^fY4kL<d)fqtsJj`s*H]%hM(9.>,_:mcMS`kXJx1$*-:ktF&>uupY^f$;389v9,V*MP<k<>Hb'ApIpnxu#FP)'pj(,)pH?#vWm`8vxH+oM.>R7v=$je$1XD8vsNM=-$iMQ&"
"3eV8vHA:F<:>L#v=GS9v&g:EM=S#VdN.+)*r=F&#l7@mpn]+##.aDR*$Mkxu/GA)$BbV=-De+$H=IL#v;RK:#5w+DM#GN+MI$X8vdOdu7rGR,X&[%;';6&=#RdW8p63^j-K&Ow9D(kf("
"EZN(j,Q]'/?iRM'rS]gL:nq6vZ6@m/Lq#;#NU[wuAA:@-14<v'5bpERk7jd4?G09voj](MpVnF:VfC_&).`e-scgrnbjO<-oU<^-Z)sxBFXB.$6eV8vW(>uuW4O5JSrm--Sxb,MaY12T"
"^]$6%`g3>mP2d&?w'#GM0n5E;.Skxuol=%&B600)n]+##jk.[o<:Ul8>2:#vU?Z;#RhI5F4@V^<Iqkxuws=w$4N/jB/qS&,E)[9M*)b3(qAP/);IP&#Rb$C%FX:Q.[jaYmsKnW_IC:F7"
"VhFJ(S%`8.IS$VmUQpiqb2Te$Bm0j(3,v1q]a8m8AxKL50c'#vk9j'Md6I7v[Cg;-Pqlt&w>(W-^Um-H8Gc&OR`Q*O^1cp7QIA^H<$iI&nfrDu3qO4o&^G9.*Q%cr.]g,M=G1q7_^6Jr"
"JStcMSQ`c)vQ0lo6G`MqHJ_:m:XC_&Gf?.Ms%llpN8dw'^Ec&QDsD+r'1b?.4DcCj2j;R*TTBul`0arn$MPa*TBGW-Gn3^Z&rx,&JT+W-rcu92&PsOoqgg)&#6ag9ju$@'^xwE@vi_:m"
"Pffcjo.uc$-G(`jp/Ylp.SW8IOTRW],p5X$2[Q_#T4<;$;Q]l<gRbf1QkY'8_D^?^)qj-$xJW]+?:gFrvjWve(/$Y7LMhxui=Is-qq;'MC(<*MFf99vVgV8vHZD8v%-,)M7)b8vk=[F)"
"^Z0h-'o:L#SFr-$GnCA+=OfKc)hG-d_HJ%khk)kkP7uLgUu]GjBPvRnRrGT7XA^wT@86m8,dGQU-YXk8W_kxu8b639pkx0>Ja'#vp,,)MarT(M<15xu2t9S-WAUxTs7W*M<8Og9aaf34"
"s2Pg-G%vW_.4G/tAE1loFiV4oHi;onv)0snS:W4of.iT(Kwi8N2KIF%*nE?MLjH.q9DH%bC5Cul+CHgL#/d2v?MRV7b)5q`t9gKc18ti_>9k'&RCr-$>)d:`<ES9v7mQA%mhw8's41lo"
"WHgKc,rr%=atD%&c-j80-4d7vK5b$Mj)B&&+OHc*[/>LYoCY?-@]@Q-tS)k1ENYp'-DHuY+qvO]Hsrxu/gUa3MgV8vc+R4vtCw4vA=B6v;CK6vh[%w[pZAo.A+rvuc[wi.2W)<#G4u(."
"V/`*M`jK(MT='9vQ[5<-fI5s-4EdF:'/=bkmjW+`_XGo[a8/fhLO@ulbQK)+8eEE%RZDuL#)BS[h/`*Ms#axLONK$NZSi.ZF)/g$5@v7v&-Fxu,KtxuPoS_%*GJG)8DUw08Hk-$13k-$"
"6(Lk+;o;F%$@B7Fq`),s.99RqK7$##+<YEnUx9ig5$3ciQl$VmPo?rmd.tJae6O$%7sUP&%i$]kU.[7n;QZ`*ieZhLTG'=#`8Ux0C][u#qaf<-K;8N/RW)<#D,.'Nk=?h-iZ-`$^rs$#"
"Pv-8#eRg6vd<r$#tA$i$q('6vmFJ3%+a8wgI:6fhrr-thndcRF9_'#vvS4p8/JO2(d_.t-,M0%Mk][`*'r`/MiKHGM;kg/BhD3Zm)=qIhVX.A=Jd'#v5>^Q?TQkxueg%72[ohOW,nU6v"
":Q'#vo]u)M<Ne7v.EP)M.Tw7vumw6/G6d7v*d(*Mi&h(MBDt<#Q^-h%mXbA@+A7;ON.1loJ&Y&crA5`a:4E_&w_K+rS+lr-l54L#n'KM'`UJG)HTcf('i[w'tjU;.C#g&$5JMm$:UDHM"
"@b[F)Yi,B$VCq-%Qb9nWQIsUmaOnRn>4ma*R[R<-T_CwFY)[w'R1:hL1F?GMi8%FMSHg;-3x19.kT(fqbZXlp$[qxuDZls%_%H^$+FrD&8rl']JJ^NB(dSF.,8[E/5_)##W#3JC08_#v"
"6]E5vwG)8vaZ`=-ZI5s-F=mxMk$PtOE/6Y-?b;L#4>q-$w%BA+?ZJ%kx$SM'^iw%+IK,/(dF*selY,F%q5[`*0Tt;-wa.AF_W7_8L_?_8i$vht]&HJ(G*NL#+@hFrrsASovB'a+)LJk("
"D0KM'FdjCjFc;ongvtPpHI0fq_PZo)QX.#Q]nZ6Am'llp3r9)HPJh2TpiGo$sj;,:_kQB7&G(`jPJ-<-T'kB-TrM<?Cekxuga.u-eWA(M3qH]%_XL]l>[Im'H'<L#J*#em1XH(s2FejM"
"tl`i'1u/loW-@e?hE`gLC7=>GRLCJ#(-b#GS5NJ6#(T'd>#aFrc=gn$>%i;-FeEB-Xkbq@Q;ab72o9#vD9Q;#8G5s-Q08u*KD-<-46h%%[Sq<100k-$];-`a@5:F%ctUi4$$axLtsFZM"
"4a27##+S1v^g:5/BW=2v'S9%Mc>d2vgcO2v&UfvL'&&4vsR9%M`YHOG8SkxuFv=S0/qi8vdbN5vb`w#Ma0WvuiAhhL/=wi0IC##,4orFVo99`W`GooS9Fl'&%fAX(bV)@'jnPk+UZ=YG"
"T$Ow9f:xE@<MJh5CC4onq]m+s?DV)+ds3L#7,%@'<rNJ(;WkM(TZI5rO$vhL6QH.q7JV2qUPw%+o;9@0=0<X(e+MM0'`X&#uu,F%5E'.$+B)RW3G6W-QY%:)=Y<#-5TCT1oVY&#lXldM"
":)4fMoklr-Ib3(&Jc'#vpvo(MYWjfL`D?)MC+87M1*4B-X<2eM%]G0&2R;8vcH.0:wst1q[bW2qYwkIq.D+qr23Rmi'rJfLK5t8vsh&gL`j(3A=&:MqahqxlGS#KGHl_wKwLbxu0&9a*"
"i7w/McY-j0Vm*###N:onuN0lov7@2^U'aFr.U1-=9dO<'tTkiqF9Se$oTfe$;Jl$C,:m7v>39rg%.CwOKxNv7?Tm+sE1xp.U3H(sFw;L#&_F'ZWT9[7serBnC^N$)2>ZHNMh_@kh[NJ("
"&u9'#kV/fhArnLpZ'_v-TA@D*:;HT.G:r$#U9VF*vhNT.+53ip62,d$nj7_8EhgLpFNuof:f@e?3C$#,7,V)+ev3L#?14onVZ=X1##W4ocowOfjCrl&oYuIc.*<d*^#rg:wTGq;njCG)"
"?b5j#&n?#vf(>uui'$o$<uY+)>MuxKGVv;QZ85bEvM/DtsEd&#3b[uGR*LW//a&`8Lt_,b?JJF-i`i9&3b;<#w7/U&_ug&$[AZL<sRB#v_(>uuQc,5&:k`8v3oa5vfK/(Mlv^(M-B[7v"
"5*Y1+fc.30MAGxkaZdCsc5u92?NXW'Y05)M>P*g(c4MwBH&>uun9j'M,8jvurqcW-oi^w0PO8(MaTw7vr*m<-M`xF'rPR/$kOUWJG?oY-f@Qe$4gu'&ZS3ip9qDWo`8v2vQHnRS2n4on"
"[86R3i3'T.f#02#(#&ug/k1HM-uDvuVB;=-jc/<Q+9=n%Qe=O*Y6jvuq]G,%exvad;as5B/Qk7M<`O_.Rd;<#3SP8.mOvXlB;l;-*+.i&^m=j(CQbcmLQH.qm&Gp.68V4o>c6X1q%?7]"
"<UU2q#(SM'Tc%:)61n8`QI?uuIn57vWWA(M.p=5vs]u)MA.r%MM-;hLU^XeD&=4m'>`Um8%l:kFEK4(/D]v&MEUAh:,Z[A,:.th#JsUF91=*x'*/*eb&Gf4v^-&8oivbPpu2tF`ICSCO"
"-/H/?l`N5vc1,i:A9`lg51s;-D1MP-o`fSR-<XM0^=G##JiEB>pl9'#`#+GM?v%4v0[#<--_>W-a(>F%2DQe$_DFo[:7MdaHNGJ(N-4`a=H]HaQu1c``/-Yc,83ip,g1TRW)dX-PhDdX"
"1.;T.I$H7v]0vW-e$A-mkf;onuREe*OCExb'm6loHX:;-o#Ts-cuC*M+,&4vd#s8v:CFR-AO'H3<N28vJgV8vDGS9vOkp:#>kF6#`#E'#GqO6#DE:7##>eA-3Sqw-Yi,xMB55dM@oU6v"
"a*V$#$R+U?/'dxuEE+aNk%<*Mr=r`*#A)<-x/B01TRg6vq=n4v@(>uu:P(-%7VV:mDI*5p`c5R*YXr-$$7H(s#8KW&W]T>m7N+]k8&UW-Dq;L#,ii;-*>ojL<1h)M)2>cM(pExb>Pj6<"
"lNp+sT3aGMjG09v,^xu*,EQ;.0RqIhU?H&#Id.T@J]AsnJH*##47uRAWPf'/W7.wu_A'o/jv3xuY8&=#Q/e*0ow_vut?7wuX+B;-oaY-MbB[7v2A:@-9`/,M'XPgLSq)$#0;#s-5to(M"
"WDch:8PO&#j]X0M:?-A%+09k)JCW;(qpl(t`+`/)tCS%8+q/OMASY`%0F7a-K,fiLoKj$#&@hhLc>w2&EFmr-NW[w'qn[p.5&>uuS+EX('Gt3+:8rD+iMp*%uFbxuJ;k,M%SHL-O_(*N"
"2E%IMn%g+M(r:eM-nsmL53`HMYauxuvD+59EXkxu9@hl%,IDn#C?(L_K^fYFPtAU)8F^pp*PZ0_=322%cdi_XL1K9=S.sWJPN.FN73b&3q2IF%'f,7v$a1EM;%lOoZ8Ps-fjZj8Dt4m'"
"&g=eMpM,W-@*]e$9lUf:'5rlgN`eq)gv'Q/o#@(s`?L+r^b$#m;nRe$xF^k+.du2;?X0-U:<HO%2f-c*P,1=-Q`xh<)REX(@mK-k;w]$QXA]CsGYA9TSaC$+.-$#Q&r2X-/Bn[YfFn&0"
"Y>wU7;XKi>6u%<-'x%uK>Cq19$$bID/akxu+Ur*m$%_`$'2nJr<R#PfMjt'&@$KVe+j*#vj0b#+W@SW-hkI_&'xkIq#UTF.4f'#vwE&(MG)NEM;M#<-mB#l$<ES9vpZ`=-x5F7/@Ug6v"
"?JEO8[jm9M1TTm8u.:#vC^2<#lB.q$,ml;-[sv1%kfo-?h*op7Av0'#(6&=#3tO@Nu7?uu)iWi%aN:.$ttd=gC91loKS_:mq]Hjq0WD+rPCS1piNvWUf3DgLqU^C-(O,hLtGk'Mm%sAN"
"dPQ)M/Qf4v<wD'Mt+E*M_2$)MUQ^?NAjPs-BJZ&M(Fk'M3w_90#YB%t(LmFi7HIh,weAuc,bNwm^n_1^)u=lfbOjf(QI'&+r;HT.HAO&#j2(@-h1&F-JlK8/0Ug6v,Rd&MR3O'M.)>$M"
"=+WvuR&'s$6*_KcaHv`'<OY&#;f?1_SJEX(u&TE#K1$##sncGM`%U%%+La:0@g)fqh-rP%2;qU@7aY$0q63-v:TOR(A-1lo*LS#'&od-Mn.Q8.WqkIqmNtW-n,X_//g-w'^,bCOsI99v"
"T;bV$N-mxu=phx$K[_,MY1$##A@RW-E0[vn+(wXl4'gb%+:L+rPp++-LiS'cR`?'=jkc:=(imxutBlG-[-*>=F&>uu[9D:'W[WOj-]MH`7iVu$DegLpk=I>-O@/o)%)Z/:VNY^ZIiQ:("
"Qb^w.FuvT%_SbHM4P6I%a(sR8)PA'-_,6`MSggVHMA:O+j`>W-63K(&qLVpT=V`N*s>i.$=389vk(>uug7T;-Xk<^-?b;L#m2mw'$EJd:YRkxu5jL]$?>H&M4#X8vbNRm/(uj5v,w@1v"
"D<Mt-.[CxLrbf4v,W)<#fBkxuLtY<-#7U@/_HU3v>#>fAERkxuKNZX0TjD<#,%6;#C1a'M&nfwu%(@A-mlkv-T<_hLOPFjL1h8,2a>,/1op>rdK<2igfB1YY2GhfV/o%&Y#Io`X1@<X1"
"U/l$08WTe$j*_.9VUK/)WN[GMJ5Tw+O,p4$.;dW-[(rEIXUr-$)o_jX/6.R*vsv/9cgad=Q2et$LW@(s>+7j&^sW:'*Wqr.^E-crISo.Z1`2<>'sJ-@`O1-OQ0P#+Qu)BFUGlm)p*U]8"
"[oWqg>C5dMkQrhLn7s<?g:e--2oK#vN?Z;#=Nc)M<(i%M;A09vx7,g$DbcxuliPN&pX)<-)D^@P:E./&1?_-Qt'&(S;@Ki#*q<^OAxG<-vbxDW2`o_N`/XFNN7$##F/CRqWn_q7Othk`"
"J)5wMGA12);B@Mj1dK(d+(wXl,Dq;-<B(h.RAJ9v#vI3%vi>WAh6id-h)B@0Ca0X-T``X(=+*J69<4m'4_*<-HN$_XuvDq/Sm`8va(>uuR7T;-0u,I'nutS&S':.$.ed&m_D`c)(hixl"
"ZedumipJq7dEon34NK/)62Qr#p^fW-,+&XUK^vHH*,R,tbYcXQp-3Y*9%j%P?^-b<M%1@Kv@L''bt*KNT>k((=me?8?k2dej$:M8M]Tj(_=7rm-)#^lIY?rm]Fl%lG<(QSAhjO9-Tkxu"
"=T#A'KcqooWo.:)o_d+N_ZE&OS4A(s$J;5pTEgkb8w[;'E/+#v*Wl)MfA]c(]wNoDNu/A8+(MYm)llxlT.l%l^G;Z&C6e#PW5@>%W5u?0)P'4+1>ULh%&IM3Rjkv-n-hHM=tdYPG_h%<"
"/3+##Atr-$VOr-$_C^4f=K84FUL4'=D[IvnenWW+K4?M9Bt9Xq[nGX1;7>Wf_EjY&;389vr^J(M?%Nvu^[/C'r^dJ9/Tkxueh0c*G6[gL%m`1.QXUKCNKc'&;uTV(q<BPTWj9dN01<ul"
"xL$Q8Yu);nxZHpgKa1U9cLL#vSsi8v:NHJ9+ds9)bhq>nk5sfPLe]V%ETtYPat)X-jv%q'WaC$+qIheM1ksn8vht&#6&>uuFifj24JF-=?\?@F'T6Q&#HTDa'm+S@@Uj*COvt9UJT'iRN"
"8c:J:#J2S(6To;'O('5)k.2YQ6v,l&.Cd;#9#T_%Z$9#1;:&32*q:oeqo_q25>O_&g]]'daKj$#6$#)M2Bgu4>2-R8#8R_#J4;;$OWj4q:(,,)A[rKG.OH(s0D*KjZ1Pq->MHk=c*Se$"
"g*s-$x=8loAA?rm%QGp.C`V4o<qLKa^rH3=t3N9`ubUe-9s#AMK7$##_Jb3F'4hFr5?JeM`Xd8.E#,]kSCWiqDk(#v[7^l8'AIk=obX'Afjt1qd6arn[6R-Mh=2p.@^J%kD$_j;q*H5R"
"x<[n8*$iO+51U#vAt>7v8T;8v0#eKuFWNwTkYE5va&?D-Bh-q$#j$]G;h:#v3$H7vmdmY)_NwO]HNmZ-VA%)*kT(fq6<Cr%Fi2'Mf>$6)&e^'/W#XV-G=B$-Trou,Ngcf(Y>es9b.Ul%"
"rbL/CsGD^6(I4$'&w&2#q$&u*vJR<-Fn63Tq)V4f<,$Vmi9:kk[kM.'-FhFr'jUiqV%.<-r)A>-M]eZ8Mv4_H(bpC-,Q).M,8$##5h3F%p-KM'x>@(sSwgFr9Ncw'&QdEP?RcdM9mD+r"
"ZWwcM3x_5/OR@%#qR]nJ^a->mT5DX-KG%:)N('3;@x_%MI8gV-G$<L#^`;#f[e4*W8h2J:dxqjtR;$Qp83N(j=POQUxijIh)F4/(-[5dX1FbsR&=Qx%Uc]S<ud638Bh4(/U%23;%vHa&"
"5qv,MXotgOij&V-U(qg-<=$ktGP#ktubUe-'N3*_dTGw.]m`8vCXR?7(qFH(MuW.$Qi1(Oj7cp78`/rIkkx4p8['grmg_FrlMdfrVQX^Zhn-K#fU`f1>x3>5DF0;6Tp<J:WKt4Jr>_4o"
"KjLG)'D8;6N'QS7o=Z`<wnrx=)I4;?<,]fCMxt(E<rAYYs`o=uKd:,)i?<20vw[Y>@H/8RDwJ]buhTigC5_ul0g>,2_8XJ:B*@>PLm88Rm'')WrB^`W'9ruY%]Bi%fYgl]aoalf&4?Jh"
"3G#A,I:r@,;:V%,A$V%,xn:`+Hw:`+f.u&#vZP+#oR^K/hh8*#W@hhLm]h*#2=#+#=le%#&sql/L<M,#O_''#$*B;-:K8n.]wK'#4<#s->M*rL%V`'#qPo5#Y[+6#j^W#.wCt$MGs`7#"
"7P%>/hh<9#v`v&MM`j,#Stql/]MB:#n]%-#b=#s-Z_u)Mb-v.#f=#s-awC*Md92/#j=#s-g9i*MfED/#n=#s-mQ7+MhQV/#X[%p%M9Buuo+;SI/8@A4S`%#5bPj7[D:XY5g[=;6n+Ko["
"X^il8#$NM9$+%J_a8+/:)Nff:*I[+`iiBG;0,CD<1k<c`whV]=8i;>>99tCa+UOV?@O48@Ev5]bIYx+DT5]cDUiMucQ4:DEB2EYYIQ1VdJcm7n7JIlo8Oc1g[wb.qBL>crD0`.hk#wCs"
"I$V%tJN@fhxu4YuTvsY#X/4ci;XaP&hXE/(n=-]k^uj]+3Y_M0B0b:mF@bY5U,I;6VxjFrNq#s6[VaS7]@K(s[#oi9gXUJ:mE`=uic0,;r<nc;xs@uu'1A>>-Quu>0m's$;a22B=ufiB"
"H:WM'S:CDESHw%Fa^1)*tPLPJtkaiKvFYS.7Fu%O-6R]O8_RM0](%/UQ35DWV]`]4tT5AXaA*;Zc=]Y5C?x:H.iqr$8ONP&<h/2'B6,/(FNcf(_4TY,`ow%+)wla3mZ%-#;tI-#A0f-#"
"KZO.#Wst.#5I/g3lY$0#trH0#*M<1#TqG3#A5(R#.%<N&1xf)34d=Q#8pOQ#<&cQ#@2uQ#]mi9+?g(U%X0A`j8Q=]k=mt=lC;q:mIf2SnX*_+rl2W%trP8]t.oH8%A'^M'OG5m%NJci&"
"soC^#u2$_#$7Vc#/hId#&GEh#@_>j#SqYj#]EDk#wV4m#cY?T-/F@6/i^M4#xDEjLB[Q##ZLOgLf$TfL#6DhLu53U-tc]n.Qf1$#];#s-G=;mL)klgLFo&-#%d&V-MeF?-1p$20C/f-#"
"E5i$#5<#s-'S3rLZW/%#?sql/V.:/#XS@%#A<#s-D9dtL`v]%#^*B;-%3J/0s&4A#;w#;#Ykdk%[6?$$%s=6#$)'6$A*,'$aJ/=#tA1V$'B7D$B@i$#JF'>$UAbE$'?h'#wD&A$&A6G$"
"^=g*#/_PJ$65NH$hQ24#XcXM$[fAI$M]C7#'bWP$+G>J$3HQ;#Q(/T$9eLxL:5-S)@rGM^4ax._@*aY#hx*5faJo+iwQc`*SLx1pASf(sNR./16=<p%lu2g(%&NY5uWnP/BM-g1ONw.:"
"IDbYPa_?8Ra_]%Xc@RJUq?0)WvmUuY(<%vY2ATP]?Jk4]b;vucW;rrd_KxCaZ.3_J[8D_Jk9E>#<8YV$CspX-@4^p9l$iQ(cZo4SN%%X-RPJQ(QCiAPrRfo#gbEp#Z.xML'FiYnW_4Mp"
"n*M8.0g>,28AVD3@rn]4HL0v5R9)p7eJXJ::K?5AM.h`E[kd]Fl,uoI$&niK.]/,M67GDNR5poRoZiBGa>);dg]`rdm1x4fBWS-'w4s4oWXo1p2CmSfV4?u#(Juu#/7?f&tUN5&B$K2'"
"JTcJ(UP<&+`+9#,h[P;-sE.p.^BPe%YZ#g18Gr`3B(4#5JXK;6K7J%'q%2V.ravf;Cc%['^(9)$3n[)$>64*$FNX*$Lat*$Qs9+$X5_+$aG$,$i`H,$q(w,$#;<-$4r8.$hIm3)@audm"
"xE=wTeaJw#Ok*x#Y?kx#r,$$$J75'$gh(($%[@)$5te)$ETb*$hfQ,$JipsLEvL^#P$pTAYj4SRG=-##S9w0#xa/I$bgv%+MT8<-i40[%SLJM'OYv2VI1$##DV<B'%(j0,KhhP0>M@&,"
"-QTq##D+wpAMR&,[:_U[v#b>-#VYS.dWt&#H;B;-%cPW-+ONL#uZ,xn%TWU-r+TV-YNNL#1Vf+MqZPgLo:T;-/o8gL=;K;-7M#<-@`5s-mr[fLUplS.UXI%#d^./M+`T;-gvj_OiG>&#"
"XTs-$l[VV$/+mS.I?O&#)VP8.LMc##E=p;.[CFcM9v3+NTem##U<FoOJ:$##7KNjL+bP8.YrC$#P'.Q0U='DNu:V'#gmA.$_36R*0JO&#MT(=%N?Ee-$`B#$PX2L54Gs9):'O2(@IB.$"
"Swot#MYUV$&=2W%`/^e$/?S72Li0KM,.p%#M(T,M17)=-@S,<-Y`/,MjVY&#6l/gLolu&#6D2:2,(u&#Uf1$#]4#HMj`mI%@LgI$x_haNC@%6/G:r$#7G^5899Qv$*L5R*k[VV$4rc8&"
"`ZbD)H3We-^RA&,=7q,MQwW?%2.P&#3f8,M=']iL3]&,Mm<:1Mab:ENJ>b+Nku=8MgLIF%&De*.f3=&#1s1MN1E%IMVjD;8)lL_&Ebl&#/4NP&Z@aD+KhdDNK^.iLemS%#k)Ib%H_L50"
"LH.?$)8MY>7G0?$hdWV$St8d*2V]F-lb%$Qu7V'#akIU.K?O&#gfG<-c`/,MUqZ1M4(co73:tiCXD:&5WGUA5vm_:8C=ku5GUKV6Otgr6f4M]=U?SS%$c15/3E-(#.:_hL`4m&#i>$(#"
"o'+&#'-_'#hW$#5o]Q(#uJ6(#%Xt&#J),##2rC$#4xL$#i+IA-)G5s-l^?iL8-p%#N@#-M<*(*#puv(#i_0HMtqJfLI>`-Mw$KZ.VXI%#-kJWQBrCXQj'Vq7oBjV7v@J.$l18A4i/8%'"
"Y<)DNrqJfL`*elL)xfcMJs[(#CMw],08E#-N9*j1$A&.$-76qr3/F-ZuCF&#BYw,X%.gfL'/gfL)>&fN)%f(#$9N3OG1$##Xrd;-1M<(Q+.o(#s/g.$uww+2&Ev-$PS-F%Fq?@'tEDP8"
"hBlj)bOqkLaPT;-keQT-=Y5s-,8^kLCYP8.BQ?(#ac6^5%X(DN/F=)#5aY/$7C[Y#eNwu#voLM'H4pV.PX2L5m*45&75Ni#2@o92i5Ok4ldUj&I$@]O4`c#0kC,+#pI5+#i6rt/rhc+#"
",[%-#$5`T.wtu+#-N#<-rGg;-c.g,M'f.(#ZNi,#uLDQL_FT-#_e[%#O4f3MC2nx4>(.F%(om-$se@J1E=g;.F4Me$fH6R*inco7on?[',u<2CvV0#?C=5s.O6rT/C=ku5;nZi9<=S&Q"
"X`E,#B)V$#O<M,#A@f>-DR_]O4W@IMU7hKM*oI(#qP,lLR1CkLT[3r7LD]PBY0/<-VNK98BD^9VbiP>?L)`A,bmd&#gXf+MFf><-0p>5M/<x/MBQJF-gW%/M/O5l$LEQjM0NJC%cs+20"
"BG0dM7&:*#`j<+./3A88_D)F73Owu#&S:kFV9CwKa8^'/<3Fs-3?gkLJ4emLh/BnLxIUlL;l&,MQ2;'#>fb.##;#s-e4+gLa&g%#(;#s-jRXgLM_d##*;#s-hqKHMYEW$#FF.%#,)B;-"
"Hxt_.HF.%#6rql/V'+&#VL7%#A;#s-NoYlLG:-##Y;#s-9%mlLIF?##[;#s-=1)mL%RGgL2J<mLX#'-#7g1$#)<#s-j`qpLc5,&#L5u;-3[V&.s#@qLalP.#@$jE-%'6-.%`ErL[KW$#"
"a5C/#1:9sLXKs$#C<#s-%R^sL^jJ%#G<#s-Ak,tLc2#&#O<#s-MDJvLXKs$#d<#s-wg*$MIF?##G(<;6RvTB#RPu>#lR>+#wglF#x>Y>#tkc+#(*;G#wSGs-SqXoL]O5I#K:xu-x2RqL"
"ahYI#7TGs-*KwqL+^J&]UaJM058t4]XS4P]Y#,/19PTl]]lk1^^;cf1=i5M^a.Li^bSCG2A+m._eF-J_fl$)3ECMf_+8FiglZZY,$(h.hoc&Jhps;;-(@Hfhs%^+it5sr-,X)Giw=>ci"
"xMSS.2'&Dj&`:`j'j45/6?]%k++7]kb,u92fpt=l0RNulF&DX(f>q:mKIFsQE9H;#7R)W#AimC#MQm;#N?8X#TCaD#hJ8=#^jxX#Uu)D#rif=#f;YY#e[Aa#3Sc##k.rZ#rbJa#A(M$#"
")lw[#(o]a#S_I%#-x3]#@GuY#Wk[%#&:X]#0%pa#`-+&#5Fk]#41,b#d9=&#9R'^#8=>b#hEO&#>eB^#=IPb#nWk&#F3$_#RM(Z#Nb=oL&BWc#E-:w-TtXoLrRKd##Vcb#vr?0#KFEh#"
"Jcub#^:ZtLGi?j#4@ve5Q_#3#Nvcj#MEs`#a3d3#mV`k#T9a`#Z2%#MmsGm#cS5q99YdJ;'.Tk$fm&##7x:;$lGQ]4P*DT/O=HP/:aj?)Lc68%bLJT%vLRS%O@XlAROt1B>vViBVnp.C"
"U2or-FPo+Dw;3GD]HMcD_Ti(E87bc)&]&)*RA[`*w%NY5Koj?B'kj-$_;br/r[-20#'bi0v$*/1sYq1KK?5MKt$EJ1a%Z.'BR@>#;inx4=c7A4/.35&ABhS8vOX&#3A6X1%NeKY*fO&#"
"GHJF-JU_D.JF.%#uCF&#;g*Z$nfg,3_?]f1[ql$'7O<I$4[7p&Z#=&'@x8u(,`+wp&`B#$vFePB$A&.$#v]Qs+]@5B8o=s.Z7x-$xs+F%Ws<3t>J%*+d8QiK.G:M#:X$qrK2(.$;i^Qs"
"-nnP'Ak2j1A#l;-xL#<-$,EFM)%f(#Be&V-8CjJNl]c&#/9N3OS%B-#J=Is-3k&kLmsP8.t,_'#94X2C#;j+M.(8qLM^T;-m5K,0nFX&#36o-#KZlS.5;x-#OaT;-C=FoOwJx0#ndQT-"
"UcP8.jK6(#&WkA>2*)DN_a8%#HnA.$9dbQjJ,2H*uXx%+F&?^5WC'DNFj6TMC;wx-x=mq7HRcb%hVFdM<d/Lqpm.0#:rD@?16?PA)Ubr?,kBS@2w'8@o5C/RTrbo7*CUY,O3(L55Gpu,"
"X2t+;x@D_&x&Xf:SWL_&ksp4J<+Xh#@9u4JCW38.1xi$'3^Q(#v4C/#_>N)#m#S-#6@hhLwmsmLYFp-#O#`5/1&T*#;w8kL+gu&#LR(gL5G,s-j7]nLhgjmL7bF)#%]&*#=fb.#l:kc%"
"kUWoI[qdxF?U7D<ZY+#H2o&i#bav1B`Em+D`:m;-9*o>/mj9'#3YgsLYD$LMQOo,(Kr'58olB#$[xd2V*4)UNRIgnL.nGoL0k>5Me4$##cC/?M?/:1MWO8<8mO$LGn`q--$PlDNo*R+#"
"R*]-#Ox>tL2Ml0.9/=GMJGjJNM,;T.sid(#-6`P-9'l?-#Kdp/ppB'#ibY+#9,:1M+5$##3x(.MubldM9^.iLlkFrLskmY#c9m3#xn.l#&BrT.JdK^#=KwA-sHm]%oBj;-42(lL@$n29"
"n]`8&cXlo$ULJM'>'Uq)3t3m'9Wt2(FNcf(5QK/)2o&i#njCG)ql/<&^Zv%+7K8ENg[T,MG4<YP4^.iLZ851:@f_$'%`L50v@J.$D?<Rs&p+W%w7B;-$Y5<-.,EFM.-VHM`&1l68'2hL"
"CVLe;Ev2I-3I6qr4lFcMrqJfLf#g%#=Mw],WOx],R<8m',1Qv$7H$XL'PX&#/N&F.[&B:^$rJfL*TP8.=@%%#]RX$0vSdDcbSP?-^&t_O?8xiL$)XbNAWO`<j+)d*[=E)+h7BdmJ4$##"
"64)=-v]<OR^EE$#MxL$#p8q'#PijfL6jw%+j,n'&gBv92i5Ok4qtw8';[Z##$?*U-H`5<-JSGs-eXbgL1i,s-+JTp7,mHL,?q&/18%Ke$aONP&?.ZY#LmP&QP+:kL)dl&#GSGs-wJNjL"
"G]XjL'DK;-BLrp.a'*20qInw'cN_c)r&qVo?.(58B..m0[xd2Vd(11MP8T;-doFC.44i$#e7Vk+#r]e?+h0F.*q_-6LUlJs]Y'HNt.(58c%:@KK8>>#.iJcMwKr'#qj<+.x9v68_D)F7"
"-Le;-`Jhw-#FqhLALvA%hL/R3>.Oh#5VSq)vXC-MNvu&#)<M,##;#s-bLOgL<1NY$SF/2'xt>v$1/:m'8Z03(?kjl&cp3L#N_+_JB(Tq)/5TY,T418..0b2(:M5L#2mES7weT#$ZX6L#"
"T>WlA#x5Z$`h6L#_%5JC'FMs%cq6L#jqH`E(Oi8&k37L#i0axF(IDW%aB&;HHTAWIQFRP&-'8L#;9k4SC<t87Y(kT#_?.@##(X9#c4'U#cK@@#'4k9#g@9U#gWR@#+@':#kLKU#kde@#"
"/L9:#oX^U#opw@#3XK:#sepU#B@e;-o69Y%7rt=l$.Nul#q_]+D>q:m6u`fU7]=>,i_*,V:7AGV;utu,mwacV>Ox(W?7UV-q9BDWBhX`WCO68.uQ#&XF*:AXGhmo.#kY]XJBqxXK*NP/"
"'-;>YNZQYYOB/20+EruYRs2;ZSZfi0/^RVZV5jrZWsFJ13v38[ZMJS[[5(,278ko[_f+5]`M_c2;PKP]c(cl]df?D3?i,2^*#APf^^R-Q?Yblfm#?5gG5qEID%_igdp:2h&NGk=JIZfh"
"0=5/iT0&@0-XQcrX_p/1%8,##V:@<$[p#?$cKO&##EQ?$*Km?$A2*)#H7>B$O,j@$ILT2#<c.L$;.:w-A?YwLugYM$K.:w-$Db$M2A]O$jX)@$<1q%MIrkP$nRqw-P*<'MPk6R$%/:w-"
"q5#)MLD0T$A`Q(#VK<1#x:#s-O/xfLo%;'#(;#s-.SXgLiVY&#*;#s-B`kgL`v]%#-;#s-.r0hL1bk)#/;#s-0(ChLxIV'#_-4&#V3*jL,C=)#A;#s-S1)mL-IF)#_;#s-wGLpLb,p%#"
")<#s-%g$qLnu1'#.<#s-3#@qLj]c&#5<#s-3S3rLliu&#8<#s-<`ErLliu&#<NYS.h.:/#,2^Z.jMh/#Wure.t4=&#EQ`S%d:,5ASA05/xqKig-Db.h0@X]4&4-JhFFCfh3Otx4*Ld+i"
"/c#GiN7r%=.eDci4(Z(j5I=A42'&DjM*<`j>9QV66?]%k7O7]khcm34fpt=lRdOulF&DX(@m[V#UTl'$d<m3##]r0$%'%w#hH)4#1i.1$%qhv#lT;4#4u@1$(wqv#paM4#7+S1$,-.w#"
"tm`4#:7f1$8j3x#x#s4#/Cx1$5K[w#&0/5#@O42$337w#*<A5#-[F2$@vEx#.HS5#FhX2$89@w#2Tf5#3tk2$1XCv#6ax5#4*(3$5eUv#:m46#B6:3$@ERw#>#G6#uBL3$.#M($B/Y6#"
"gN_3$wso&$F;l6#'[q3$0m:($JG(7#*h-4$i[v$$NS:7#-t?4$+6>'$R`L7#n)R4$.<G'$Vl_7#c5e4$7g1($Zxq7#fAw4$3BP'$_..8#9N35$n=H$$c:@8#rYE5$vb)%$gFR8#wfW5$"
"log#$kRe8#krj5$%i2%$o_w8#FAK6$<S&7.V'<'M0j$7$BX)..]9W'M^u67$,sN+.cQ&(MU7[7$bC]'.kjJ(MsN*8$5xQx-(^c)MxK/-seo/586=<p%'S3g(/+_l8uWnP/w>,g13Q'/1"
"Q62p7f`'g:[6hr6p.$d;?/O,<x?w?0@`;&=CSgD=&Lw?0H:S>>Gx(^>*Xw?0VKdPAYphJD<k)F.A#wiKbH#dNI%AX(pWE;Qq]52T_3:R*F<%vYa1/?Z>8IG)@rPM^l?Zm^(0&/:JRif_"
"G_2h`?0A;$U<FDaXhW]b^.^'8A8tS$jhh;$NTd;#('/T$r*V$#eRA&$>#G6#8HU3$6L1v#D5c6#<Th3$iNio%h]%,`=>:G`><xr$Ot[c`AVq(aBTXS%S6=DaEoQ`aFm95&WNt%bI13Ab"
"J/ql&^spxbNR/>cOJQM'b5QYcRkfucTlMJ(fM2;dU*GVdW%jf(jfirdZE(8e[=JG)n(JSe_^_oe`U+)*r@+5flr4GiaBZ3OQqVcivu3,jPPqEIWEo%knuJDk6M@e?`v0>l;Ka]l`Q&@0"
"sLx1p=u*,s1taKlg=<p%?E1g(HbRS%uWnP/cW+g1lrYKl&72p73t%g:td@>#p.$d;?/O,<x?w?0@`;&=CSgD=&Lw?0H:S>>Gx(^>*Xw?0VKdPAQ'9pA.r0L,wbm]FbcA&G,TG_&A#wiK"
"f$J2L</H_&a0eYP)8O;RHSH_&+ARJU8k<,WW+I_&F<%vY+T`S]XhMq;k:2/_EGGJ_ptI_&*<vuc-`RWeQ)YS%vQN`<UH3L#mbVV$)X.T&[Z3L#(;f+MR(3_=)5q>$aj3L#kH,/(>lj>-"
"cp3L#mZcf(=P7*+_4TY,iklr-%:;s%IO#<.2rfr6B:,W.<S5L#T2w4A--kM(U*xs-wr6qL]dA%#/<#s-'GwqLXKs$#7<#s-(Y<rLPq)$#9<#s-*fNrLV-*$#a5C/#L9dtL4Niw(7B-5A"
"Z,AfhSp&v#0q`(jWG9`jX#bY#AuGM^Zx^i^TwUV-E7)/_Oc>J_QO##,IO`f_dUv+`T_>>,Mh@G`dbVc`bsjl/UBX`aI+n%biDgi0YZ9AbF.N]bi8020^spxbVqJYca3ZY,dAmuc]9,;d"
"[OFD*hYMVdbTcrdl)oo.lr.8eV?CSeUV62'p4foeYT$5fjTvu,0e;Gi%)ofiImxKGS's(jhcJDk*6Oq;`v0>l59a]lYq-F.sLx1p*0^)v1S[Q0uWnP/jm+g1,hio.Q62p7;6&g:DgJP/"
"p.$d;L,>)<K8GM0&xr]=?SG&>xq(F.LR4v>Cx_>?,:)F.wbm]F^1qVI:M@X(a0eYPs7G5TXRAX(_rPM^Y_Ym^S_YY,JRif_GqIabd?vu,2J8MBDKKm%km-o#_Y9^#Ui_7#_)Io#_M'^#"
"Yuq7#p;eo#l.$_#jOe8#qfNp#nlT^#GOQ&M/@lp#i;b]#K[d&MOL(q#mGt]#Ohv&MWX:q#qS0^#St2'MxwLq#u`B^#*=t9#$S^q#2F3#.^<a'Mw?%r#(#h^#4[K:#-r5r#N>%u/8h^:#"
"1(Hr#dZwm/<tp:#44Zr#-a/$0@*-;#=_Ds#sm@u-*NP)MG]'t#?>H$$iHO&#kp^#$QXwm/+<h'##dv$$QSGs-aA^kLOeF%$'h^#$;mZ(#/>j%$.$$$$qrPlL3_9&$^SGs-#5vlLEQq&$"
"?Nd$$`.T*#IUc'$xXwm/6_r,#[)x)$h%,s/@'J-#h(L+$K(Xn/VjX.#a:h+$B5@m/c8:/#pwm,$e_Xv-JVTsL3tO-$vtp#$)8e0#'_s-$0@0,._=ZtL*)C.$TTGs-%=/vL&Bn/$7rB'#"
"n,j<#x:#s-L/xfLs=`'#(;#s-2SXgLnu1'#*;#s-U`kgLhPP&#-;#s-3r0hL:Bh*#/;#s-5(ChL$Vi'#_-4&#l3*jL@gH+#A;#s-[1)mLAmQ+#_;#s-)HLpLj]c&#)<#s--g$qLr7V'#"
".<#s-7#@qLo%;'#5<#s-:S3rLp+D'#8<#s-@`ErLp+D'#@sql/l.:/#62g*#A<#s-*:dtLmo('#EQ`S%rw,5AWfGM0xqKig>xb.h<WIP8&4-JhcEDfhC5'/:*Ld+i@F?ciD,FM90q`(j"
"GhvCjif8GD43A`jSBW%kF&fl8;aXxk4B&BlmfWfCB2UulL-a#5C3?;#Nn-o#ZAk]#Ui_7#C)Io#[;b]#Yuq7#D5[o#Jt_Z#_178#aGwo#Xan[#d=I8#[S3p#NH`t-?7-&MMV,WehW;;-"
"n.]oei)r4fXomi'tRXlfW^m1gcb+)*xk9Mgf>Nig$KGk=L.q.hVs.Jh>**REVFQfh`Df+ia+RM'/hMci3X1,juHVw9T-/Dj`PJdjrQCA+8Ef%khu+EkZvE>#=gbxk`[CAluuK'Sc,CYl"
"#`(#mLT*RE#E$;meR7VmmCrl&Liv7nt<4Snfg&@0s7s4o,TTSoJaK_&)]o1p%w,MpLgK_&nt1t#'OR[#])W<#p?At#RFs`#a5j<#sKSt#u]@d#eA&=#RWft#IMQ_#iM8=#Udxt#hKPb#"
"n`S=#%w=u#$Q.d#slf=#[,Pu#'W7d#NfI+MA@eu#SSZ_#%/5>#0Huu#.pn)$(2,##[S1v#eRA&$2Sk,2[BW;$]Ht(33rqV$`Z8s$2m$8@74R8%l5pS%78w4A;L3p%:YQ5&orer6@n/m&"
"@#)<-@%D$#pFIw#?,4*$D1V$#sR[w#fSm$$JCr$#;fww#9s?W%o&`G)Gn'd)voMY5VG[D*RK$a*;Q0A=[c<&+xqXA+;j&F.;&t]+B3;#,FGDV?d=T>,GNrY,VFL-Q$);#$R8F*$gBF&#"
"0eK#$JP:v#kNX&#6q^#$JD(v#oZk&#('q#$ZCRw#JTNjLJA7$$1%,s/%*L'#KQZ$$3q%/0+<h'#u]m$$[A]'.]5KkL.r*%$_Xwm/3T6(#wu;%$@7fT%WGVD3h2q`3;S7A4>`7&4kGQA4"
"QdWf:Bxn]4);3#5wvE'Sf:O>5cu-^5CFE_&jR0v5e1e>6ELE_&nkgV6gCEv6GRE_&r-H87[/)W7<9Bk=vE)p7kh]88K_E_&$_`P8m$>p8MeE_&@w@29tnYM9%wUiBc8xi9qq:/:IY?G2"
"gPXJ:WB7l:Ww0;6ki9,;xHRG;Q4W`3o+qc;w)N,<W-F_&HDQD<--k`<T7<D3w[2&=IfgD=**p92Pui]=5^,#>cHLV6)7J>>)s'^>`EF_&_O+v>FY`V?2#US%3t's?m-B8@eTF_&V6_S@"
"0];s@F;G'SZN?5A#D%TAY1ujtegvlAKC92B]?1kXo)WMBHFpiBl?T]4GA8/CVTlMC%58R*kYofC:bK/Dq#G_&orOGDG@0gD(9&RE%ALDEBlg`E2+1L,/Y-&FJ9EAF@$KY>^qd]FC^@&G"
"$?G_&qZ%,$Z%Ox#a21/#VS6,$cI0#$e>C/#x_H,$Ovqv#iJU/#[lZ,$J#)t-DD9sLx)o,$23H-.HPKsLi%;TJZkNM'xcqlJC*52KbH,,)&&RMK<wkiKpfsu,*>3/LU#MJL5sG_&MVjfL"
"cQ^0MUcB>#2oJGM0wccM9)H_&U1,)NZ-^GN;/H_&YIc`Ncdu)OlZKJ(>bCAO^t9bOlNki'B$%#P:p<>PAAH_&f<[YPcv6#QCGH_&jT<;Qe2nYQ*]/wpnmsrQW>o<R,;=>,R/TSRm6noR"
"4I(qr+H55S*?A>#g%FlfZ4f+MOq)$#x(B;-2lYW-Xp]e$I+UB#(Duu#,]UV$MEr>$[sJe$Ru68%(=vV%.g7?>iN8U):tm.Mx4T;-5K@&+UPtgL&1io.'2h*%h&1A=P@rD+xL%@'6Bk-$"
"HCP8/8LA_8O=Xt(4<k-$>]3^,7*>_Jqtrr$[[=#-JLVL5Ec[w':Nk-$E8q.$7pX3F^QZ`*P6Z&#v9l3+fD4;-C+0Z-c2Ke$%r^#$v0g+MB8T;-3@;=-,5T;->cjfLh+X]+hJp*%kfX8&"
"Yb4(/t;I&#(M&.$EIl3+6*_Kc4T,F%uCF&#SBd&#@,HY>%dO&#DxHp%==Lk+jYkr-1o/,M=sJfLBH6##x*ofL>Z6+##;#s-;MOgL'%f(#')B;-`ZLh.`D-(#+;#s-bl'hLMC_kLDGa$#"
":x9hLx[7(#0;#s-OkQiLTv'kLl^Y&#P93jLo%;'#];#s-2>;mLq1M'#'<#s-/T_pL<N$+#,<#s-@s6qL&u[(#/<#s-CGwqLs=`'#7<#s-HY<rL%oR(#9<#s-JfNrL'uR(#8#krL-li/#"
"t3h'#O<#s-iDJvLGgMQ17B-5A,;FigB>^f:$(h.hB4(JhmW?>,(@Hfhpr]+iEABJ:,X)GiS*@cinHCA+0q`(juCuCjv/<;-43A`jxh;A=qbeA,7&l8(gn*Abcgno.[mgxbe<'>cL9$2B"
"dG);d^?>Vd[RFD*jl%8e@#)<-n[w8#bxjp#mS0^#$+X9#jFKq#C95b#*=t9#Vf#r#.F+k14[K:#(x>r#'aB^#lgJ(MxEer#;F3#.ps](M$3xr#0s^^#F<H;#6X;s#kiRd#(HG)Ma]ts#"
"(bn[#Z#N<##:8t#?RNS9f+AZ5WKSt#p=cY#eA&=#ZWft#YX8a#iM8=#ndxt#mj(c#n`S=#bv=u#aeJa#slf=#f,Pu#eq]a#NfI+M@=eu#hwfa#%/5>#+Guu#k-5'$(2,##qS1v#V++,M"
"ZV$(#0aCv#q9G'$0JP##3mUv#-D(v#4Vc##5xhv#3]Lv#8cu##9.%w#7i_v#kbbgLvrR5';=RS%E3gM'>-,j'?U35&JTcJ(w=*g(qSmx4OpC,)F5)<-NO.%#Iq3x#G17w#SbI%#<.Ox#"
":'V($Xn[%#/:bx#mUBd3]$o%#)Ftx#-lf&$a0+&#1R0#$xPgc.e<=&#wmAO&T.2s-Ou@S@p0M8.n9iS.8CCP8tH.p.atH5/SOn92Cn*m/3D^Q0_vKM',HB/1/@Dj16p2_AS#ZG2TpS,3"
"5MLe$rGVD3L7s`3S,p(<>`7&4ZnSA4V;5D<D.4#5*#2^5=fLe$l_K;6a1Ev6ArLe$t9dS7?<_88E(Me$&k%m8:(h)3[xA*#2CG'$&DRw#`.T*#@OY'$_4>'$d:g*#C[l'$tP:v#hF#+#"
"%i(($#e[)$C@]nLL&<($-:pg1p_G+#K*M($%XI)$KX+oLu>a($Uibk1xwl+#0Cr($)WCv#SqOoLTV/)$;qha3,@D,#*bI)$4'+*$0LV,#?m[)$.#)t-bE:pL]1#*$GTR2.hWUpLvE>*$"
"&J9w1@'J-#NGO*$vro&$t&7qLlhu*$4TGs-$9RqLZu1+$A#Mi3R^F.#./U+$`[K#$Xpb.#(;h+$B#)t-4jErL3H/,$TPew#e>C/#2`H,$Oww)$iJU/#^kZ,$J#)t-DD9sLx)o,$dYU)."
"HPKsL>VYSJJ0O]=xcqlJH952KM?kx=&&RMKeI//L;5/87.VjfL]?^0Mx@58.2oJGMD^dcM9)H_&U1,)NZ-^GN;/H_&YIc`Ncdu)Op)dc)>bCAOQO9bOq&HG)B$%#Pb:>>PAAH_&f<[YP"
"cv6#QCGH_&jT<;Qe2nYQbLT?gnmsrQ.OqVRwM>-m$H55S&8YY#q@-Q'q:[w'#e(g(<E_G)=%vu#S2%d)VXp/1]$o%#PjT#$NcUv#sg''#cu;%$aohv#Yr8*##CG'$w%%w#jL,+#-t:($"
"'l8g1,@D,#:gR)$88@w#bE:pLr6?*$@>Iw#F9f-#UL-,$SJ[w#iJU/#^qd,$CBg;-K$*+Makk%=VK3L#b+p.Cfm#K)^a3L#]b/2'%4m;%aj3L#Xh+/(5QKN(7ruu#ds3L#xV8>,EL;;$"
"tM4L#t+18.3^>g):M5L#FSFS7'FMs%ZX6L#n4XlA&=2W%`h6L#)16JCGh_50cq6L#`RH`E<Y3^,k37L#l3E]F+ke5'm97L#nE&>G-ww5'aB&;H];BWIm:15/-'8L#Ovk4SA*=W6Tg@H#"
";/%[#_/a<#.Q]t#A#h^#gG/=#5^ot#-II[#kSA=#$&Gu#I)q^##),>#BM(v#@*Xx#*85##s<n0#lWWV$1fU;$E[rV$1iqr$74R8%SNO5&Pc4;-C'K2'8wF/(N&@D*Md(g(M#`G)USW]+"
"[c<&+mhpY,WN_-69cP;-][hS.&q9e?\?UI5/q1US0u<MS.<Sr`3nPQA4^$@>#a,]M95k;/:iAlEI2^tf:<-RK;>3RV-q76)<s)/d<qYlEIBiMA=3/G&>%Ge?KJCfY>-Svv?P,ko.76_S@"
",]rSAUaJq;e5siBSe0gD/x0L,1XA;H-YU8J:u8R*AdqlJ]fLQKr(pr-2oJGM-LF,N4KOe$YIc`NW6YDOP02L,b$%#PGvv]P<dOe$jT<;QfMjvQ1o58.$,>>#,b%9&``Ms?t^X1'Lw%pE"
"hpf.#CT@%#W'dH=lR]h;(^H&#Ucj=8R)]-##)>>#mT6M2@F.%#p2h'#MuJ*#*[%-#Lrr=-GPii1`d0'#6,3)#jtu+#t`&4Na@6##0/t71%?$(#Q+^*#.h7-#c&=c32l:$#dpB'#:8E)#"
"n*2,#FZO.#;MD6M=fcgLxKq7'[75;-<4KV6]8Xf:w*fu>H%h%FJbVV$$KVB-Pe>H=K,x4A,T@C-?MxL<#XSrQ5W7C-Z5i'ApxUV$J/w%+wJu(3DRgr6_Dt+;#7+;?J1-AFMvST&8hfi'"
"c:Hq;Sp:D3Y;9G;:XsdmT:uk+ot+/(b[18.-&V`3[GTc;8p7JC31ck+p-GJ(dhLS.Deco7xE'8@PU)>GX.nk(ftho.Fq(58$RBS@RbDYG^C.W&><(,)h*.5/1DR]4blP`<>>4GDaB&;H"
"l;OVCjIde$:cde$B%ee$J=ee$RUee$Znee$c0fe$kHfe$mUlKFZ<#Z#*=vV%0tnP'6TgJ)<5`D+BlW>-HLP8/N-I21TdA,3ZD:&5gIjv6lEvsBI:`e$s_`e$).ae$5Rae$Awae$MEbe$"
"Yjbe$f8ce$r]ce$(,de$1H*oDcm.;dF<,8fLs$2hRSs+jX4l%l_kdumeK]ooqP6jq$E'kESZfe$vg]e$&GOGM,k1HM29iHM(SHCF'BLG$>Gg;-DGg;-JGg;-PGg;-VGg;-]Gg;-cGg;-"
"iGg;-oGg;-&2%Q/mV+;Ce]c,G,4h>$1Hg;-7Hg;-=Hg;-CHg;-IHg;-OHg;-UHg;-[Hg;-bHg;-n)`5/ZEkjErohXMswJ2HfQ4F$2Ig;-8Ig;->Ig;-DIg;-JIg;-PIg;-VIg;-]Ig;-"
"cIg;-o*`5/1?XS2.m[FMZBJs$7;2*HmG^e$8Z^e$>m^e$D)_e$J;_e$PM_e$V`_e$]r_e$c.`e$i@`e$)7WcH_.bA=%gK>?+GD8A1(=2C7_5,E=?.&GCv&vHIVuoJO7niLUnfcNbs?^P"
">c;2FF,ce$h>ce$nPce$tcce$$vce$*2de$0Dde$6Vde$<ide$B%ee$rB*##7wbf(U.tL%P+35&V5Tk$^XJM'B6,/(S>Ow9IstA#.#rKc7W^e$T_oh$C08F.&$^e$''^e$&r0'#&/5##"
"QlRfLxCg;-w:m,`+e(HMI`7)aLC?##we.W-aYL(&SF/2'gYBk$:S:p&ifTk$jWi'8a4Z;%Pg/k$'jp%#FPj)#g[P+#1h7-#Qst.#r([0#<4B2#]?)4#'Kf5#GVL7#hb39#2np:#R#W<#"
"t1>>#g-n6%TnWF%RhWF%PbWF%N[WF%LUWF%JOWF%HIWF%FCWF%C7NF%K55-NRIH-N`Cp7Nl4&'NJ#CA=2d%p]CPR?p-'kvM@UjdEg(ew'R#W_A-+r-QIUGcM=ml&uQ07m0PY#<-Y,I]-"
"cvTF%hPUF%x+VF%OFqm0X]U7#A7i[M6Yh<NO7LkLb&H6#'-QV[%YkA#37.F39uR-#_PZ6#qok.#Ex&2#$*:J#U[B,&F%BqDZd]Y#>NSoR1x[PB]#=vHnK;lB[pkA#cF^01iMqJ#qlHK#"
"uxZK#vQu9R1$RhLIe7iL,%t9+$[kt-#;b$M-$t9+Nr79R't8:.(tAKiKuCAca,:n)uCSS#Pa.u-xrF;+Mdu8R1$RhLYOb_n'vY@/?h2AF>#B>#LB>G2)D5/:;#L/19k6/h#q;#PcTfG`"
"u.(<Qd91$5MKm/q(Da0(:)OHr8kb0Uxvp$>Ru;=HeSR=?c9]%#LKB1_'PmIi9/.J`7k72CwvE&,Qug>6dS(?-bEi>dKKn2LrE/NBEN=.#fY$0#0fa1#PqG3#q&/5#;2l6#[=R8#&I9:#"
"FTv;#hixX#1lC?#Qw*A#r,hB#<8ND#]C5F#'OrG#GZXI#hf?K#2r&M#R'dN#s2JP#=>1R#^InS#'L9:#A$ffL)jS@#SgYs-U]4WMesf@#YgYs-Ms%VMg)#A#`gYs-GB2UMi55A#dT#<-"
"%VwA-AWwA-B^<^-Y'?F7<.KoM@bqTMMHguG`^mA#(^<^-_6?F7CX5pMS)`oI.I@8J/R[SJ0[woJJuoA#1WwA-2WwA-3WwA-hWwA-iWwA-jWwA-kWwA-lWwA-mWwA-nWwA-oWwA-rWwA-"
"sWwA-tWwA-uWwA-vWwA-wWwA-xWwA-#XwA-&XwA-'XwA-(XwA-)XwA-*XwA-+XwA-;5e22`aR%#:,3)#Z7p*#%CV,#H0h50Uu#v#S6()*9sBF%C*auP@GrD+EACF%Zd3.-wa..-<.KoM"
"-HguG?RlA#_FoY-C'7.-e-7.-g37.-i97.-H/9.-J59.-L;9.-NA9.-RM9.-TS9.-VY9.-X`9.-]l9.-_r9.-ax9.->pW&#=Z'4.JgiUMf#p@#bgYs-HH;UM@/=fM*-kxF<mbWq;mbWq"
">RlA#^@S>-d@S>-/^<^-gN?F7J026NI/(<NJ51<NLAC<NMGL<NSl-=NTr6=NV(I=NW.R=N^R3>N_X<>NaeN>N@lYse[[-5/2A7A4RW@M9snIY>=/SfC^E]rH(]f(NHso4Si3#AX_vM]O"
"Z6Bd*A5CF%Lpt4S@M@&,nVhWhmVhWh6:lA#Vf`=-+kOkLXd`=-af`=-Bg`=-u80_-'N`R*La`R*Ng`R*Pm`R*V)aR*X/aR*`ur[-=+U']GH]rQ@GrD+6jBF%O7hl8cF@&,?RlA#h_iiL"
"]DoY-=h-.-;H9F7H$v5Nf)epMXV<MKikrlKlqgl^Lo+2_MxFM_N+ci_Ukv(bVt;DbW'W`bX0s%c`p0;ea#LVeb,hrekfv8f7_JM'WuSY,8x-W-OTFq`?)HF%<)tw'I*)6N<AC<N>(I=N"
"oXf8#NZD2%hv=X-$mFX:P@-29%G@&,2sYQs1sYQs1hQEnW:rlKMxFM_O-mA#>6m<-G6m<-H6m<-lx8wPovGWM$:>A#9>P'AOxqlK>Pbi_@=r%c/AV>nAPSJL&XgJ2K?n2(0O*G`IG4e#"
"T?siKxBXn&+xm<(vEfk0t^i.hO*J_.*D(v#RYlS.p####%lL5/BJ1v#K&pb*6NqU.9t,V#eQ9Y(0v6A4Wen92p6PiKm3io.cxw%+qpEX%YBh%F[%i.U`=IfUdU*GVhna(Wl0B`WpH#AX"
"taYxXx#;YY&<r:Z*TRrZ.m3S[380P]8Sg1^<lGi^@.)J_$QoCj6K4]k>&LulFVd7nN1&PoVb=ip_<U+rgmmCsoG/]twxFuu)G(v#1x?8%9RWP&C95/(KjLG)SDe`*[u&#,dO>;-l*VS."
"tZnl/&60/1.gGG26A``3>rwx4FL9;6N'QS7VWil8_2+/:gcBG;pB^7&v3aFEmXN)#tK,+#,Sl##4l:$#Sww%#osTB#+7>##eLGF#2HRm/t(/5#p9,F#$UGs-L.%#MpMpnLB]HR]]([xk"
"2bV^#43to%^:8_o>W[;#RbCxLLJVI5?'GSn((IJV]hE+N>uAsnB,&#,8jHnroVT,.I9o3M=m)Jq^4>C#RYsx+%5YY#,nQo[mn%(&4P8:)jLqJ#72^Z.OXw8#g1jq/jh8*#x/5##GpTS/"
"?'@YPm&4SR/*xp&`EJVHbXOcMq@6##Tvf>-mk'W.R8OA#2dpC-^Z9kM1)s7#[F1).Y.PwLLL>gLck@iL+3PG-a:fc6J(:J#NpL?#puH0#=b=Q#Kjn@#Olh7#b/IS#'0Y'A@00PShF(##"
"WX6AFwuiEe*#SfLwpOM'(Duu#0wL&#i)*^#3<I#$Ep;N0Cf1$#?.`$#XKb&#KJa)#mZ%-#EZO.#_/:/#fMh/#&M<1#U$dN#]ECpL_eP3+1j0Y%3)YoIFR%G`Jk[(aN-=`aREt@bV^Txb"
"Zv5Yc_8m:dcPMrdgi.Sek+f4foCFlfteBig#+$Jh'CZ+i+[;ci0'8`j8WOxk@2h:mHc)SnP=AloXnX.qaHqFri#3`sqSJxt#)5##+SC;$3.[S%<h82'EEPJ(Mvhc)UP*&+^+B>,f[YV-"
"n6ro.vg320(BKJ10scc28M%&4@(=>5HXTV6P3mo7Xd.29a>FJ:io^c;qIv%=#%8>>,_kr?>8x+DO.:DEjYMfLWL<J:';YY#HV=,Dfm<8Rn'WS%O8x&GI5'##q30)W[OI2L@S`w'8/SSe"
"*iF&#VEmA#%cYs-.N7iL6?VhL^UiS%W87I2(PFt$%V:=:Zgh?#O1PwLC5^kL:/Y>#;VMH2c-8j0P#NA+e]'7Be%Nw$(#)jL<[22/Ctw*=q-1Y(&Ymk,QB/;6$QoH<N[`uGTCL`ERn%;H"
"^%<v6s1^V-KxvU;puiG)DG79+IYI(o@_;jBmmHjlS$RVN1dPhL1*$Z>nJ8s6uBP>#IVF;-C&faN<g`V$$f`ML:w*?10sBs$6oPf=MIUR':6^K11(Lp7>.JjF7s>1)N]EX(xZ57&i[nFH"
"&IZ<BKw(u.dXBU)kr.-)iG@>BvdIUCia7&>nP5LF+Wb7D<D@;1_m?uBBsNM2<1Za401ELDb3Mf5JCgTC/BfqCq]CEHHPX$H$YG>H@O.l1=Y[720;DiF9`iiFpi^h2A:@1MAHD,)k[2q1"
"p0k(ItlL*HuO:iF/Fl,O])1s7:8QhFBe#&J@)W4'@d&+4C&^b4K#9;-.#d<-jLDt-sHLXjEsdL2A0wT-jgKEV:Z?L26[6T-Dvf/0_/oUC/Q00F$S-5.`@As7-j=K1,Muu#a,V$#6c@5&"
"TfK>#[VHjQ2N9'iC--LK%Ah?Q8TT/Bf0:n)i@TZ2W6ujI=7v&6O=Rp/cB+33LmEsM>A:7LE/QAU_>L,=p/Jv1#WeocsmYY>flS(8[vv&1)`un[da*$ObYbra%UqT'r/D+^$LZ]C69o[l"
"N1en&X$V0+6B*2`U<(nr<[$j<dOkaA*$nX59n9<O-aZHXOG]#l8-Q?-h.C/A1'Bu/;JOVefkHZapOrx:&g&EJWqnt)'f,?Aql=f7.Kfx@hJ*QpvItpsupmprB8V`[2sS#7U-0?bi*_E:"
"gvqb4fa1`dcqc2.;SpZqil.$Zg[2@HZP]YOi[7t-.B[2=JFY>#J@lwLsZVkLM#wq&I3>G,8/GuuYJ-(#G/.@'82.@'RSuY#0P5.*Pb5s.E)cq&lX3T%Zi_V$:=nS%ab>R*0-I)*)`aM."
"MZ[,][$?w_D=i*7-1T0]HX)%-$&T>.0T/.*3IAmcx<5Zelau52]P2wORWacqD-X_5tPNB#1L5L21xQHN1cIC#&aw),uTGuBPA,$%kV=C5N]W$-e8IL2NW-@1G6)%0`W5mBo/W;2BLV*H"
">+oFHh0]Y-eANh5vK]G;lZ,4:qCw2NF@wKu]*Ea*jiEM22_*F.h/(l06@-#HAVc58ZElg3IL7w#R-,##,0KHH@l(QWa5;d?D:.:tcJ@TA4dmD6X$vCXptI.EGe24.63T8:1<^l;f@OIe"
"PU`ncn'>BL'?/ma26WtXL's5?=OS+tSFOL2o5A<[0GKa=5/O's32RgG*mf$_K5t4M,p<3;x/q>CY1J/B$s^CPD@/@@YN0iimgrT4)u^kt(4t_e$m5#ktx4QcieO*ChsTEZv/q=aYF$S?"
"<6r1T+5&iCE#)CC<ih=A>NUvfBgD7clm5iMg:U5U]]8M3'i/QWj%plMWT;t3mon/[#n&H-cJ:s;kE=fqJ[/wR.Nrs=w6<$+plKIWgDkJf?u^$.%ljNdKQ/*Z/pK##l@8Sn=$+W-3=+?."
";(`nBQ,:t-.5?59M9xe*f6%F->F/p8rI<$Jm@UiF%PH61WdQL2+'i]$h5+i,Z<L=B]ZE,3(T#t-YsJx8'N'_,VB`e3JMPC5i]Le$>NuM*R->]'2p.jLkfq)P^&24',#5L#[B3L#K@dbU"
"U$&j*U(aYo)_I0NUGw6v&d$.,Dt5[]@<+FA5kg,UGdm:L281lBi#L'r*>=pKE;I&>@r5^LlS$d6-47MIIkA,Zl<ON-Sb&u0Lwe[KsGEV[*_oW/x8#A?K<]/ius0XY.eb]Gft)V*Hii,R"
"J0F%A.D'1ls-]dm>Uuho7,jplnlHL1DN%dAq>Ze%Cqdg@kw;A$oj7GWtM7Jc4=LYB0_t4-N5m78EPlRCa4Jd*[cm,$p<E<L=O'/@QZ3gWrDA[uBwRNA`r@QIA`p3J1t3K%OWI4'lqUcc"
"+Zos6smJp_mIrC?fK=05VSm9vc*$/QI^1jSFIV>#b8(na,0q*93IbRgRLamQrpn?GA;0m6JJ9:Yw[W`2uWfd=US3qM-@c<LgDu;.6wc[Cl6V'.AB#295?\?\?$]$[>#F@9dkIL7w#R-,##"
"GaaN]f3m1uO/MI%VGfSVxCKU@7v?Fso8e;&>t>=LFMuEmV9I$vj6wdG3kg8,$OAVRnAc-s9_V4i4tC@?e#PJf;RoA9Q8JF9G^8^h#&XJ.L5e=_q9%gf;L^=.[[bhYQ4)HF_[OYmTBd56"
":jThKmchJ)b)@SFIG%,UXaSaEU^$rsRjfI(4f9#q6s_((WEF`paB#ps;WMhGSE.8o;FI'fCFlG`:f-Q^%&Y+h6a8P/?^mT(9pw:?I8vWHfms;=FAak#WRmYhMT-B(%QmOZnVA7X7780S"
"R?JQf&m$>34wC0VQs2-VS[t]_W^L`Z6xrP,1#v?VdG:AkJiNYc<)Cs-k(ko7@$kDY_D`_,XT@F4BsJF4C#9f3TduM*Q*>]'m74*eHRaK:iPsD+bG`v[V8Kk9Go99C='PnBD`NaYlmk`)"
"ogfs-;?eNNxGOK&-6IL2/;(p$9kCdk_o)SC)sFVC+5`:.OUqn'^>4[$PN[b4S8'/3aw+4:Db2vuUqH$*j;AK;dJWUo@soG#]GRTL6OQuBx*%o6Bkcjd35`GmcbhM2c_;`]&J3H]A&,vR"
"OvvmkvQ(q.QTqbCS%;(YY_RAs[=`4h7p+gZg5:V?k]dWrh@D]03gDB$2j(B$'2ssq]A3lV73p?a#jN2jfr<Z+JUhY+CW$,2A5WgHR^6?d4Uc0FrtZ>rc6t5Wi,WK^eZcHJZ'8.ngK73Y"
"LKmKF05`n8W1^tR]r`?\?^%n;HqV4:=ADi$gZuOMErK,`UjU>esZ7XpZjh7&O#2Zp5@7ZnaRsUOuV_caP*`D@5xPs?^FZRCu^NTV(#m2.*nIfSWCwXE<;/?T._#5L#fD1A&cFDDBE1U=9"
"Qvp&Nk,TKniF5_e#Z[+'_`UX-=lvE58/2H2+/GuuV-=G2?,O?%PPC;$%F:K2qi0L&INXHXvWGuBx6#:8/fjJ22him$O+V[6iI:O5b(644*r)78m.X/2k)4-k4)w6:#]Uq8[ORX7J6>G,"
"V?w'5S_tmhO1.^&_)mi:[pkA#70Rb'iFffLM<vLgkQP&a2P?\?D&Vn)Wciu`<;(%GZvIFm=6QB,9I7e;Q2)$LSOll.XRF^;6x0eSJhUa#Y[P6Pk0i3<.eulKb3%au'CX-aea]mV0jYJh-"
"rXiTZKH@*Vgn^A2U)O60GF;;1ep:D#ELEUpfw4#QsJP%sRtVE(?kj;aEa*Z&=_u2,[+rdk/x@xXVn349gY2cF<I.E9P$*DhwO-%7H(SVhZB,81vO1C^IPhGMPGI)%@:II;1g>.c`&<$)"
"eW`cqTrEp/at+/;T:]Xeg:D()bWVO4/Y'cFera[o/O(uS.*m]=>.BmBnQ%*fM22jBG9<bD:gH&4+oba2o[rM2j'cp86Pvv$(w&_ar4cs/NsY#fC)W4'KJ>C5CaNI3FgWI3(t$e2eC)X-"
"PbYN;1?Y<8K=:7'x']5/S4uLFB&kONo]i,)NuR&,O?$q9u-$(+]Ajm/g]x0Fvm`9Co<]Y-?/tM,(O(W%).gPA<HGeg/=2hKx;%sG<cB4Spg5FoUe78%IFo*sxe7)4Goq.U*J5ATWlOo$"
"P)P]^E_o^+['xQ9e::>Ocw(jruP4IohoWV(g#=vj8Qu-vAb_ljAWMqA%N`on&Ri%7A#:ZOS^W>p7aVn6Z<Aw%JK#=bPYg$O`96NtDJtC2`X#V9GF7CGUUL8PF_e;l9A`obesUxN++F@6"
"Kl`bEr-T8GM)vsMM$wq$8*>W[rkxlCU^LTSJS^;D%X&;V[);mJR.cJ+4'@v$9v7?GpgK)rsm]dTat.#_m2S;oXi]dg<Q;rs&`vWO>vZN;`xO%KskSuC9kT5[$rQQ%-sXkL;Uun'DkAQ/"
"]$[>#hE21)Rk>s.W+Lh&*j:jr0=T/LeqCTTXWqK2DG4KV=AP,N]AY@&)l%q.?x8532d-7Cx'vI#Hm,7C8j(.(0;;u-Et`?9u4k>Hp8ZX.A9=<-E)Q2*Dqbk:Jt:^#-,ME>DFYmD3A2eG"
"og3nD6';qL+g`Y9bS+k2N1&r%Ux6R2<bIlVD&Kv4OpQ'OB8l9iKU'P'oXffL8):c`vrCm]G7=LpG4NT^D?a1:x;sXhBSp=h$7V'bfsWnbL@qK,Y_#/ea$;h]>FUr&/=B`l*?b<HZR.ad"
"qx+U.ZL,O5-ks$(u^8Mn7BRt?/$?b5=fE@A#7*QqNRn>2-gIw(*(3g*2I?,SPIl0;lX>+HO%aC[X*=Ht?_/9C5;V-#^H,t<Wp%,0v*k7@hCq;,&`RaTdO(XC>aH,'DI+=qN8Q#+U4H_f"
"+6Rl,T1G=903m`jd.>EaF/:[A`iodq4brj31)h8WSXAIP1'D[Q?T*s$sa*0FDENPKNV_b=W]bAS<R2oY)+edYb,h;..'JqJb?0nkk'Zs2.5Fc2Q'>u#,,9OL6/]WeEW8q'_(c0&E#S6N"
"*WG(dQ1sd20g>G2rE]j0/Gc>#[pVB#dxqV$&,###lBK%>6bVs%C5=BOXTcG2OOV9.HiiH2X]?g)8nL15Qt7.*g29;KwiE<ssLtVOVQ^XmVR*YI`V+HOFFi?#Y(ofLFnQnp*`no%[HN=0"
"WEC^bQudO+Tr>I]oo2E$'2d;jQcVl-lP0d+<:c#%%E8;BY@MIP2JSv[YWHDQvAK0e>YW+[ASOP*U8Pjn1THp(R9/waf$`D1QTk1SkW9dSkUNr_'E<cVTNNt0S6#ST`:o$VAm(KGJjM[p"
"SKw]VJvNhCwYhfFivv^@p%?QXv/^bL@p@$AjuQJTJ;fFn:*UjC&s*9tkQ-oEK;Z9?J`KKtw*N3Rtd2@ArYG-#R0;Mj@X8&)jYaMPOAFlc$rBS+D=atV:0$o=nwB`RM-3=Zr]vX;hs$Ra"
"m>OUOWDonJ;tji_(p&;Iu$W2lO6awLL;XkLj%H^62p:d26bhpLg1Td#,,9OL7*%v&mFZY>?)eJV`<=r7R&U#$I;@%')FFG2[v:*3r6$o'T-mh2Fm<.3JG5c4$2]>8c2QLMIKwcBwcR#f"
"wt(WNMrga(/`S@8bD;?#S)H=NpLmqFInwqbV8_=+@kG8R3V0IU>T?uS5m91`dR1s%QU`pFq-pldl-$9hvCb_>k&81&CF1ii5EqR8[NOs=.HVLX;k<B>xJ/)39<uw#k]WPHuN<`nC*lV>"
"@m(4Y^[Lpn@TACRw`ob]EfAEBvPPkh2R?GdXTX1)LCS+0qjqle#?P0hH]L05:^:V<IN5-FU(WHAM0al>H^;%*Wf-UVpo6eh#5<*N=P$;,-D*9uM(=sutSmhfwsP-M`A(0=5XfwLm))0("
"@adCM'-1U-d;%WCk8Ibu[Athjwkq<Uq..FK-e:ZI[@c5=HFpq?$5O`[Lw[bQ#m8AtjMEmd";

static const char* GetDefaultCompressedFontDataTTFBase85(){
    return Ubuntu_compressed_data_base85;
}

#endif // #ifndef IMGUI_DISABLE
