From bc13b09efd151cf2d12a21ffaa107d6b46c47d91 Mon Sep 17 00:00:00 2001 From: AliMehrabani Date: Sun, 10 Nov 2024 16:41:20 +0330 Subject: [PATCH] Updating project - Add part of vulkan 1.3 tutorial code - Clean the HelloTrinagle code - Duplicate HelloTriangle and continue for compute on the new files --- HelloTriangleApplication.cpp | 1183 -- HelloTriangleApplication.h | 229 - .../VkDescriptors.cpp | 0 VkDescriptors.h => VkGuide1.3/VkDescriptors.h | 0 VkEngine.cpp => VkGuide1.3/VkEngine.cpp | 0 VkEngine.h => VkGuide1.3/VkEngine.h | 0 VkImages.cpp => VkGuide1.3/VkImages.cpp | 0 VkImages.h => VkGuide1.3/VkImages.h | 0 .../VkInitializers.cpp | 0 .../VkInitializers.h | 0 VkLoader.cpp => VkGuide1.3/VkLoader.cpp | 0 VkLoader.h => VkGuide1.3/VkLoader.h | 0 VkMain.cpp => VkGuide1.3/VkMain.cpp | 0 VkMain.h => VkGuide1.3/VkMain.h | 0 VkPipelines.cpp => VkGuide1.3/VkPipelines.cpp | 0 VkPipelines.h => VkGuide1.3/VkPipelines.h | 0 VkGuide1.3/VkTest.pro.user | 652 + VkTypes.h => VkGuide1.3/VkTypes.h | 0 VkTest.pro | 46 +- VkTest.pro.user | 2 +- VulkanTutorial1.0/ComputeAndGraphics.cpp | 2320 +++ VulkanTutorial1.0/ComputeAndGraphics.h | 427 + .../HelloTriangleApplication.cpp | 2320 +++ VulkanTutorial1.0/HelloTriangleApplication.h | 427 + VulkanTutorial1.0/Types.h | 36 + android-libVkTest.so-deployment-settings.json | 17 - main.cpp | 15 +- models/viking_room.obj | 16053 ++++++++++++++++ shaders/comp.spv | Bin 0 -> 2196 bytes shaders/compComp.spv | Bin 0 -> 2196 bytes shaders/compile.sh | 4 + shaders/frag.spv | Bin 572 -> 956 bytes shaders/fragComp.spv | Bin 0 -> 956 bytes shaders/shader.frag | 8 +- shaders/shader.vert | 14 +- shaders/shaderCompute.comp | 32 + shaders/shaderCompute.frag | 15 + shaders/shaderCompute.vert | 25 + shaders/vert.spv | Bin 1676 -> 1976 bytes shaders/vertComp.spv | Bin 0 -> 1976 bytes textures/texture.jpg | Bin 0 -> 253529 bytes textures/viking_room.png | Bin 0 -> 962052 bytes 42 files changed, 22358 insertions(+), 1467 deletions(-) delete mode 100644 HelloTriangleApplication.cpp delete mode 100644 HelloTriangleApplication.h rename VkDescriptors.cpp => VkGuide1.3/VkDescriptors.cpp (100%) rename VkDescriptors.h => VkGuide1.3/VkDescriptors.h (100%) rename VkEngine.cpp => VkGuide1.3/VkEngine.cpp (100%) rename VkEngine.h => VkGuide1.3/VkEngine.h (100%) rename VkImages.cpp => VkGuide1.3/VkImages.cpp (100%) rename VkImages.h => VkGuide1.3/VkImages.h (100%) rename VkInitializers.cpp => VkGuide1.3/VkInitializers.cpp (100%) rename VkInitializers.h => VkGuide1.3/VkInitializers.h (100%) rename VkLoader.cpp => VkGuide1.3/VkLoader.cpp (100%) rename VkLoader.h => VkGuide1.3/VkLoader.h (100%) rename VkMain.cpp => VkGuide1.3/VkMain.cpp (100%) rename VkMain.h => VkGuide1.3/VkMain.h (100%) rename VkPipelines.cpp => VkGuide1.3/VkPipelines.cpp (100%) rename VkPipelines.h => VkGuide1.3/VkPipelines.h (100%) create mode 100644 VkGuide1.3/VkTest.pro.user rename VkTypes.h => VkGuide1.3/VkTypes.h (100%) create mode 100644 VulkanTutorial1.0/ComputeAndGraphics.cpp create mode 100644 VulkanTutorial1.0/ComputeAndGraphics.h create mode 100644 VulkanTutorial1.0/HelloTriangleApplication.cpp create mode 100644 VulkanTutorial1.0/HelloTriangleApplication.h create mode 100644 VulkanTutorial1.0/Types.h delete mode 100644 android-libVkTest.so-deployment-settings.json create mode 100644 models/viking_room.obj create mode 100644 shaders/comp.spv create mode 100644 shaders/compComp.spv create mode 100644 shaders/fragComp.spv create mode 100644 shaders/shaderCompute.comp create mode 100644 shaders/shaderCompute.frag create mode 100644 shaders/shaderCompute.vert create mode 100644 shaders/vertComp.spv create mode 100644 textures/texture.jpg create mode 100644 textures/viking_room.png diff --git a/HelloTriangleApplication.cpp b/HelloTriangleApplication.cpp deleted file mode 100644 index ae27996..0000000 --- a/HelloTriangleApplication.cpp +++ /dev/null @@ -1,1183 +0,0 @@ -#include "HelloTriangleApplication.h" - -#include -#include - -VkResult CreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo - , const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pDebugMessenger) { - auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")); - if (func != nullptr) { - return func(instance, pCreateInfo, pAllocator, pDebugMessenger); - } else { - return VK_ERROR_EXTENSION_NOT_PRESENT; - } -} - -void DestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT debugMessenger, const VkAllocationCallbacks* pAllocator) { - auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")); - if (func != nullptr) { - func(instance, debugMessenger, pAllocator); - } -} - -std::vector HelloTriangleApplication::readFile(const std::string& filename) { - std::ifstream file(filename, std::ios::ate | std::ios::binary); - - if (!file.is_open()) { - throw std::runtime_error("failed to open file!"); - } - - size_t fileSize = static_cast(file.tellg()); - std::vector buffer(fileSize); - file.seekg(0); - file.read(buffer.data(), static_cast(fileSize)); - - file.close(); - - return buffer; -} - -HelloTriangleApplication::HelloTriangleApplication() -{ - -} - -void HelloTriangleApplication::run() -{ - initWindow(); - initVulkan(); - mainLoop(); - cleanup(); -} - -void HelloTriangleApplication::initWindow() -{ -// glfwInit(); - -// glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); - -// _window = glfwCreateWindow(WIDTH, HEIGHT, "Vulkan", nullptr, nullptr); -// glfwSetWindowUserPointer(_window, this); -// glfwSetFramebufferSizeCallback(_window, framebufferResizeCallback); -} - -void HelloTriangleApplication::framebufferResizeCallback(QQuickWindow* window, int /*width*/, int /*height*/) { -// auto app = reinterpret_cast(glfwGetWindowUserPointer(window)); -// app->framebufferResized = true; -} - - - -void HelloTriangleApplication::initVulkan() -{ -// if (enableValidationLayers && !checkValidationLayerSupport()) { -// throw std::runtime_error("validation layers requested, but not available!"); -// } - - createInstance(); - setupDebugMessenger(); - createSurface(); - pickPhysicalDevice(); - createLogicalDevice(); - createSwapChain(); - createImageViews(); - createRenderPass(); - createDescriptorSetLayout(); - createGraphicsPipeline(); - createFramebuffers(); - createCommandPool(); - createVertexBuffer(); - createIndexBuffer(); - createUniformBuffers(); - createDescriptorPool(); - createDescriptorSets(); - createCommandBuffer(); - createSyncObjects(); -} - -bool HelloTriangleApplication::checkValidationLayerSupport() -{ - uint32_t layerCount; - vkEnumerateInstanceLayerProperties(&layerCount, nullptr); - - std::vector availableLayers(layerCount); - vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data()); - - for (const char* layerName : validationLayers) { - bool layerFound = false; - - for (const auto& layerProperties : availableLayers) { - if (strcmp(layerName, layerProperties.layerName) == 0) { - layerFound = true; - break; - } - } - - if (!layerFound) { - return false; - } - } - - return true; -} - -void HelloTriangleApplication::createInstance() -{ - VkApplicationInfo appInfo{}; - appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; - appInfo.pApplicationName = "Vulkan App"; - appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); - appInfo.pEngineName = "No Engine"; - appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); - appInfo.apiVersion = VK_API_VERSION_1_0; - - VkInstanceCreateInfo createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; - createInfo.pApplicationInfo = &appInfo; - - auto extensions = getRequiredExtensions(); - createInfo.enabledExtensionCount = static_cast(extensions.size()); - createInfo.ppEnabledExtensionNames = extensions.data(); - - VkDebugUtilsMessengerCreateInfoEXT debugCreateInfo{}; - if (enableValidationLayers) { - createInfo.enabledLayerCount = static_cast(validationLayers.size()); - createInfo.ppEnabledLayerNames = validationLayers.data(); - - populateDebugMessengerCreateInfo(debugCreateInfo); - createInfo.pNext = reinterpret_cast(&debugCreateInfo); - } else { - createInfo.enabledLayerCount = 0; - - createInfo.pNext = nullptr; - } - -// VkResult result = vkCreateInstance(&createInfo, nullptr, &_instance); - if (vkCreateInstance(&createInfo, nullptr, &_instance) != VK_SUCCESS) { - throw std::runtime_error("failed to create instance!"); - } - -} - -std::vector HelloTriangleApplication::getRequiredExtensions() -{ - uint32_t glfwExtensionCount = 0; - const char** glfwExtensions; -// glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount); - - std::vector extensions(glfwExtensions, glfwExtensions + glfwExtensionCount); - - if (enableValidationLayers) { - extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); - } - - return extensions; -} - -void HelloTriangleApplication::setupDebugMessenger() { - if (!enableValidationLayers) - { - return; - } - - VkDebugUtilsMessengerCreateInfoEXT createInfo{}; - populateDebugMessengerCreateInfo(createInfo); - - if (CreateDebugUtilsMessengerEXT(_instance, &createInfo, nullptr, &_debugMessenger) != VK_SUCCESS) { - throw std::runtime_error("failed to set up debug messenger!"); - } -} - -void HelloTriangleApplication::populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT& createInfo) { - createInfo = {}; - createInfo.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; - createInfo.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; - createInfo.messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | - VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT; - createInfo.pfnUserCallback = debugCallback; - createInfo.pUserData = nullptr; // Optional -} - -void HelloTriangleApplication::createSurface() -{ -// if (glfwCreateWindowSurface(_instance, _window, nullptr, &_surface) != VK_SUCCESS) { -// throw std::runtime_error("failed to create window surface!"); -// } -} - -void HelloTriangleApplication::pickPhysicalDevice() { - _physicalDevice = VK_NULL_HANDLE; - - uint32_t deviceCount = 0; - vkEnumeratePhysicalDevices(_instance, &deviceCount, nullptr); - if (deviceCount == 0) { - throw std::runtime_error("failed to find GPUs with Vulkan support!"); - } - - std::vector devices(deviceCount); - vkEnumeratePhysicalDevices(_instance, &deviceCount, devices.data()); - - for (const auto& device : devices) { - if (isDeviceSuitable(device)) { - _physicalDevice = device; - break; - } - } - - if (_physicalDevice == VK_NULL_HANDLE) { - throw std::runtime_error("failed to find a suitable GPU!"); - } -} - -bool HelloTriangleApplication::isDeviceSuitable(VkPhysicalDevice device) { -// VkPhysicalDeviceProperties deviceProperties; -// VkPhysicalDeviceFeatures deviceFeatures; -// vkGetPhysicalDeviceProperties(device, &deviceProperties); -// vkGetPhysicalDeviceFeatures(device, &deviceFeatures); - -// return deviceProperties.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU && -// deviceFeatures.geometryShader; - - QueueFamilyIndices indices = findQueueFamilies(device); - - bool extensionsSupported = checkDeviceExtensionSupport(device); - - bool swapChainAdequate = false; - if (extensionsSupported) { - SwapChainSupportDetails swapChainSupport = querySwapChainSupport(device); - swapChainAdequate = !swapChainSupport.formats.empty() && !swapChainSupport.presentModes.empty(); - } - - return indices.isComplete() && extensionsSupported && swapChainAdequate; -} - -bool HelloTriangleApplication::checkDeviceExtensionSupport(VkPhysicalDevice device) { - uint32_t extensionCount; - vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); - - std::vector availableExtensions(extensionCount); - vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); - - std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); - - for (const auto& extension : availableExtensions) { - requiredExtensions.erase(extension.extensionName); - } - - return requiredExtensions.empty(); -} - -SwapChainSupportDetails HelloTriangleApplication::querySwapChainSupport(VkPhysicalDevice device) { - SwapChainSupportDetails details; - - vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, _surface, &details.capabilities); - - uint32_t formatCount; - vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, nullptr); - - if (formatCount != 0) { - details.formats.resize(formatCount); - vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, details.formats.data()); - } - - uint32_t presentModeCount; - vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, nullptr); - - if (presentModeCount != 0) { - details.presentModes.resize(presentModeCount); - vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, details.presentModes.data()); - } - - return details; -} - -QueueFamilyIndices HelloTriangleApplication::findQueueFamilies(VkPhysicalDevice device) { - QueueFamilyIndices indices; - - uint32_t queueFamilyCount = 0; - vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr); - - std::vector queueFamilies(queueFamilyCount); - vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data()); - - uint32_t i = 0; - for (const auto& queueFamily : queueFamilies) { - if (queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) { - indices.graphicsFamily = i; - } - - VkBool32 presentSupport = false; - vkGetPhysicalDeviceSurfaceSupportKHR(device, i, _surface, &presentSupport); - - if (presentSupport) { - indices.presentFamily = i; - } - - if (indices.isComplete()) { - break; - } - - i++; - } - - return indices; -} - -void HelloTriangleApplication::createLogicalDevice() -{ - QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); - - std::vector queueCreateInfos; - std::set uniqueQueueFamilies = {indices.graphicsFamily.value(), indices.presentFamily.value()}; - - float queuePriority = 1.0f; - for (uint32_t queueFamily : uniqueQueueFamilies) { - VkDeviceQueueCreateInfo queueCreateInfo{}; - queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; - queueCreateInfo.queueFamilyIndex = queueFamily; - queueCreateInfo.queueCount = 1; - queueCreateInfo.pQueuePriorities = &queuePriority; - queueCreateInfos.push_back(queueCreateInfo); - } - - VkPhysicalDeviceFeatures deviceFeatures{}; - - VkDeviceCreateInfo createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; - - createInfo.queueCreateInfoCount = static_cast(queueCreateInfos.size()); - createInfo.pQueueCreateInfos = queueCreateInfos.data(); - - createInfo.pEnabledFeatures = &deviceFeatures; - - createInfo.enabledExtensionCount = static_cast(deviceExtensions.size()); - createInfo.ppEnabledExtensionNames = deviceExtensions.data(); - - if (enableValidationLayers) { - createInfo.enabledLayerCount = static_cast(validationLayers.size()); - createInfo.ppEnabledLayerNames = validationLayers.data(); - } else { - createInfo.enabledLayerCount = 0; - } - - if (vkCreateDevice(_physicalDevice, &createInfo, nullptr, &_device) != VK_SUCCESS) { - throw std::runtime_error("failed to create logical device!"); - } - - vkGetDeviceQueue(_device, indices.graphicsFamily.value(), 0, &_graphicsQueue); - vkGetDeviceQueue(_device, indices.presentFamily.value(), 0, &_presentQueue); -} - -void HelloTriangleApplication::createSwapChain() { - SwapChainSupportDetails swapChainSupport = querySwapChainSupport(_physicalDevice); - - VkSurfaceFormatKHR surfaceFormat = chooseSwapSurfaceFormat(swapChainSupport.formats); - VkPresentModeKHR presentMode = chooseSwapPresentMode(swapChainSupport.presentModes); - VkExtent2D extent = chooseSwapExtent(swapChainSupport.capabilities); - - uint32_t imageCount = swapChainSupport.capabilities.minImageCount + 1; - if (swapChainSupport.capabilities.maxImageCount > 0 && imageCount > swapChainSupport.capabilities.maxImageCount) { - imageCount = swapChainSupport.capabilities.maxImageCount; - } - - VkSwapchainCreateInfoKHR createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; - createInfo.surface = _surface; - createInfo.minImageCount = imageCount; - createInfo.imageFormat = surfaceFormat.format; - createInfo.imageColorSpace = surfaceFormat.colorSpace; - createInfo.imageExtent = extent; - createInfo.imageArrayLayers = 1; - createInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; - - QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); - uint32_t queueFamilyIndices[] = {indices.graphicsFamily.value(), indices.presentFamily.value()}; - - if (indices.graphicsFamily != indices.presentFamily) { - createInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; - createInfo.queueFamilyIndexCount = 2; - createInfo.pQueueFamilyIndices = queueFamilyIndices; - } else { - createInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; - createInfo.queueFamilyIndexCount = 0; // Optional - createInfo.pQueueFamilyIndices = nullptr; // Optional - } - - createInfo.preTransform = swapChainSupport.capabilities.currentTransform; - createInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; - createInfo.presentMode = presentMode; - createInfo.clipped = VK_TRUE; - - createInfo.oldSwapchain = VK_NULL_HANDLE; - - if (vkCreateSwapchainKHR(_device, &createInfo, nullptr, &_swapChain) != VK_SUCCESS) { - throw std::runtime_error("failed to create swap chain!"); - } - - vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, nullptr); - _swapChainImages.resize(imageCount); - vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, _swapChainImages.data()); - - _swapChainImageFormat = surfaceFormat.format; - _swapChainExtent = extent; -} - -VkSurfaceFormatKHR HelloTriangleApplication::chooseSwapSurfaceFormat(const std::vector& availableFormats) { - for (const auto& availableFormat : availableFormats) { - if (availableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) { - return availableFormat; - } - } - - return availableFormats[0]; -} - -VkPresentModeKHR HelloTriangleApplication::chooseSwapPresentMode(const std::vector& availablePresentModes) { - for (const auto& availablePresentMode : availablePresentModes) { - if (availablePresentMode == VK_PRESENT_MODE_MAILBOX_KHR) { - return availablePresentMode; - } - } - - return VK_PRESENT_MODE_FIFO_KHR; -} - -VkExtent2D HelloTriangleApplication::chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) { - if (capabilities.currentExtent.width != std::numeric_limits::max()) { - return capabilities.currentExtent; - } else { - int width, height; -// glfwGetFramebufferSize(_window, &width, &height); - - VkExtent2D actualExtent = { - static_cast(width), - static_cast(height) - }; - - actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); - actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); - - return actualExtent; - } -} - -void HelloTriangleApplication::createImageViews() { - _swapChainImageViews.resize(_swapChainImages.size()); - for (size_t i = 0; i < _swapChainImages.size(); i++) { - VkImageViewCreateInfo createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; - createInfo.image = _swapChainImages[i]; - createInfo.viewType = VK_IMAGE_VIEW_TYPE_2D; - createInfo.format = _swapChainImageFormat; - createInfo.components.r = VK_COMPONENT_SWIZZLE_IDENTITY; - createInfo.components.g = VK_COMPONENT_SWIZZLE_IDENTITY; - createInfo.components.b = VK_COMPONENT_SWIZZLE_IDENTITY; - createInfo.components.a = VK_COMPONENT_SWIZZLE_IDENTITY; - createInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - createInfo.subresourceRange.baseMipLevel = 0; - createInfo.subresourceRange.levelCount = 1; - createInfo.subresourceRange.baseArrayLayer = 0; - createInfo.subresourceRange.layerCount = 1; - - if (vkCreateImageView(_device, &createInfo, nullptr, &_swapChainImageViews[i]) != VK_SUCCESS) { - throw std::runtime_error("failed to create image views!"); - } - } -} - -void HelloTriangleApplication::createRenderPass() { - VkAttachmentDescription colorAttachment{}; - colorAttachment.format = _swapChainImageFormat; - colorAttachment.samples = VK_SAMPLE_COUNT_1_BIT; - colorAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; - colorAttachment.storeOp = VK_ATTACHMENT_STORE_OP_STORE; - colorAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; - colorAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; - colorAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; - colorAttachment.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; - - VkAttachmentReference colorAttachmentRef{}; - colorAttachmentRef.attachment = 0; - colorAttachmentRef.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; - - VkSubpassDescription subpass{}; - subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; - subpass.colorAttachmentCount = 1; - subpass.pColorAttachments = &colorAttachmentRef; - - VkRenderPassCreateInfo renderPassInfo{}; - renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; - renderPassInfo.attachmentCount = 1; - renderPassInfo.pAttachments = &colorAttachment; - renderPassInfo.subpassCount = 1; - renderPassInfo.pSubpasses = &subpass; - - VkSubpassDependency dependency{}; - dependency.srcSubpass = VK_SUBPASS_EXTERNAL; - dependency.dstSubpass = 0; - dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; - dependency.srcAccessMask = 0; - dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; - dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; - - renderPassInfo.dependencyCount = 1; - renderPassInfo.pDependencies = &dependency; - - if (vkCreateRenderPass(_device, &renderPassInfo, nullptr, &_renderPass) != VK_SUCCESS) { - throw std::runtime_error("failed to create render pass!"); - } -} - -void HelloTriangleApplication::createDescriptorSetLayout() { - VkDescriptorSetLayoutBinding uboLayoutBinding{}; - uboLayoutBinding.binding = 0; - uboLayoutBinding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; - uboLayoutBinding.descriptorCount = 1; - uboLayoutBinding.stageFlags = VK_SHADER_STAGE_VERTEX_BIT; - uboLayoutBinding.pImmutableSamplers = nullptr; // Optional - - VkDescriptorSetLayoutCreateInfo layoutInfo{}; - layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; - layoutInfo.bindingCount = 1; - layoutInfo.pBindings = &uboLayoutBinding; - - if (vkCreateDescriptorSetLayout(_device, &layoutInfo, nullptr, &_descriptorSetLayout) != VK_SUCCESS) { - throw std::runtime_error("failed to create descriptor set layout!"); - } -} - -void HelloTriangleApplication::createGraphicsPipeline() { - auto vertShaderCode = readFile("shaders/vert.spv"); - auto fragShaderCode = readFile("shaders/frag.spv"); - - VkShaderModule vertShaderModule = createShaderModule(vertShaderCode); - VkShaderModule fragShaderModule = createShaderModule(fragShaderCode); - - VkPipelineShaderStageCreateInfo vertShaderStageInfo{}; - vertShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; - vertShaderStageInfo.stage = VK_SHADER_STAGE_VERTEX_BIT; - vertShaderStageInfo.module = vertShaderModule; - vertShaderStageInfo.pName = "main"; - - VkPipelineShaderStageCreateInfo fragShaderStageInfo{}; - fragShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; - fragShaderStageInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; - fragShaderStageInfo.module = fragShaderModule; - fragShaderStageInfo.pName = "main"; - - VkPipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo, fragShaderStageInfo}; - - VkPipelineVertexInputStateCreateInfo vertexInputInfo{}; - vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; - - auto bindingDescription = Vertex::getBindingDescription(); - auto attributeDescriptions = Vertex::getAttributeDescriptions(); - - vertexInputInfo.vertexBindingDescriptionCount = 1; - vertexInputInfo.pVertexBindingDescriptions = &bindingDescription; - vertexInputInfo.vertexAttributeDescriptionCount = static_cast(attributeDescriptions.size()); - vertexInputInfo.pVertexAttributeDescriptions = attributeDescriptions.data(); - - VkPipelineInputAssemblyStateCreateInfo inputAssembly{}; - inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; - inputAssembly.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; - inputAssembly.primitiveRestartEnable = VK_FALSE; - - std::vector dynamicStates = { - VK_DYNAMIC_STATE_VIEWPORT, - VK_DYNAMIC_STATE_SCISSOR - }; - - VkPipelineDynamicStateCreateInfo dynamicState{}; - dynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; - dynamicState.dynamicStateCount = static_cast(dynamicStates.size()); - dynamicState.pDynamicStates = dynamicStates.data(); - - VkPipelineViewportStateCreateInfo viewportState{}; - viewportState.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; - viewportState.viewportCount = 1; - viewportState.scissorCount = 1; - - VkPipelineRasterizationStateCreateInfo rasterizer{}; - rasterizer.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; - rasterizer.depthClampEnable = VK_FALSE; - rasterizer.rasterizerDiscardEnable = VK_FALSE; - rasterizer.polygonMode = VK_POLYGON_MODE_FILL; - rasterizer.lineWidth = 1.0f; - rasterizer.cullMode = VK_CULL_MODE_BACK_BIT; - rasterizer.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE; - rasterizer.depthBiasEnable = VK_FALSE; - rasterizer.depthBiasConstantFactor = 0.0f; // Optional - rasterizer.depthBiasClamp = 0.0f; // Optional - rasterizer.depthBiasSlopeFactor = 0.0f; // Optional - - VkPipelineMultisampleStateCreateInfo multisampling{}; - multisampling.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; - multisampling.sampleShadingEnable = VK_FALSE; - multisampling.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT; - multisampling.minSampleShading = 1.0f; // Optional - multisampling.pSampleMask = nullptr; // Optional - multisampling.alphaToCoverageEnable = VK_FALSE; // Optional - multisampling.alphaToOneEnable = VK_FALSE; // Optional - - VkPipelineColorBlendAttachmentState colorBlendAttachment{}; - colorBlendAttachment.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; - colorBlendAttachment.blendEnable = VK_FALSE; - colorBlendAttachment.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; // Optional - colorBlendAttachment.dstColorBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional - colorBlendAttachment.colorBlendOp = VK_BLEND_OP_ADD; // Optional - colorBlendAttachment.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE; // Optional - colorBlendAttachment.dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional - colorBlendAttachment.alphaBlendOp = VK_BLEND_OP_ADD; // Optional - - VkPipelineColorBlendStateCreateInfo colorBlending{}; - colorBlending.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; - colorBlending.logicOpEnable = VK_FALSE; - colorBlending.logicOp = VK_LOGIC_OP_COPY; // Optional - colorBlending.attachmentCount = 1; - colorBlending.pAttachments = &colorBlendAttachment; - colorBlending.blendConstants[0] = 0.0f; // Optional - colorBlending.blendConstants[1] = 0.0f; // Optional - colorBlending.blendConstants[2] = 0.0f; // Optional - colorBlending.blendConstants[3] = 0.0f; // Optional - - VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; - pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; - pipelineLayoutInfo.setLayoutCount = 1; - pipelineLayoutInfo.pSetLayouts = &_descriptorSetLayout; - pipelineLayoutInfo.pushConstantRangeCount = 0; // Optional - pipelineLayoutInfo.pPushConstantRanges = nullptr; // Optional - - if (vkCreatePipelineLayout(_device, &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS) { - throw std::runtime_error("failed to create pipeline layout!"); - } - - VkGraphicsPipelineCreateInfo pipelineInfo{}; - pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; - pipelineInfo.stageCount = 2; - pipelineInfo.pStages = shaderStages; - pipelineInfo.pVertexInputState = &vertexInputInfo; - pipelineInfo.pInputAssemblyState = &inputAssembly; - pipelineInfo.pViewportState = &viewportState; - pipelineInfo.pRasterizationState = &rasterizer; - pipelineInfo.pMultisampleState = &multisampling; - pipelineInfo.pDepthStencilState = nullptr; // Optional - pipelineInfo.pColorBlendState = &colorBlending; - pipelineInfo.pDynamicState = &dynamicState; - pipelineInfo.layout = _pipelineLayout; - pipelineInfo.renderPass = _renderPass; - pipelineInfo.subpass = 0; - pipelineInfo.basePipelineHandle = VK_NULL_HANDLE; // Optional - pipelineInfo.basePipelineIndex = -1; // Optional - - if (vkCreateGraphicsPipelines(_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_graphicsPipeline) != VK_SUCCESS) { - throw std::runtime_error("failed to create graphics pipeline!"); - } - - vkDestroyShaderModule(_device, fragShaderModule, nullptr); - vkDestroyShaderModule(_device, vertShaderModule, nullptr); -} - -VkShaderModule HelloTriangleApplication::createShaderModule(const std::vector& code) -{ - VkShaderModuleCreateInfo createInfo{}; - createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; - createInfo.codeSize = code.size(); - createInfo.pCode = reinterpret_cast(code.data()); - - VkShaderModule shaderModule; - if (vkCreateShaderModule(_device, &createInfo, nullptr, &shaderModule) != VK_SUCCESS) { - throw std::runtime_error("failed to create shader module!"); - } - - return shaderModule; -} - -void HelloTriangleApplication::createFramebuffers() { - _swapChainFramebuffers.resize(_swapChainImageViews.size()); - - for (size_t i = 0; i < _swapChainImageViews.size(); i++) { - VkImageView attachments[] = { - _swapChainImageViews[i] - }; - - VkFramebufferCreateInfo framebufferInfo{}; - framebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; - framebufferInfo.renderPass = _renderPass; - framebufferInfo.attachmentCount = 1; - framebufferInfo.pAttachments = attachments; - framebufferInfo.width = _swapChainExtent.width; - framebufferInfo.height = _swapChainExtent.height; - framebufferInfo.layers = 1; - - if (vkCreateFramebuffer(_device, &framebufferInfo, nullptr, &_swapChainFramebuffers[i]) != VK_SUCCESS) { - throw std::runtime_error("failed to create framebuffer!"); - } - } -} - -void HelloTriangleApplication::createCommandPool() { - QueueFamilyIndices queueFamilyIndices = findQueueFamilies(_physicalDevice); - - VkCommandPoolCreateInfo poolInfo{}; - poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; - poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; - poolInfo.queueFamilyIndex = queueFamilyIndices.graphicsFamily.value(); - - if (vkCreateCommandPool(_device, &poolInfo, nullptr, &_commandPool) != VK_SUCCESS) { - throw std::runtime_error("failed to create command pool!"); - } -} - -void HelloTriangleApplication::createVertexBuffer() -{ - VkDeviceSize bufferSize = sizeof(vertices[0]) * vertices.size(); - - VkBuffer stagingBuffer; - VkDeviceMemory stagingBufferMemory; - createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT - , stagingBuffer, stagingBufferMemory); - - void* data; - vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); - memcpy(data, vertices.data(), reinterpret_cast(bufferSize)); - vkUnmapMemory(_device, stagingBufferMemory); - - createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - , _vertexBuffer, _vertexBufferMemory); - - copyBuffer(stagingBuffer, _vertexBuffer, bufferSize); - - vkDestroyBuffer(_device, stagingBuffer, nullptr); - vkFreeMemory(_device, stagingBufferMemory, nullptr); -} - -void HelloTriangleApplication::createIndexBuffer() { - VkDeviceSize bufferSize = sizeof(indices[0]) * indices.size(); - - VkBuffer stagingBuffer; - VkDeviceMemory stagingBufferMemory; - createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT - , stagingBuffer, stagingBufferMemory); - - void* data; - vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); - memcpy(data, indices.data(), reinterpret_cast(bufferSize)); - vkUnmapMemory(_device, stagingBufferMemory); - - createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT - , _indexBuffer, _indexBufferMemory); - - copyBuffer(stagingBuffer, _indexBuffer, bufferSize); - - vkDestroyBuffer(_device, stagingBuffer, nullptr); - vkFreeMemory(_device, stagingBufferMemory, nullptr); -} - -void HelloTriangleApplication::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties - , VkBuffer& buffer, VkDeviceMemory& bufferMemory) -{ - VkBufferCreateInfo bufferInfo{}; - bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; - bufferInfo.size = size; - bufferInfo.usage = usage; - bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; - - if (vkCreateBuffer(_device, &bufferInfo, nullptr, &buffer) != VK_SUCCESS) { - throw std::runtime_error("failed to create vertex buffer!"); - } - - VkMemoryRequirements memRequirements; - vkGetBufferMemoryRequirements(_device, buffer, &memRequirements); - - VkMemoryAllocateInfo allocInfo{}; - allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; - allocInfo.allocationSize = memRequirements.size; - allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); - - if (vkAllocateMemory(_device, &allocInfo, nullptr, &bufferMemory) != VK_SUCCESS) { - throw std::runtime_error("failed to allocate vertex buffer memory!"); - } - - vkBindBufferMemory(_device, buffer, bufferMemory, 0); -} - -void HelloTriangleApplication::copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) -{ - VkCommandBufferAllocateInfo allocInfo{}; - allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; - allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; - allocInfo.commandPool = _commandPool; - allocInfo.commandBufferCount = 1; - - VkCommandBuffer commandBuffer; - vkAllocateCommandBuffers(_device, &allocInfo, &commandBuffer); - - VkCommandBufferBeginInfo beginInfo{}; - beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; - beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; - - vkBeginCommandBuffer(commandBuffer, &beginInfo); - - VkBufferCopy copyRegion{}; - copyRegion.srcOffset = 0; // Optional - copyRegion.dstOffset = 0; // Optional - copyRegion.size = size; - vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, 1, ©Region); - - vkEndCommandBuffer(commandBuffer); - - VkSubmitInfo submitInfo{}; - submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; - submitInfo.commandBufferCount = 1; - submitInfo.pCommandBuffers = &commandBuffer; - - vkQueueSubmit(_graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE); - vkQueueWaitIdle(_graphicsQueue); - - vkFreeCommandBuffers(_device, _commandPool, 1, &commandBuffer); -} - -uint32_t HelloTriangleApplication::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) { - VkPhysicalDeviceMemoryProperties memProperties; - vkGetPhysicalDeviceMemoryProperties(_physicalDevice, &memProperties); - - for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) { - if ((typeFilter & (1 << i)) && (memProperties.memoryTypes[i].propertyFlags & properties) == properties) { - return i; - } - } - - throw std::runtime_error("failed to find suitable memory type!"); -} - -void HelloTriangleApplication::createUniformBuffers() { - VkDeviceSize bufferSize = sizeof(UniformBufferObject); - - _uniformBuffers.resize(MAX_FRAMES_IN_FLIGHT); - _uniformBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT); - _uniformBuffersMapped.resize(MAX_FRAMES_IN_FLIGHT); - - for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { - createBuffer(bufferSize, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT - , _uniformBuffers[i], _uniformBuffersMemory[i]); - - vkMapMemory(_device, _uniformBuffersMemory[i], 0, bufferSize, 0, &_uniformBuffersMapped[i]); - } -} - -void HelloTriangleApplication::createDescriptorPool() { - VkDescriptorPoolSize poolSize{}; - poolSize.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; - poolSize.descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); - - VkDescriptorPoolCreateInfo poolInfo{}; - poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; - poolInfo.poolSizeCount = 1; - poolInfo.pPoolSizes = &poolSize; - poolInfo.maxSets = static_cast(MAX_FRAMES_IN_FLIGHT); - - if (vkCreateDescriptorPool(_device, &poolInfo, nullptr, &_descriptorPool) != VK_SUCCESS) { - throw std::runtime_error("failed to create descriptor pool!"); - } -} - -void HelloTriangleApplication::createDescriptorSets() -{ - std::vector layouts(MAX_FRAMES_IN_FLIGHT, _descriptorSetLayout); - VkDescriptorSetAllocateInfo allocInfo{}; - allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; - allocInfo.descriptorPool = _descriptorPool; - allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); - allocInfo.pSetLayouts = layouts.data(); - - descriptorSets.resize(MAX_FRAMES_IN_FLIGHT); - if (vkAllocateDescriptorSets(_device, &allocInfo, descriptorSets.data()) != VK_SUCCESS) { - throw std::runtime_error("failed to allocate descriptor sets!"); - } - - for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { - VkDescriptorBufferInfo bufferInfo{}; - bufferInfo.buffer = _uniformBuffers[i]; - bufferInfo.offset = 0; - bufferInfo.range = sizeof(UniformBufferObject); - - VkWriteDescriptorSet descriptorWrite{}; - descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; - descriptorWrite.dstSet = descriptorSets[i]; - descriptorWrite.dstBinding = 0; - descriptorWrite.dstArrayElement = 0; - descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; - descriptorWrite.descriptorCount = 1; - descriptorWrite.pBufferInfo = &bufferInfo; - descriptorWrite.pImageInfo = nullptr; // Optional - descriptorWrite.pTexelBufferView = nullptr; // Optional - - vkUpdateDescriptorSets(_device, 1, &descriptorWrite, 0, nullptr); - } -} - -void HelloTriangleApplication::createCommandBuffer() { - _commandBuffers.resize(MAX_FRAMES_IN_FLIGHT); - - VkCommandBufferAllocateInfo allocInfo{}; - allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; - allocInfo.commandPool = _commandPool; - allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; - allocInfo.commandBufferCount = static_cast(_commandBuffers.size()); - - if (vkAllocateCommandBuffers(_device, &allocInfo, _commandBuffers.data()) != VK_SUCCESS) { - throw std::runtime_error("failed to allocate command buffers!"); - } -} - -void HelloTriangleApplication::recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex) { - VkCommandBufferBeginInfo beginInfo{}; - beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; - beginInfo.flags = 0; // Optional - beginInfo.pInheritanceInfo = nullptr; // Optional - - if (vkBeginCommandBuffer(commandBuffer, &beginInfo) != VK_SUCCESS) { - throw std::runtime_error("failed to begin recording command buffer!"); - } - - VkRenderPassBeginInfo renderPassInfo{}; - renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; - renderPassInfo.renderPass = _renderPass; - renderPassInfo.framebuffer = _swapChainFramebuffers[imageIndex]; - renderPassInfo.renderArea.offset = {0, 0}; - renderPassInfo.renderArea.extent = _swapChainExtent; - - VkClearValue clearColor = {{{0.0f, 0.0f, 0.0f, 1.0f}}}; - renderPassInfo.clearValueCount = 1; - renderPassInfo.pClearValues = &clearColor; - - vkCmdBeginRenderPass(commandBuffer, &renderPassInfo, VK_SUBPASS_CONTENTS_INLINE); - - vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _graphicsPipeline); - - VkViewport viewport{}; - viewport.x = 0.0f; - viewport.y = 0.0f; - viewport.width = static_cast(_swapChainExtent.width); - viewport.height = static_cast(_swapChainExtent.height); - viewport.minDepth = 0.0f; - viewport.maxDepth = 1.0f; - vkCmdSetViewport(commandBuffer, 0, 1, &viewport); - - VkRect2D scissor{}; - scissor.offset = {0, 0}; - scissor.extent = _swapChainExtent; - vkCmdSetScissor(commandBuffer, 0, 1, &scissor); - - VkBuffer vertexBuffers[] = {_vertexBuffer}; - VkDeviceSize offsets[] = {0}; - vkCmdBindVertexBuffers(commandBuffer, 0, 1, vertexBuffers, offsets); - - vkCmdBindIndexBuffer(commandBuffer, _indexBuffer, 0, VK_INDEX_TYPE_UINT16); - - vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _pipelineLayout, 0, 1, &descriptorSets[currentFrame], 0, nullptr); - vkCmdDrawIndexed(commandBuffer, static_cast(indices.size()), 1, 0, 0, 0); - - vkCmdDrawIndexed(commandBuffer, static_cast(indices.size()), 1, 0, 0, 0); - - vkCmdEndRenderPass(commandBuffer); - - if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { - throw std::runtime_error("failed to record command buffer!"); - } -} - -void HelloTriangleApplication::createSyncObjects() { - _imageAvailableSemaphores.resize(MAX_FRAMES_IN_FLIGHT); - _renderFinishedSemaphores.resize(MAX_FRAMES_IN_FLIGHT); - _inFlightFences.resize(MAX_FRAMES_IN_FLIGHT); - - VkSemaphoreCreateInfo semaphoreInfo{}; - semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; - - VkFenceCreateInfo fenceInfo{}; - fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; - fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT; - - for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) - { - if (vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_imageAvailableSemaphores[i]) != VK_SUCCESS || - vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_renderFinishedSemaphores[i]) != VK_SUCCESS || - vkCreateFence(_device, &fenceInfo, nullptr, &_inFlightFences[i]) != VK_SUCCESS) { - throw std::runtime_error("failed to create synchronization objects for a frame!"); - } - } -} - - - -void HelloTriangleApplication::mainLoop() -{ -// while (!glfwWindowShouldClose(_window)) { -// glfwPollEvents(); -// drawFrame(); -// } - - vkDeviceWaitIdle(_device); -} - -void HelloTriangleApplication::drawFrame(){ - vkWaitForFences(_device, 1, &_inFlightFences[currentFrame], VK_TRUE, UINT64_MAX); - - uint32_t imageIndex; - VkResult result = vkAcquireNextImageKHR(_device, _swapChain, UINT64_MAX, _imageAvailableSemaphores[currentFrame], VK_NULL_HANDLE, &imageIndex); - - if (result == VK_ERROR_OUT_OF_DATE_KHR) { - recreateSwapChain(); - return; - } else if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR) { - throw std::runtime_error("failed to acquire swap chain image!"); - } - - updateUniformBuffer(currentFrame); - - vkResetFences(_device, 1, &_inFlightFences[currentFrame]); - - vkResetCommandBuffer(_commandBuffers[currentFrame], 0); - - recordCommandBuffer(_commandBuffers[currentFrame], imageIndex); - - VkSubmitInfo submitInfo{}; - submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; - - VkSemaphore waitSemaphores[] = {_imageAvailableSemaphores[currentFrame]}; - VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; - submitInfo.waitSemaphoreCount = 1; - submitInfo.pWaitSemaphores = waitSemaphores; - submitInfo.pWaitDstStageMask = waitStages; - submitInfo.commandBufferCount = 1; - submitInfo.pCommandBuffers = &_commandBuffers[currentFrame]; - VkSemaphore signalSemaphores[] = {_renderFinishedSemaphores[currentFrame]}; - submitInfo.signalSemaphoreCount = 1; - submitInfo.pSignalSemaphores = signalSemaphores; - - if (vkQueueSubmit(_graphicsQueue, 1, &submitInfo, _inFlightFences[currentFrame]) != VK_SUCCESS) { - throw std::runtime_error("failed to submit draw command buffer!"); - } - - VkPresentInfoKHR presentInfo{}; - presentInfo.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; - - presentInfo.waitSemaphoreCount = 1; - presentInfo.pWaitSemaphores = signalSemaphores; - - VkSwapchainKHR swapChains[] = {_swapChain}; - presentInfo.swapchainCount = 1; - presentInfo.pSwapchains = swapChains; - presentInfo.pImageIndices = &imageIndex; - - presentInfo.pResults = nullptr; // Optional - - vkQueuePresentKHR(_presentQueue, &presentInfo); - - if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || framebufferResized) - { - framebufferResized = false; - recreateSwapChain(); - } else if (result != VK_SUCCESS) { - throw std::runtime_error("failed to present swap chain image!"); - } - - currentFrame = (currentFrame + 1) % MAX_FRAMES_IN_FLIGHT; -} - -void HelloTriangleApplication::updateUniformBuffer(uint32_t currentImage) { - static auto startTime = std::chrono::high_resolution_clock::now(); - - auto currentTime = std::chrono::high_resolution_clock::now(); - float time = std::chrono::duration(currentTime - startTime).count(); - - UniformBufferObject ubo{}; - ubo.model = glm::rotate(glm::mat4(1.0f), time * glm::radians(90.0f), glm::vec3(0.0f, 0.0f, 1.0f)); - ubo.view = glm::lookAt(glm::vec3(2.0f, 2.0f, 2.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 1.0f)); - ubo.proj = glm::perspective(glm::radians(45.0f), _swapChainExtent.width / static_cast(_swapChainExtent.height), 0.1f, 10.0f); - ubo.proj[1][1] *= -1; - - memcpy(_uniformBuffersMapped[currentImage], &ubo, sizeof(ubo)); -} - -void HelloTriangleApplication::recreateSwapChain() { - int width = 0, height = 0; -// glfwGetFramebufferSize(_window, &width, &height); - while (width == 0 || height == 0) { -// glfwGetFramebufferSize(_window, &width, &height); -// glfwWaitEvents(); - } - - vkDeviceWaitIdle(_device); - - cleanupSwapChain(); - - createSwapChain(); - createImageViews(); - createFramebuffers(); -} - - - -void HelloTriangleApplication::cleanupSwapChain() { - for (auto framebuffer : _swapChainFramebuffers) { - vkDestroyFramebuffer(_device, framebuffer, nullptr); - } - - for (auto imageView : _swapChainImageViews) { - vkDestroyImageView(_device, imageView, nullptr); - } - - vkDestroySwapchainKHR(_device, _swapChain, nullptr); -} - -void HelloTriangleApplication::cleanup() -{ - cleanupSwapChain(); - - vkDestroyDescriptorPool(_device, _descriptorPool, nullptr); - - vkDestroyDescriptorSetLayout(_device, _descriptorSetLayout, nullptr); - - for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { - vkDestroyBuffer(_device, _uniformBuffers[i], nullptr); - vkFreeMemory(_device, _uniformBuffersMemory[i], nullptr); - } - - vkDestroyBuffer(_device, _indexBuffer, nullptr); - vkFreeMemory(_device, _indexBufferMemory, nullptr); - - vkDestroyBuffer(_device, _vertexBuffer, nullptr); - vkFreeMemory(_device, _vertexBufferMemory, nullptr); - - for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { - vkDestroySemaphore(_device, _renderFinishedSemaphores[i], nullptr); - vkDestroySemaphore(_device, _imageAvailableSemaphores[i], nullptr); - vkDestroyFence(_device, _inFlightFences[i], nullptr); - } - - vkDestroyCommandPool(_device, _commandPool, nullptr); - - vkDestroyPipeline(_device, _graphicsPipeline, nullptr); - vkDestroyPipelineLayout(_device, _pipelineLayout, nullptr); - vkDestroyRenderPass(_device, _renderPass, nullptr); - - vkDestroyDevice(_device, nullptr); - - vkDestroySurfaceKHR(_instance, _surface, nullptr); - - if (enableValidationLayers) { - DestroyDebugUtilsMessengerEXT(_instance, _debugMessenger, nullptr); - } - - vkDestroyInstance(_instance, nullptr); - -// glfwDestroyWindow(_window); - -// glfwTerminate(); -} diff --git a/HelloTriangleApplication.h b/HelloTriangleApplication.h deleted file mode 100644 index 05c79b0..0000000 --- a/HelloTriangleApplication.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef HELLOTRIANGLEAPPLICATION_H -#define HELLOTRIANGLEAPPLICATION_H - -#ifdef NDEBUG - const bool enableValidationLayers = false; -#else - const bool enableValidationLayers = true; -#endif - -#include - -//#define VK_USE_PLATFORM_ -//#define GLFW_INCLUDE_VULKAN -//#include -//#define GLFW_EXPOSE_NATIVE_ -//#include - -#define GLM_FORCE_RADIANS -#define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES -#include -#include - -#include - -#include -#include -#include -#include -#include // Necessary for uint32_t -#include // Necessary for std::numeric_limits -#include // Necessary for std::clamp -#include -#include - -#ifdef Q_OS_ANDROID - const QString TARGET_PLATFORM = "Android"; -#else - const QString TARGET_PLATFORM = "Linux"; -#endif - -const int MAX_FRAMES_IN_FLIGHT = 2; - -struct QueueFamilyIndices { - std::optional graphicsFamily; - std::optional presentFamily; - - bool isComplete() { - return graphicsFamily.has_value() && presentFamily.has_value(); - } -}; - -struct SwapChainSupportDetails { - VkSurfaceCapabilitiesKHR capabilities; - std::vector formats; - std::vector presentModes; -}; - -struct Vertex { - alignas(16) glm::vec2 pos; - alignas(16) glm::vec3 color; - - static VkVertexInputBindingDescription getBindingDescription() { - VkVertexInputBindingDescription bindingDescription{}; - bindingDescription.binding = 0; - bindingDescription.stride = sizeof(Vertex); - bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; - - return bindingDescription; - } - - static std::array getAttributeDescriptions() { - std::array attributeDescriptions{}; - - attributeDescriptions[0].binding = 0; - attributeDescriptions[0].location = 0; - attributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; - attributeDescriptions[0].offset = offsetof(Vertex, pos); - - attributeDescriptions[1].binding = 0; - attributeDescriptions[1].location = 1; - attributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT; - attributeDescriptions[1].offset = offsetof(Vertex, color); - - return attributeDescriptions; - } -}; - -struct UniformBufferObject { - alignas(16) glm::mat4 model; - alignas(16) glm::mat4 view; - alignas(16) glm::mat4 proj; -}; - -class HelloTriangleApplication -{ -public: - HelloTriangleApplication(); - void run(); - - // Message Callback - static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT /*messageSeverity*/, - VkDebugUtilsMessageTypeFlagsEXT /*messageType*/,const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,void* /*pUserData*/) { - - std::cerr << "validation layer: " << pCallbackData->pMessage << std::endl; - - return VK_FALSE; - } - static std::vector readFile(const std::string& filename); - -// static void framebufferResizeCallback(GLFWwindow* window, int width, int height); - static void framebufferResizeCallback(QQuickWindow* window, int width, int height); - -private: - void initWindow(); - void initVulkan(); - void mainLoop(); - void cleanup(); - void createInstance(); - - // Enable Validation Layers - bool checkValidationLayerSupport(); - - // Message Callback - std::vector getRequiredExtensions(); - void setupDebugMessenger(); - void populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT& createInfo); - - void pickPhysicalDevice(); - bool isDeviceSuitable(VkPhysicalDevice device); - - void createLogicalDevice(); - QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device); - - void createSurface(); - - bool checkDeviceExtensionSupport(VkPhysicalDevice device); - SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device); - VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats); - VkPresentModeKHR chooseSwapPresentMode(const std::vector& availablePresentModes); - VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities); - void createSwapChain(); - - void createImageViews(); - - void createGraphicsPipeline(); - VkShaderModule createShaderModule(const std::vector& code); - void createRenderPass(); - - void createFramebuffers(); - void createCommandPool(); - void createCommandBuffer(); - void recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex); - - void drawFrame(); - void createSyncObjects(); - - void recreateSwapChain(); - void cleanupSwapChain(); - - void createVertexBuffer(); - uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties); - void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory); - void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size); - void createIndexBuffer(); - - void createDescriptorSetLayout(); - void createUniformBuffers(); - void updateUniformBuffer(uint32_t currentImage); - void createDescriptorPool(); - void createDescriptorSets(); - - const int32_t WIDTH = 800; - const int32_t HEIGHT = 600; - const std::vector validationLayers = { - "VK_LAYER_KHRONOS_validation" - }; - const std::vector deviceExtensions = { - VK_KHR_SWAPCHAIN_EXTENSION_NAME - }; - const std::vector vertices = { - {{-0.5f, -0.5f}, {1.0f, 0.0f, 0.0f}}, - {{0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}}, - {{0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}}, - {{-0.5f, 0.5f}, {1.0f, 1.0f, 1.0f}} - }; - const std::vector indices = { - 0, 1, 2, 2, 3, 0 - }; - - uint32_t currentFrame = 0; - bool framebufferResized = false; - -// GLFWwindow *_window; - QQuickWindow* _window; - VkInstance _instance; - VkDebugUtilsMessengerEXT _debugMessenger; - VkPhysicalDevice _physicalDevice; - VkDevice _device; - VkQueue _graphicsQueue; - VkSurfaceKHR _surface; - VkQueue _presentQueue; - VkSwapchainKHR _swapChain; - std::vector _swapChainImages; - VkFormat _swapChainImageFormat; - VkExtent2D _swapChainExtent; - std::vector _swapChainImageViews; - VkRenderPass _renderPass; - VkDescriptorSetLayout _descriptorSetLayout; - VkPipelineLayout _pipelineLayout; - VkPipeline _graphicsPipeline; - std::vector _swapChainFramebuffers; - VkCommandPool _commandPool; - std::vector _commandBuffers; - std::vector _imageAvailableSemaphores; - std::vector _renderFinishedSemaphores; - std::vector _inFlightFences; - VkBuffer _vertexBuffer; - VkDeviceMemory _vertexBufferMemory; - VkBuffer _indexBuffer; - VkDeviceMemory _indexBufferMemory; - - std::vector _uniformBuffers; - std::vector _uniformBuffersMemory; - std::vector _uniformBuffersMapped; - VkDescriptorPool _descriptorPool; - std::vector descriptorSets; -}; - -#endif // HELLOTRIANGLEAPPLICATION_H diff --git a/VkDescriptors.cpp b/VkGuide1.3/VkDescriptors.cpp similarity index 100% rename from VkDescriptors.cpp rename to VkGuide1.3/VkDescriptors.cpp diff --git a/VkDescriptors.h b/VkGuide1.3/VkDescriptors.h similarity index 100% rename from VkDescriptors.h rename to VkGuide1.3/VkDescriptors.h diff --git a/VkEngine.cpp b/VkGuide1.3/VkEngine.cpp similarity index 100% rename from VkEngine.cpp rename to VkGuide1.3/VkEngine.cpp diff --git a/VkEngine.h b/VkGuide1.3/VkEngine.h similarity index 100% rename from VkEngine.h rename to VkGuide1.3/VkEngine.h diff --git a/VkImages.cpp b/VkGuide1.3/VkImages.cpp similarity index 100% rename from VkImages.cpp rename to VkGuide1.3/VkImages.cpp diff --git a/VkImages.h b/VkGuide1.3/VkImages.h similarity index 100% rename from VkImages.h rename to VkGuide1.3/VkImages.h diff --git a/VkInitializers.cpp b/VkGuide1.3/VkInitializers.cpp similarity index 100% rename from VkInitializers.cpp rename to VkGuide1.3/VkInitializers.cpp diff --git a/VkInitializers.h b/VkGuide1.3/VkInitializers.h similarity index 100% rename from VkInitializers.h rename to VkGuide1.3/VkInitializers.h diff --git a/VkLoader.cpp b/VkGuide1.3/VkLoader.cpp similarity index 100% rename from VkLoader.cpp rename to VkGuide1.3/VkLoader.cpp diff --git a/VkLoader.h b/VkGuide1.3/VkLoader.h similarity index 100% rename from VkLoader.h rename to VkGuide1.3/VkLoader.h diff --git a/VkMain.cpp b/VkGuide1.3/VkMain.cpp similarity index 100% rename from VkMain.cpp rename to VkGuide1.3/VkMain.cpp diff --git a/VkMain.h b/VkGuide1.3/VkMain.h similarity index 100% rename from VkMain.h rename to VkGuide1.3/VkMain.h diff --git a/VkPipelines.cpp b/VkGuide1.3/VkPipelines.cpp similarity index 100% rename from VkPipelines.cpp rename to VkGuide1.3/VkPipelines.cpp diff --git a/VkPipelines.h b/VkGuide1.3/VkPipelines.h similarity index 100% rename from VkPipelines.h rename to VkGuide1.3/VkPipelines.h diff --git a/VkGuide1.3/VkTest.pro.user b/VkGuide1.3/VkTest.pro.user new file mode 100644 index 0000000..d192373 --- /dev/null +++ b/VkGuide1.3/VkTest.pro.user @@ -0,0 +1,652 @@ + + + + + + EnvironmentId + {9e9cdaa4-317b-4f62-9b8d-2ca42fb59b56} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + false + {afe80e93-8983-4e43-ba75-d87634bcd04b} + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.13.2 GCC 64bit + Desktop Qt 5.13.2 GCC 64bit + qt.qt5.5132.gcc_64_kit + 0 + 0 + 0 + + /home/ali-mehrabani/Qt_projects/build-VkTest-Desktop_Qt_5_13_2_GCC_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /home/ali-mehrabani/Qt_projects/build-VkTest-Desktop_Qt_5_13_2_GCC_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /home/ali-mehrabani/Qt_projects/build-VkTest-Desktop_Qt_5_13_2_GCC_64bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + VkTest + + Qt4ProjectManager.Qt4RunConfiguration:/home/ali-mehrabani/Qt_projects/VkTest/VkTest.pro + + 3768 + false + true + true + false + false + true + + /home/ali-mehrabani/Qt_projects/build-VkTest-Desktop_Qt_5_13_2_GCC_64bit-Debug + + 1 + + + + ProjectExplorer.Project.Target.1 + + Android for arm64-v8a (Clang Qt 5.13.2 for Android ARM64-v8a) + Android for arm64-v8a (Clang Qt 5.13.2 for Android ARM64-v8a) + {81fbc123-4ee0-45a6-968a-bd5314a00c8f} + 0 + 0 + 0 + + /home/ali-mehrabani/Qt_projects/build-VkTest-Android_for_arm64_v8a_Clang_Qt_5_13_2_for_Android_ARM64_v8a-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + + true + Copy application data + + Qt4ProjectManager.AndroidPackageInstallationStep + + + android-29 + + true + Build Android APK + + QmakeProjectManager.AndroidBuildApkStep + false + false + + 4 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /home/ali-mehrabani/Qt_projects/build-VkTest-Android_for_arm64_v8a_Clang_Qt_5_13_2_for_Android_ARM64_v8a-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + + true + Copy application data + + Qt4ProjectManager.AndroidPackageInstallationStep + + + android-30 + + true + Build Android APK + + QmakeProjectManager.AndroidBuildApkStep + false + false + + 4 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /home/ali-mehrabani/Qt_projects/build-VkTest-Android_for_arm64_v8a_Clang_Qt_5_13_2_for_Android_ARM64_v8a-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + + true + Copy application data + + Qt4ProjectManager.AndroidPackageInstallationStep + + + android-30 + + true + Build Android APK + + QmakeProjectManager.AndroidBuildApkStep + false + false + + 4 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + + true + Deploy to Android device + + Qt4ProjectManager.AndroidDeployQtStep + false + + 1 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy to Android device + + Qt4ProjectManager.AndroidDeployConfiguration2 + + 1 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + + + 0 + + + + Qt4ProjectManager.AndroidRunConfiguration:/home/ali-mehrabani/Qt_projects/VkTest/VkTest.pro + + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/VkTypes.h b/VkGuide1.3/VkTypes.h similarity index 100% rename from VkTypes.h rename to VkGuide1.3/VkTypes.h diff --git a/VkTest.pro b/VkTest.pro index d834cd2..157ccce 100644 --- a/VkTest.pro +++ b/VkTest.pro @@ -11,36 +11,28 @@ INCLUDEPATH += /usr/include/vulkan \ $$PWD/third_party/SDL/build/include-config-/SDL2 \ $$PWD/third_party/fmt/build -LIBS += -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi -lSDL2main -lSDL2 -lvk-bootstrap \ - -L$$PWD/third_party/fmt/build -lfmt +LIBS += -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi \ +# -lSDL2main -lSDL2 -lvk-bootstrap \ +# -L$$PWD/third_party/fmt/build -lfmt SOURCES += \ - HelloTriangleApplication.cpp \ - VkDescriptors.cpp \ - VkEngine.cpp \ - VkImages.cpp \ - VkInitializers.cpp \ - VkLoader.cpp \ - VkMain.cpp \ - VkPipelines.cpp \ + VulkanTutorial1.0/ComputeAndGraphics.cpp \ main.cpp -HEADERS += \ - HelloTriangleApplication.h \ - VkDescriptors.h \ - VkEngine.h \ - VkImages.h \ - VkInitializers.h \ - VkLoader.h \ - VkMain.h \ - VkPipelines.h \ - VkTypes.h +HEADERS += \ \ + VulkanTutorial1.0/ComputeAndGraphics.h \ + VulkanTutorial1.0/Types.h + DISTFILES += \ + shaders/comp.spv \ shaders/compile.sh \ shaders/frag.spv \ shaders/shader.frag \ shaders/shader.vert \ + shaders/shaderCompute.comp \ + shaders/shaderCompute.frag \ + shaders/shaderCompute.vert \ shaders/vert.spv contains(ANDROID_TARGET_ARCH,arm64-v8a) { @@ -48,11 +40,11 @@ contains(ANDROID_TARGET_ARCH,arm64-v8a) { ANDROID_PACKAGE_SOURCE_DIR = \ $$PWD/android OTHER_FILES += android/src/Vulkan \ - android/AndroidManifest.xml \ - android/build.gradle \ - android/gradle/wrapper/gradle-wrapper.jar \ - android/gradle/wrapper/gradle-wrapper.properties \ - android/gradlew \ - android/gradlew.bat \ - android/res/values/libs.xml + android/AndroidManifest.xml \ + android/build.gradle \ + android/gradle/wrapper/gradle-wrapper.jar \ + android/gradle/wrapper/gradle-wrapper.properties \ + android/gradlew \ + android/gradlew.bat \ + android/res/values/libs.xml } diff --git a/VkTest.pro.user b/VkTest.pro.user index 5f7e840..6f4fdff 100644 --- a/VkTest.pro.user +++ b/VkTest.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/VulkanTutorial1.0/ComputeAndGraphics.cpp b/VulkanTutorial1.0/ComputeAndGraphics.cpp new file mode 100644 index 0000000..b2adfe2 --- /dev/null +++ b/VulkanTutorial1.0/ComputeAndGraphics.cpp @@ -0,0 +1,2320 @@ +#include "ComputeAndGraphics.h" + +#include +#include +#include +#include + +VkResult CreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo + , const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pDebugMessenger) { + auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")); + if (func != nullptr) { + return func(instance, pCreateInfo, pAllocator, pDebugMessenger); + } else { + return VK_ERROR_EXTENSION_NOT_PRESENT; + } +} + +void DestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT debugMessenger, const VkAllocationCallbacks* pAllocator) { + auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")); + if (func != nullptr) { + func(instance, debugMessenger, pAllocator); + } +} + +std::vector ComputeAndGraphics::readFile(const std::string& filename) { + const std::string& newFilename = "/home/ali-mehrabani/Qt_projects/VkTest/" + filename; + std::ifstream file(newFilename, std::ios::ate | std::ios::binary); + + if (!file.is_open()) { + throw std::runtime_error("failed to open file!"); + } + + size_t fileSize = static_cast(file.tellg()); + std::vector buffer(fileSize); + file.seekg(0); + file.read(buffer.data(), static_cast(fileSize)); + + file.close(); + + return buffer; +} + +ComputeAndGraphics::ComputeAndGraphics() +{ + +} + +void ComputeAndGraphics::run() +{ + initWindow(); + initVulkan(); + mainLoop(); + cleanup(); +} + +void ComputeAndGraphics::initWindow() +{ + glfwInit(); + + glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + + _window = glfwCreateWindow(WIDTH, HEIGHT, "Vulkan", nullptr, nullptr); + glfwSetWindowUserPointer(_window, this); + glfwSetFramebufferSizeCallback(_window, framebufferResizeCallback); +} + +void ComputeAndGraphics::framebufferResizeCallback(GLFWwindow* window, int /*width*/, int /*height*/) { + auto app = reinterpret_cast(glfwGetWindowUserPointer(window)); + app->framebufferResized = true; +} + + + +void ComputeAndGraphics::initVulkan() +{ +// if (enableValidationLayers && !checkValidationLayerSupport()) { +// throw std::runtime_error("validation layers requested, but not available!"); +// } + + createInstance(); + setupDebugMessenger(); + createSurface(); + pickPhysicalDevice(); + createLogicalDevice(); + createSwapChain(); + createImageViews(); + createRenderPass(); + createDescriptorSetLayout(); +// createComputeDescriptorSetLayout(); + createGraphicsPipeline(); +// createComputePipeline(); + createCommandPool(); + createColorResources(); + createDepthResources(); + createFramebuffers(); + createTextureImage(); + createTextureImageView(); + createTextureSampler(); + loadModel(); + createVertexBuffer(); + createIndexBuffer(); +// createShaderStorageBuffers(); + createUniformBuffers(); + createDescriptorPool(); +// createComputeDescriptorPool(); + createDescriptorSets(); +// createComputeDescriptorSets(); + createCommandBuffer(); +// createComputeCommandBuffers(); + createSyncObjects(); +} + +bool ComputeAndGraphics::checkValidationLayerSupport() +{ + uint32_t layerCount; + vkEnumerateInstanceLayerProperties(&layerCount, nullptr); + + std::vector availableLayers(layerCount); + vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data()); + + for (const char* layerName : validationLayers) { + bool layerFound = false; + + for (const auto& layerProperties : availableLayers) { + if (strcmp(layerName, layerProperties.layerName) == 0) { + layerFound = true; + break; + } + } + + if (!layerFound) { + return false; + } + } + + return true; +} + +VkApplicationInfo ComputeAndGraphics::createInstanceAppInfo() +{ + VkApplicationInfo appInfo{}; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "Vulkan App"; + appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.pEngineName = "No Engine"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.apiVersion = VK_API_VERSION_1_0; + + return appInfo; +} + +VkDebugUtilsMessengerCreateInfoEXT ComputeAndGraphics::createInstanceDebugMessengerInfo() +{ + VkDebugUtilsMessengerCreateInfoEXT createInfo = {}; + createInfo.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; + createInfo.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; + createInfo.messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT; + + createInfo.pfnUserCallback = debugCallback; + + return createInfo; +} + +VkInstanceCreateInfo ComputeAndGraphics::createInstanceInfo(VkApplicationInfo* appInfo, std::vector& extensions + , VkDebugUtilsMessengerCreateInfoEXT& debugCreateInfo) +{ + VkInstanceCreateInfo createInfo = {}; + createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + createInfo.pApplicationInfo = appInfo; + createInfo.enabledExtensionCount = static_cast(extensions.size()); + createInfo.ppEnabledExtensionNames = extensions.data(); + + if (enableValidationLayers) { + createInfo.enabledLayerCount = static_cast(validationLayers.size()); + createInfo.ppEnabledLayerNames = validationLayers.data(); + + debugCreateInfo = createInstanceDebugMessengerInfo(); + createInfo.pNext = dynamic_cast(&debugCreateInfo); + } else { + createInfo.enabledLayerCount = 0; + createInfo.pNext = nullptr; + } + + return createInfo; +} + +void ComputeAndGraphics::createInstance() +{ + VkApplicationInfo appInfo = createInstanceAppInfo(); + auto extensions = getRequiredExtensions(); + + VkDebugUtilsMessengerCreateInfoEXT debugCreateInfo{}; + VkInstanceCreateInfo createInfo = createInstanceInfo(&appInfo, extensions, debugCreateInfo); + + if (vkCreateInstance(&createInfo, nullptr, &_instance) != VK_SUCCESS) { + throw std::runtime_error("failed to create instance!"); + } +} + +std::vector ComputeAndGraphics::getRequiredExtensions() +{ + uint32_t glfwExtensionCount = 0; + const char** glfwExtensions; + glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount); + + std::vector extensions(glfwExtensions, glfwExtensions + glfwExtensionCount); + + if (enableValidationLayers) { + extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + } + + return extensions; +} + +void ComputeAndGraphics::setupDebugMessenger() { + if (!enableValidationLayers) + { + return; + } + + VkDebugUtilsMessengerCreateInfoEXT createInfo = createInstanceDebugMessengerInfo(); + createInfo.pfnUserCallback = debugCallback; + + if (CreateDebugUtilsMessengerEXT(_instance, &createInfo, nullptr, &_debugMessenger) != VK_SUCCESS) { + throw std::runtime_error("failed to set up debug messenger!"); + } +} + +void ComputeAndGraphics::createSurface() +{ + if (glfwCreateWindowSurface(_instance, _window, nullptr, &_surface) != VK_SUCCESS) { + throw std::runtime_error("failed to create window surface!"); + } +} + +void ComputeAndGraphics::pickPhysicalDevice() { + _physicalDevice = VK_NULL_HANDLE; + + uint32_t deviceCount = 0; + vkEnumeratePhysicalDevices(_instance, &deviceCount, nullptr); + if (deviceCount == 0) { + throw std::runtime_error("failed to find GPUs with Vulkan support!"); + } + + chooseDevice(deviceCount); + if (_physicalDevice == VK_NULL_HANDLE) { + throw std::runtime_error("failed to find a suitable GPU!"); + } +} + +void ComputeAndGraphics::chooseDevice(uint32_t deviceCount) +{ + std::vector devices(deviceCount); + vkEnumeratePhysicalDevices(_instance, &deviceCount, devices.data()); + + for (const auto& device : devices) { + if (isDeviceSuitable(device)) { + _physicalDevice = device; + _msaaSamples = getMaxUsableSampleCount(); + break; + } + } +} + +VkSampleCountFlagBits ComputeAndGraphics::getMaxUsableSampleCount() { + VkPhysicalDeviceProperties physicalDeviceProperties; + vkGetPhysicalDeviceProperties(_physicalDevice, &physicalDeviceProperties); + + VkSampleCountFlags counts = physicalDeviceProperties.limits.framebufferColorSampleCounts & physicalDeviceProperties.limits.framebufferDepthSampleCounts; + if (counts & VK_SAMPLE_COUNT_64_BIT) { return VK_SAMPLE_COUNT_64_BIT; } + if (counts & VK_SAMPLE_COUNT_32_BIT) { return VK_SAMPLE_COUNT_32_BIT; } + if (counts & VK_SAMPLE_COUNT_16_BIT) { return VK_SAMPLE_COUNT_16_BIT; } + if (counts & VK_SAMPLE_COUNT_8_BIT) { return VK_SAMPLE_COUNT_8_BIT; } + if (counts & VK_SAMPLE_COUNT_4_BIT) { return VK_SAMPLE_COUNT_4_BIT; } + if (counts & VK_SAMPLE_COUNT_2_BIT) { return VK_SAMPLE_COUNT_2_BIT; } + + return VK_SAMPLE_COUNT_1_BIT; +} + +bool ComputeAndGraphics::isDeviceSuitable(VkPhysicalDevice device) { +// VkPhysicalDeviceProperties deviceProperties; +// VkPhysicalDeviceFeatures deviceFeatures; +// vkGetPhysicalDeviceProperties(device, &deviceProperties); +// vkGetPhysicalDeviceFeatures(device, &deviceFeatures); + +// return deviceProperties.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU && +// deviceFeatures.geometryShader; + + QueueFamilyIndices indices = findQueueFamilies(device); + + bool extensionsSupported = checkDeviceExtensionSupport(device); + + bool swapChainAdequate = false; + if (extensionsSupported) { + SwapChainSupportDetails swapChainSupport = querySwapChainSupport(device); + swapChainAdequate = !swapChainSupport.formats.empty() && !swapChainSupport.presentModes.empty(); + } + + VkPhysicalDeviceFeatures supportedFeatures; + vkGetPhysicalDeviceFeatures(device, &supportedFeatures); + + return indices.isComplete() && extensionsSupported && swapChainAdequate && supportedFeatures.samplerAnisotropy; +} + +bool ComputeAndGraphics::checkDeviceExtensionSupport(VkPhysicalDevice device) { + uint32_t extensionCount; + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); + + std::vector availableExtensions(extensionCount); + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); + + std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); + + for (const auto& extension : availableExtensions) { + requiredExtensions.erase(extension.extensionName); + } + + return requiredExtensions.empty(); +} + +SwapChainSupportDetails ComputeAndGraphics::querySwapChainSupport(VkPhysicalDevice device) { + SwapChainSupportDetails details; + + vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, _surface, &details.capabilities); + + uint32_t formatCount; + vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, nullptr); + + if (formatCount != 0) { + details.formats.resize(formatCount); + vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, details.formats.data()); + } + + uint32_t presentModeCount; + vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, nullptr); + + if (presentModeCount != 0) { + details.presentModes.resize(presentModeCount); + vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, details.presentModes.data()); + } + + return details; +} + +QueueFamilyIndices ComputeAndGraphics::findQueueFamilies(VkPhysicalDevice device) { + QueueFamilyIndices indices; + + uint32_t queueFamilyCount = 0; + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr); + + std::vector queueFamilies(queueFamilyCount); + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data()); + + uint32_t i = 0; + for (const auto& queueFamily : queueFamilies) { + if ((queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) && (queueFamily.queueFlags & VK_QUEUE_COMPUTE_BIT)) { + indices.graphicsFamily = i; + } + + VkBool32 presentSupport = false; + vkGetPhysicalDeviceSurfaceSupportKHR(device, i, _surface, &presentSupport); + + if (presentSupport) { + indices.presentFamily = i; + } + + if (indices.isComplete()) { + break; + } + + i++; + } + + return indices; +} + +void ComputeAndGraphics::createLogicalDevice() +{ + QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); + + std::vector queueCreateInfos; + std::set uniqueQueueFamilies = {indices.graphicsFamily.value(), indices.presentFamily.value()}; + + float queuePriority = 1.0f; + for (uint32_t queueFamily : uniqueQueueFamilies) { + queueCreateInfos.push_back(createQueueInfo(queueFamily, 1, &queuePriority)); + } + + VkPhysicalDeviceFeatures deviceFeatures = createDeviceFeatures(); + VkDeviceCreateInfo createInfo = createLogicalDeviceInfo(queueCreateInfos, &deviceFeatures); + + if (vkCreateDevice(_physicalDevice, &createInfo, nullptr, &_device) != VK_SUCCESS) { + throw std::runtime_error("failed to create logical device!"); + } + + vkGetDeviceQueue(_device, indices.graphicsFamily.value(), 0, &_graphicsQueue); + vkGetDeviceQueue(_device, indices.presentFamily.value(), 0, &_presentQueue); +} + +VkDeviceQueueCreateInfo ComputeAndGraphics::createQueueInfo(uint32_t queueFamily, uint32_t queueCount, float* queuePriority) +{ + VkDeviceQueueCreateInfo queueCreateInfo{}; + queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queueCreateInfo.queueFamilyIndex = queueFamily; + queueCreateInfo.queueCount = queueCount; + queueCreateInfo.pQueuePriorities = queuePriority; + + return queueCreateInfo; +} + +VkPhysicalDeviceFeatures ComputeAndGraphics::createDeviceFeatures() +{ + VkPhysicalDeviceFeatures deviceFeatures{}; + deviceFeatures.samplerAnisotropy = VK_TRUE; + + return deviceFeatures; +} + +VkDeviceCreateInfo ComputeAndGraphics::createLogicalDeviceInfo(std::vector& queueCreateInfos + , VkPhysicalDeviceFeatures* deviceFeatures) +{ + VkDeviceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + + createInfo.queueCreateInfoCount = static_cast(queueCreateInfos.size()); + createInfo.pQueueCreateInfos = queueCreateInfos.data(); + + createInfo.pEnabledFeatures = deviceFeatures; + + createInfo.enabledExtensionCount = static_cast(deviceExtensions.size()); + createInfo.ppEnabledExtensionNames = deviceExtensions.data(); + + if (enableValidationLayers) { + createInfo.enabledLayerCount = static_cast(validationLayers.size()); + createInfo.ppEnabledLayerNames = validationLayers.data(); + } else { + createInfo.enabledLayerCount = 0; + createInfo.ppEnabledLayerNames = nullptr; + } + + return createInfo; +} + +void ComputeAndGraphics::createSwapChain() { + SwapChainSupportDetails swapChainSupport = querySwapChainSupport(_physicalDevice); + + VkSurfaceFormatKHR surfaceFormat = chooseSwapSurfaceFormat(swapChainSupport.formats); + VkPresentModeKHR presentMode = chooseSwapPresentMode(swapChainSupport.presentModes); + VkExtent2D extent = chooseSwapExtent(swapChainSupport.capabilities); + + uint32_t imageCount = swapChainSupport.capabilities.minImageCount + 1; + if (swapChainSupport.capabilities.maxImageCount > 0 && imageCount > swapChainSupport.capabilities.maxImageCount) { + imageCount = swapChainSupport.capabilities.maxImageCount; + } + + VkSwapchainCreateInfoKHR createInfo = createSwapChainInfo(swapChainSupport, _surface, imageCount, surfaceFormat, extent, presentMode); + + if (vkCreateSwapchainKHR(_device, &createInfo, nullptr, &_swapChain) != VK_SUCCESS) { + throw std::runtime_error("failed to create swap chain!"); + } + + vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, nullptr); + _swapChainImages.resize(imageCount); + vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, _swapChainImages.data()); + + _swapChainImageFormat = surfaceFormat.format; + _swapChainExtent = extent; +} + +VkSwapchainCreateInfoKHR ComputeAndGraphics::createSwapChainInfo(SwapChainSupportDetails swapChainSupport, VkSurfaceKHR _surface, uint32_t imageCount + , VkSurfaceFormatKHR surfaceFormat, VkExtent2D extent, VkPresentModeKHR presentMode) +{ + VkSwapchainCreateInfoKHR createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; + createInfo.surface = _surface; + createInfo.minImageCount = imageCount; + createInfo.imageFormat = surfaceFormat.format; + createInfo.imageColorSpace = surfaceFormat.colorSpace; + createInfo.imageExtent = extent; + createInfo.imageArrayLayers = 1; + createInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + + createInfo.preTransform = swapChainSupport.capabilities.currentTransform; + createInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; + createInfo.presentMode = presentMode; + createInfo.clipped = VK_TRUE; + + createInfo.oldSwapchain = VK_NULL_HANDLE; + + QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); + uint32_t queueFamilyIndices[] = {indices.graphicsFamily.value(), indices.presentFamily.value()}; + + if (indices.graphicsFamily != indices.presentFamily) { + createInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; + createInfo.queueFamilyIndexCount = 2; + } else { + createInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; + createInfo.queueFamilyIndexCount = 0; + } + createInfo.pQueueFamilyIndices = queueFamilyIndices; + + return createInfo; +} + +VkSurfaceFormatKHR ComputeAndGraphics::chooseSwapSurfaceFormat(const std::vector& availableFormats) { + for (const auto& availableFormat : availableFormats) { + if (availableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) { + return availableFormat; + } + } + + return availableFormats[0]; +} + +VkPresentModeKHR ComputeAndGraphics::chooseSwapPresentMode(const std::vector& availablePresentModes) { + for (const auto& availablePresentMode : availablePresentModes) { + if (availablePresentMode == VK_PRESENT_MODE_MAILBOX_KHR) { + return availablePresentMode; + } + } + + return VK_PRESENT_MODE_FIFO_KHR; +} + +VkExtent2D ComputeAndGraphics::chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) { + if (capabilities.currentExtent.width != std::numeric_limits::max()) { + return capabilities.currentExtent; + } else { + int width, height; + glfwGetFramebufferSize(_window, &width, &height); + + VkExtent2D actualExtent = { + static_cast(width), + static_cast(height) + }; + + actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); + actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); + + return actualExtent; + } +} + +void ComputeAndGraphics::createImageViews() { + _swapChainImageViews.resize(_swapChainImages.size()); + + for (uint32_t i = 0; i < _swapChainImages.size(); i++) { + _swapChainImageViews[i] = createImageView(_swapChainImages[i], _swapChainImageFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); + } +} + +void ComputeAndGraphics::createRenderPass() { + VkAttachmentDescription colorAttachment = createColorAttachmentInfo(_swapChainImageFormat, _msaaSamples); + VkAttachmentReference colorAttachmentRef = createAttachmentRefInfo(0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); + + VkAttachmentDescription depthAttachment = createDepthAttachmentInfo(findDepthFormat(), _msaaSamples); + VkAttachmentReference depthAttachmentRef = createAttachmentRefInfo(1, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL); + + VkAttachmentDescription colorAttachmentResolve = createColorAttachmentResolveInfo(_swapChainImageFormat, VK_SAMPLE_COUNT_1_BIT); + VkAttachmentReference colorAttachmentResolveRef = createAttachmentRefInfo(2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); + + VkSubpassDescription subpass = createSubpassInfo(&colorAttachmentRef, &depthAttachmentRef, &colorAttachmentResolveRef); + + VkSubpassDependency dependency = createSubpassDependencyInfo(); + + std::vector attachments = {colorAttachment, depthAttachment, colorAttachmentResolve}; + VkRenderPassCreateInfo renderPassInfo = createRenderPassInfo(attachments, &subpass, &dependency); + + if (vkCreateRenderPass(_device, &renderPassInfo, nullptr, &_renderPass) != VK_SUCCESS) { + throw std::runtime_error("failed to create render pass!"); + } +} + +VkAttachmentDescription ComputeAndGraphics::createColorAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription colorAttachment{}; + colorAttachment.format = format; + colorAttachment.samples = msaaSamples; + colorAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + colorAttachment.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + colorAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + colorAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + colorAttachment.finalLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + + return colorAttachment; +} + +VkAttachmentReference ComputeAndGraphics::createAttachmentRefInfo(uint32_t offset, VkImageLayout layout) +{ + VkAttachmentReference colorAttachmentRef{}; + colorAttachmentRef.attachment = offset; + colorAttachmentRef.layout = layout; + + return colorAttachmentRef; +} + +VkAttachmentDescription ComputeAndGraphics::createDepthAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription depthAttachment; + depthAttachment.format = format; + depthAttachment.samples = msaaSamples; + depthAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + depthAttachment.storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depthAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + depthAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depthAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + depthAttachment.finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; + + return depthAttachment; +} + +VkAttachmentDescription ComputeAndGraphics::createColorAttachmentResolveInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription colorAttachmentResolve{}; + colorAttachmentResolve.format = format; + colorAttachmentResolve.samples = msaaSamples; + colorAttachmentResolve.loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachmentResolve.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + colorAttachmentResolve.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachmentResolve.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + colorAttachmentResolve.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + colorAttachmentResolve.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; + + return colorAttachmentResolve; +} + +VkSubpassDescription ComputeAndGraphics::createSubpassInfo(VkAttachmentReference* colorAttachRef, VkAttachmentReference* depthAttachRef + , VkAttachmentReference* colorAttachResolverRef) +{ + VkSubpassDescription subpass{}; + subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; + subpass.colorAttachmentCount = 1; + subpass.pColorAttachments = colorAttachRef; + subpass.pDepthStencilAttachment = depthAttachRef; + subpass.pResolveAttachments = colorAttachResolverRef; + + return subpass; +} + +VkRenderPassCreateInfo ComputeAndGraphics::createRenderPassInfo(std::vector& attachments, VkSubpassDescription* subpass + , VkSubpassDependency* dependency) +{ + VkRenderPassCreateInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; + renderPassInfo.attachmentCount = static_cast(attachments.size()); + renderPassInfo.pAttachments = attachments.data(); + renderPassInfo.subpassCount = 1; + renderPassInfo.pSubpasses = subpass; + + renderPassInfo.dependencyCount = 1; + renderPassInfo.pDependencies = dependency; + + return renderPassInfo; +} + +VkSubpassDependency ComputeAndGraphics::createSubpassDependencyInfo() +{ + VkSubpassDependency dependency{}; + dependency.srcSubpass = VK_SUBPASS_EXTERNAL; + dependency.dstSubpass = 0; + dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + dependency.srcAccessMask = 0; + dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + return dependency; +} + + +void ComputeAndGraphics::createDescriptorSetLayout() { + VkDescriptorSetLayoutBinding uboLayoutBinding = createLayoutBindingInfo(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT); + + VkDescriptorSetLayoutBinding samplerLayoutBinding = createLayoutBindingInfo(1, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT); + + std::array bindings = {uboLayoutBinding, samplerLayoutBinding}; + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = static_cast(bindings.size()); + layoutInfo.pBindings = bindings.data(); + + if (vkCreateDescriptorSetLayout(_device, &layoutInfo, nullptr, &_descriptorSetLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor set layout!"); + } +} + +void ComputeAndGraphics::createComputeDescriptorSetLayout() { + VkDescriptorSetLayoutBinding uboLayoutBinding = createLayoutBindingInfo(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + VkDescriptorSetLayoutBinding computeLayoutBinding1 = createLayoutBindingInfo(2, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + VkDescriptorSetLayoutBinding computeLayoutBinding2 = createLayoutBindingInfo(3, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + std::array bindings = {uboLayoutBinding, computeLayoutBinding1, computeLayoutBinding2}; + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = static_cast(bindings.size()); + layoutInfo.pBindings = bindings.data(); + + if (vkCreateDescriptorSetLayout(_device, &layoutInfo, nullptr, &_computeDescriptorSetLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute descriptor set layout!"); + } +} + +VkDescriptorSetLayoutBinding ComputeAndGraphics::createLayoutBindingInfo(uint32_t offset, VkDescriptorType descType, VkShaderStageFlagBits StageFlags) +{ + VkDescriptorSetLayoutBinding layoutBinding{}; + layoutBinding.binding = offset; + layoutBinding.descriptorType = descType; + layoutBinding.descriptorCount = 1; + layoutBinding.stageFlags = StageFlags; + layoutBinding.pImmutableSamplers = nullptr; + + return layoutBinding; +} + +void ComputeAndGraphics::createGraphicsPipeline() +{ + auto vertShaderCode = readFile("shaders/vert.spv"); + auto fragShaderCode = readFile("shaders/frag.spv"); + VkShaderModule vertShaderModule = createShaderModule(vertShaderCode); + VkShaderModule fragShaderModule = createShaderModule(fragShaderCode); + VkPipelineShaderStageCreateInfo vertShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_VERTEX_BIT, vertShaderModule); + VkPipelineShaderStageCreateInfo fragShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_FRAGMENT_BIT, fragShaderModule); + VkPipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo, fragShaderStageInfo}; + + auto bindingDescription = Vertex::getBindingDescription(); + auto attributeDescriptions = Vertex::getAttributeDescriptions(); + VkPipelineVertexInputStateCreateInfo vertexInputInfo = createPipelineVertexInputInfo(); + vertexInputInfo.vertexBindingDescriptionCount = 1; + vertexInputInfo.pVertexBindingDescriptions = &bindingDescription; + vertexInputInfo.vertexAttributeDescriptionCount = static_cast(attributeDescriptions.size()); + vertexInputInfo.pVertexAttributeDescriptions = attributeDescriptions.data(); + + VkPipelineInputAssemblyStateCreateInfo inputAssembly = createPipelineInputAssemblyStateInfo(); + + std::vector dynamicStates = { + VK_DYNAMIC_STATE_VIEWPORT, + VK_DYNAMIC_STATE_SCISSOR + }; + VkPipelineDynamicStateCreateInfo dynamicState = createPipelineDynamicStateInfo(dynamicStates); + + VkPipelineViewportStateCreateInfo viewportState = createPipelineViewportStateInfo(); + + VkPipelineRasterizationStateCreateInfo rasterizer = createPipelineRasterizationStateInfo(); + + VkPipelineMultisampleStateCreateInfo multisampling = createPipelineMultisampleStateInfo(); + + VkPipelineColorBlendAttachmentState colorBlendAttachment = colorPipelineBlendAttachmentStateInfo(); + + VkPipelineColorBlendStateCreateInfo colorBlending = colorPipelineBlendStateInfo(&colorBlendAttachment); + + VkPipelineLayoutCreateInfo pipelineLayoutInfo = createPipelineLayoutInfo(); + if (vkCreatePipelineLayout(_device, &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create pipeline layout!"); + } + + VkPipelineDepthStencilStateCreateInfo depthStencil = createPipelineDepthStencilStateInfo(); + + VkGraphicsPipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; + pipelineInfo.stageCount = 2; + pipelineInfo.pStages = shaderStages; + pipelineInfo.pVertexInputState = &vertexInputInfo; + pipelineInfo.pInputAssemblyState = &inputAssembly; + pipelineInfo.pViewportState = &viewportState; + pipelineInfo.pRasterizationState = &rasterizer; + pipelineInfo.pMultisampleState = &multisampling; + pipelineInfo.pDepthStencilState = &depthStencil; + pipelineInfo.pColorBlendState = &colorBlending; + pipelineInfo.pDynamicState = &dynamicState; + pipelineInfo.layout = _pipelineLayout; + pipelineInfo.renderPass = _renderPass; + pipelineInfo.subpass = 0; + pipelineInfo.basePipelineHandle = VK_NULL_HANDLE; // Optional + pipelineInfo.basePipelineIndex = -1; // Optional + + if (vkCreateGraphicsPipelines(_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_graphicsPipeline) != VK_SUCCESS) { + throw std::runtime_error("failed to create graphics pipeline!"); + } + + vkDestroyShaderModule(_device, fragShaderModule, nullptr); + vkDestroyShaderModule(_device, vertShaderModule, nullptr); +} + +VkPipelineShaderStageCreateInfo ComputeAndGraphics::createPipelineShaderInfo(VkShaderStageFlagBits stage, VkShaderModule module) +{ + VkPipelineShaderStageCreateInfo shaderStageInfo{}; + shaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + shaderStageInfo.stage = stage; + shaderStageInfo.module = module; + shaderStageInfo.pName = "main"; + + return shaderStageInfo; +} + +VkPipelineVertexInputStateCreateInfo ComputeAndGraphics::createPipelineVertexInputInfo() +{ + VkPipelineVertexInputStateCreateInfo vertexInputInfo{}; + vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + + return vertexInputInfo; +} + +VkPipelineInputAssemblyStateCreateInfo ComputeAndGraphics::createPipelineInputAssemblyStateInfo() +{ + VkPipelineInputAssemblyStateCreateInfo inputAssembly{}; + inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; + inputAssembly.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; + inputAssembly.primitiveRestartEnable = VK_FALSE; + + return inputAssembly; +} + +VkPipelineDynamicStateCreateInfo ComputeAndGraphics::createPipelineDynamicStateInfo(std::vector& dynamicStates) +{ + VkPipelineDynamicStateCreateInfo dynamicState{}; + dynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + dynamicState.dynamicStateCount = static_cast(dynamicStates.size()); + dynamicState.pDynamicStates = dynamicStates.data(); + + return dynamicState; +} + +VkPipelineViewportStateCreateInfo ComputeAndGraphics::createPipelineViewportStateInfo() +{ + VkPipelineViewportStateCreateInfo viewportState{}; + viewportState.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; + viewportState.viewportCount = 1; + viewportState.scissorCount = 1; + + return viewportState; +} + +VkPipelineRasterizationStateCreateInfo ComputeAndGraphics::createPipelineRasterizationStateInfo() +{ + VkPipelineRasterizationStateCreateInfo rasterizer{}; + rasterizer.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; + rasterizer.depthClampEnable = VK_FALSE; + rasterizer.rasterizerDiscardEnable = VK_FALSE; + rasterizer.polygonMode = VK_POLYGON_MODE_FILL; + rasterizer.lineWidth = 1.0f; + rasterizer.cullMode = VK_CULL_MODE_BACK_BIT; + rasterizer.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE; + rasterizer.depthBiasEnable = VK_FALSE; + rasterizer.depthBiasConstantFactor = 0.0f; // Optional + rasterizer.depthBiasClamp = 0.0f; // Optional + rasterizer.depthBiasSlopeFactor = 0.0f; // Optional + + return rasterizer; +} + +VkPipelineMultisampleStateCreateInfo ComputeAndGraphics::createPipelineMultisampleStateInfo() +{ + VkPipelineMultisampleStateCreateInfo multisampling{}; + multisampling.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; + multisampling.sampleShadingEnable = VK_FALSE; + multisampling.rasterizationSamples = _msaaSamples; + multisampling.minSampleShading = 1.0f; // Optional + multisampling.pSampleMask = nullptr; // Optional + multisampling.alphaToCoverageEnable = VK_FALSE; // Optional + multisampling.alphaToOneEnable = VK_FALSE; // Optional + + return multisampling; +} + +VkPipelineColorBlendAttachmentState ComputeAndGraphics::colorPipelineBlendAttachmentStateInfo() +{ + VkPipelineColorBlendAttachmentState colorBlendAttachment{}; + colorBlendAttachment.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; + colorBlendAttachment.blendEnable = VK_FALSE; + colorBlendAttachment.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; // Optional + colorBlendAttachment.dstColorBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional + colorBlendAttachment.colorBlendOp = VK_BLEND_OP_ADD; // Optional + colorBlendAttachment.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE; // Optional + colorBlendAttachment.dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional + colorBlendAttachment.alphaBlendOp = VK_BLEND_OP_ADD; // Optional + + return colorBlendAttachment; +} + +VkPipelineLayoutCreateInfo ComputeAndGraphics::createPipelineLayoutInfo() +{ + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &_descriptorSetLayout; + pipelineLayoutInfo.pushConstantRangeCount = 0; // Optional + pipelineLayoutInfo.pPushConstantRanges = nullptr; // Optional + + return pipelineLayoutInfo; +} + +VkPipelineDepthStencilStateCreateInfo ComputeAndGraphics::createPipelineDepthStencilStateInfo() +{ + VkPipelineDepthStencilStateCreateInfo depthStencil{}; + depthStencil.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; + depthStencil.depthTestEnable = VK_TRUE; + depthStencil.depthWriteEnable = VK_TRUE; + depthStencil.depthCompareOp = VK_COMPARE_OP_LESS; + depthStencil.depthBoundsTestEnable = VK_FALSE; + depthStencil.minDepthBounds = 0.0f; // Optional + depthStencil.maxDepthBounds = 1.0f; // Optional + depthStencil.stencilTestEnable = VK_FALSE; + depthStencil.front = {}; // Optional + depthStencil.back = {}; // Optional + + return depthStencil; +} + +VkPipelineColorBlendStateCreateInfo ComputeAndGraphics::colorPipelineBlendStateInfo(VkPipelineColorBlendAttachmentState* colorBlendAttachment) +{ + VkPipelineColorBlendStateCreateInfo colorBlending{}; + colorBlending.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; + colorBlending.logicOpEnable = VK_FALSE; + colorBlending.logicOp = VK_LOGIC_OP_COPY; // Optional + colorBlending.attachmentCount = 1; + colorBlending.pAttachments = colorBlendAttachment; + colorBlending.blendConstants[0] = 0.0f; // Optional + colorBlending.blendConstants[1] = 0.0f; // Optional + colorBlending.blendConstants[2] = 0.0f; // Optional + colorBlending.blendConstants[3] = 0.0f; // Optional + + return colorBlending; +} + +void ComputeAndGraphics::createComputePipeline() +{ + auto computeShaderCode = readFile("shaders/comp.spv"); + VkShaderModule computeShaderModule = createShaderModule(computeShaderCode); + VkPipelineShaderStageCreateInfo computeShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_COMPUTE_BIT, computeShaderModule); + + VkPipelineLayoutCreateInfo pipelineLayoutInfo = createComputePipelineLayoutInfo(); + if (vkCreatePipelineLayout(_device, &pipelineLayoutInfo, nullptr, &_computePipelineLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute pipeline layout!"); + } + + VkComputePipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; + pipelineInfo.layout = _computePipelineLayout; + pipelineInfo.stage = computeShaderStageInfo; + + if (vkCreateComputePipelines(_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_computePipeline) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute pipeline!"); + } + + vkDestroyShaderModule(_device, computeShaderModule, nullptr); +} + +VkPipelineLayoutCreateInfo ComputeAndGraphics::createComputePipelineLayoutInfo() +{ + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &_computeDescriptorSetLayout; + + return pipelineLayoutInfo; +} + +VkShaderModule ComputeAndGraphics::createShaderModule(const std::vector& code) +{ + VkShaderModuleCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + createInfo.codeSize = code.size(); + createInfo.pCode = reinterpret_cast(code.data()); + + VkShaderModule shaderModule; + if (vkCreateShaderModule(_device, &createInfo, nullptr, &shaderModule) != VK_SUCCESS) { + throw std::runtime_error("failed to create shader module!"); + } + + return shaderModule; +} + +void ComputeAndGraphics::createFramebuffers() { + _swapChainFramebuffers.resize(_swapChainImageViews.size()); + + for (size_t i = 0; i < _swapChainImageViews.size(); i++) { + std::vector attachments = { + _colorImageView, + _depthImageView, + _swapChainImageViews[i] + }; + VkFramebufferCreateInfo framebufferInfo = createFramebufferInfo(attachments); + + if (vkCreateFramebuffer(_device, &framebufferInfo, nullptr, &_swapChainFramebuffers[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create framebuffer!"); + } + } +} + +VkFramebufferCreateInfo ComputeAndGraphics::createFramebufferInfo(std::vector& attachments) +{ + + VkFramebufferCreateInfo framebufferInfo{}; + framebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; + framebufferInfo.renderPass = _renderPass; + framebufferInfo.attachmentCount = static_cast(attachments.size()); + framebufferInfo.pAttachments = attachments.data(); + framebufferInfo.width = _swapChainExtent.width; + framebufferInfo.height = _swapChainExtent.height; + framebufferInfo.layers = 1; + + return framebufferInfo; +} + +void ComputeAndGraphics::createCommandPool() { + QueueFamilyIndices queueFamilyIndices = findQueueFamilies(_physicalDevice); + + VkCommandPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; + poolInfo.queueFamilyIndex = queueFamilyIndices.graphicsFamily.value(); + + if (vkCreateCommandPool(_device, &poolInfo, nullptr, &_commandPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create command pool!"); + } +} + +void ComputeAndGraphics::createColorResources() { + VkFormat colorFormat = _swapChainImageFormat; + + createImage(_swapChainExtent.width, _swapChainExtent.height, 1, _msaaSamples, colorFormat, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + , _colorImage, _colorImageMemory); + _colorImageView = createImageView(_colorImage, colorFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); +} + +void ComputeAndGraphics::createDepthResources() { + VkFormat depthFormat = findDepthFormat(); + + createImage(_swapChainExtent.width, _swapChainExtent.height, 1, _msaaSamples, depthFormat, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _depthImage, _depthImageMemory); + _depthImageView = createImageView(_depthImage, depthFormat, VK_IMAGE_ASPECT_DEPTH_BIT, 1); + + transitionImageLayout(_depthImage, depthFormat, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, 1); +} + +VkFormat ComputeAndGraphics::findSupportedFormat(const std::vector& candidates, VkImageTiling tiling + , VkFormatFeatureFlags features) { + for (VkFormat format : candidates) { + VkFormatProperties props; + vkGetPhysicalDeviceFormatProperties(_physicalDevice, format, &props); + + if (tiling == VK_IMAGE_TILING_LINEAR && (props.linearTilingFeatures & features) == features) { + return format; + } else if (tiling == VK_IMAGE_TILING_OPTIMAL && (props.optimalTilingFeatures & features) == features) { + return format; + } + } + + throw std::runtime_error("failed to find supported format!"); +} + +VkFormat ComputeAndGraphics::findDepthFormat() { + return findSupportedFormat( + {VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT}, + VK_IMAGE_TILING_OPTIMAL, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT + ); +} + +bool ComputeAndGraphics::hasStencilComponent(VkFormat format) { + return format == VK_FORMAT_D32_SFLOAT_S8_UINT || format == VK_FORMAT_D24_UNORM_S8_UINT; +} + +void ComputeAndGraphics::createTextureImage() { + int texWidth, texHeight, texChannels; +// stbi_uc* pixels = stbi_load("/home/ali-mehrabani/Qt_projects/VkTest/textures/texture.jpg", &texWidth, &texHeight, &texChannels, STBI_rgb_alpha); + stbi_uc* pixels = stbi_load(TEXTURE_PATH.c_str(), &texWidth, &texHeight, &texChannels, STBI_rgb_alpha); + VkDeviceSize imageSize = texWidth * texHeight * 4; + + _mipLevels = static_cast(std::floor(std::log2(std::max(texWidth, texHeight)))) + 1; + + if (!pixels) { + throw std::runtime_error("failed to load texture image!"); + } + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + + copyImageToStagingBuffer(stagingBuffer, stagingBufferMemory, pixels, imageSize); + + stbi_image_free(pixels); + + createImage(texWidth, texHeight, _mipLevels, VK_SAMPLE_COUNT_1_BIT, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _textureImage, _textureImageMemory); + + transitionImageLayout(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, _mipLevels); + copyBufferToImage(stagingBuffer, _textureImage, static_cast(texWidth), static_cast(texHeight)); + +// transitionImageLayout(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, _mipLevels); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); + + generateMipmaps(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, texWidth, texHeight, _mipLevels); +} + +void ComputeAndGraphics::copyImageToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory, stbi_uc* pixels, VkDeviceSize imageSize) +{ + createBuffer(imageSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, imageSize, 0, &data); + memcpy(data, pixels, static_cast(imageSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +void ComputeAndGraphics::generateMipmaps(VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels) { + VkFormatProperties formatProperties; + vkGetPhysicalDeviceFormatProperties(_physicalDevice, imageFormat, &formatProperties); + + if (!(formatProperties.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)) { + throw std::runtime_error("texture image format does not support linear blitting!"); + } + + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkImageMemoryBarrier barrier = initMipmapBarrier(image); + int32_t mipWidth = texWidth; + int32_t mipHeight = texHeight; + + for (uint32_t i = 1; i < mipLevels; i++) { + setFirstStepMipmapBarrierInfo(barrier, i); + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + VkImageBlit blit = createBlitMipMapInfo(mipWidth, mipHeight, i); + vkCmdBlitImage(commandBuffer, + image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + 1, &blit, + VK_FILTER_LINEAR); + + + setSecondStepMipmapBarrierInfo(barrier, i); + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + if (mipWidth > 1) mipWidth /= 2; + if (mipHeight > 1) mipHeight /= 2; + } + + setLastStepMipmapBarrierInfo(barrier, mipLevels - 1); + + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + endSingleTimeCommands(commandBuffer); +} + +VkImageMemoryBarrier ComputeAndGraphics::initMipmapBarrier(VkImage image) +{ + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.image = image; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + barrier.subresourceRange.levelCount = 1; + + return barrier; +} + +void ComputeAndGraphics::setFirstStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index - 1; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; +} + +void ComputeAndGraphics::setSecondStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index - 1; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; +} + +void ComputeAndGraphics::setLastStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; +} + +VkImageBlit ComputeAndGraphics::createBlitMipMapInfo(int32_t mipWidth, int32_t mipHeight, uint32_t index) +{ + VkImageBlit blit{}; + blit.srcOffsets[0] = { 0, 0, 0 }; + blit.srcOffsets[1] = {mipWidth, mipHeight, 1}; + blit.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + blit.srcSubresource.mipLevel = index - 1; + blit.srcSubresource.baseArrayLayer = 0; + blit.srcSubresource.layerCount = 1; + blit.dstOffsets[0] = { 0, 0, 0 }; + blit.dstOffsets[1] = { mipWidth > 1 ? mipWidth / 2 : 1, mipHeight > 1 ? mipHeight / 2 : 1, 1 }; + blit.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + blit.dstSubresource.mipLevel = index; + blit.dstSubresource.baseArrayLayer = 0; + blit.dstSubresource.layerCount = 1; + + return blit; +} + +void ComputeAndGraphics::transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkImageMemoryBarrier barrier = initTransitionLayoutBarrierInfo(image, format, oldLayout, newLayout, mipLevels); + + VkPipelineStageFlags sourceStage; + VkPipelineStageFlags destinationStage; + + setSrcAndDst(barrier, sourceStage, destinationStage, oldLayout, newLayout); + + vkCmdPipelineBarrier( + commandBuffer, + sourceStage, destinationStage, + 0, + 0, nullptr, + 0, nullptr, + 1, &barrier + ); + + endSingleTimeCommands(commandBuffer); +} + +VkImageMemoryBarrier ComputeAndGraphics::initTransitionLayoutBarrierInfo(VkImage image, VkFormat format, VkImageLayout oldLayout + , VkImageLayout newLayout, uint32_t mipLevels) +{ + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.oldLayout = oldLayout; + barrier.newLayout = newLayout; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.image = image; + + if (newLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) { + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT; + + if (hasStencilComponent(format)) { + barrier.subresourceRange.aspectMask |= VK_IMAGE_ASPECT_STENCIL_BIT; + } + } else { + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + } + + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = mipLevels; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + + return barrier; +} + +void ComputeAndGraphics::setSrcAndDst(VkImageMemoryBarrier& barrier, VkPipelineStageFlags& sourceStage, VkPipelineStageFlags& destinationStage + , VkImageLayout oldLayout, VkImageLayout newLayout) +{ + if (oldLayout == VK_IMAGE_LAYOUT_UNDEFINED && newLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) { + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + destinationStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + } else if (oldLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL && newLayout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + + sourceStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + destinationStage = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + } else if (oldLayout == VK_IMAGE_LAYOUT_UNDEFINED && newLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) { + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + destinationStage = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + } else { + throw std::invalid_argument("unsupported layout transition!"); + } +} + +void ComputeAndGraphics::createImage(uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format + , VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage& image + , VkDeviceMemory& imageMemory) +{ + VkImageCreateInfo imageInfo{}; + imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageInfo.imageType = VK_IMAGE_TYPE_2D; + imageInfo.extent.width = static_cast(width); + imageInfo.extent.height = static_cast(height); + imageInfo.extent.depth = 1; + imageInfo.mipLevels = mipLevels; + imageInfo.arrayLayers = 1; + imageInfo.format = format; + imageInfo.tiling = tiling; + imageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + imageInfo.usage = usage; + imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + imageInfo.samples = numSamples; + imageInfo.flags = 0; // Optional + + if (vkCreateImage(_device, &imageInfo, nullptr, &image) != VK_SUCCESS) { + throw std::runtime_error("failed to create image!"); + } + + allocateAndBindImageMemory(image, imageMemory, properties); +} + +void ComputeAndGraphics::allocateAndBindImageMemory(VkImage& image, VkDeviceMemory& imageMemory, VkMemoryPropertyFlags properties) +{ + VkMemoryRequirements memRequirements; + vkGetImageMemoryRequirements(_device, image, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(_device, &allocInfo, nullptr, &imageMemory) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate image memory!"); + } + + vkBindImageMemory(_device, image, imageMemory, 0); +} + +void ComputeAndGraphics::copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkBufferImageCopy region = createBufferImageCopyInfo(width, height); + + vkCmdCopyBufferToImage( + commandBuffer, + buffer, + image, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + 1, + ®ion + ); + + endSingleTimeCommands(commandBuffer); +} + +VkBufferImageCopy ComputeAndGraphics::createBufferImageCopyInfo(uint32_t width, uint32_t height) +{ + VkBufferImageCopy region{}; + region.bufferOffset = 0; + region.bufferRowLength = 0; + region.bufferImageHeight = 0; + + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + + region.imageOffset = {0, 0, 0}; + region.imageExtent = { + width, + height, + 1 + }; + + return region; +} + +void ComputeAndGraphics::createTextureImageView() +{ + _textureImageView = createImageView(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_ASPECT_COLOR_BIT, _mipLevels); +} + +VkImageView ComputeAndGraphics::createImageView(VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels) +{ + VkImageViewCreateInfo viewInfo{}; + viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + viewInfo.image = image; + viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D; + viewInfo.format = format; + viewInfo.subresourceRange.aspectMask = aspectFlags; + viewInfo.subresourceRange.baseMipLevel = 0; + viewInfo.subresourceRange.levelCount = mipLevels; + viewInfo.subresourceRange.baseArrayLayer = 0; + viewInfo.subresourceRange.layerCount = 1; + + VkImageView imageView; + if (vkCreateImageView(_device, &viewInfo, nullptr, &imageView) != VK_SUCCESS) { + throw std::runtime_error("failed to create texture image view!"); + } + + return imageView; +} + +void ComputeAndGraphics::createTextureSampler() +{ + VkSamplerCreateInfo samplerInfo{}; + samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + samplerInfo.magFilter = VK_FILTER_LINEAR; + samplerInfo.minFilter = VK_FILTER_LINEAR; + samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT; + samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT; + samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT; + + VkPhysicalDeviceProperties properties{}; + vkGetPhysicalDeviceProperties(_physicalDevice, &properties); + + samplerInfo.anisotropyEnable = VK_TRUE; + samplerInfo.maxAnisotropy = properties.limits.maxSamplerAnisotropy; + + samplerInfo.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK; + samplerInfo.unnormalizedCoordinates = VK_FALSE; + samplerInfo.compareEnable = VK_FALSE; + samplerInfo.compareOp = VK_COMPARE_OP_ALWAYS; + samplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR; + samplerInfo.mipLodBias = 0.0f; + samplerInfo.minLod = 0.0f; + samplerInfo.maxLod = static_cast(_mipLevels); + + if (vkCreateSampler(_device, &samplerInfo, nullptr, &_textureSampler) != VK_SUCCESS) { + throw std::runtime_error("failed to create texture sampler!"); + } +} + +void ComputeAndGraphics::loadModel() { + tinyobj::attrib_t attrib; + std::vector shapes; + std::vector materials; + std::string warn, err; + + if (!tinyobj::LoadObj(&attrib, &shapes, &materials, &warn, &err, MODEL_PATH.c_str())) { + throw std::runtime_error(warn + err); + } + + std::unordered_map uniqueVertices{}; + + for (const auto& shape : shapes) { + for (const auto& index : shape.mesh.indices) { + Vertex vertex = createLoadModelVertex(attrib, index); + + if (uniqueVertices.count(vertex) == 0) { + uniqueVertices[vertex] = static_cast(_vertices.size()); + _vertices.push_back(vertex); + } + + _indices.push_back(uniqueVertices[vertex]); + } + } +} + +Vertex ComputeAndGraphics::createLoadModelVertex(tinyobj::attrib_t attrib, tinyobj::index_t index) +{ + Vertex vertex{}; + + vertex.pos = { + attrib.vertices[3 * index.vertex_index + 0], + attrib.vertices[3 * index.vertex_index + 1], + attrib.vertices[3 * index.vertex_index + 2] + }; + + vertex.texCoord = { + attrib.texcoords[2 * index.texcoord_index + 0], + 1.0f - attrib.texcoords[2 * index.texcoord_index + 1] + }; + + vertex.color = {1.0f, 1.0f, 1.0f}; + + return vertex; +} + +void ComputeAndGraphics::createVertexBuffer() +{ + VkDeviceSize bufferSize = sizeof(_vertices[0]) * _vertices.size(); + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyVerticesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _vertexBuffer, _vertexBufferMemory); + + copyBuffer(stagingBuffer, _vertexBuffer, bufferSize); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void ComputeAndGraphics::copyVerticesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + VkDeviceSize bufferSize = sizeof(_vertices[0]) * _vertices.size(); + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, _vertices.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + + +void ComputeAndGraphics::createIndexBuffer() { + VkDeviceSize bufferSize = sizeof(_indices[0]) * _indices.size(); + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyIndicesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + , _indexBuffer, _indexBufferMemory); + + copyBuffer(stagingBuffer, _indexBuffer, bufferSize); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void ComputeAndGraphics::copyIndicesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + VkDeviceSize bufferSize = sizeof(_indices[0]) * _indices.size(); + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, _indices.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +void ComputeAndGraphics::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties + , VkBuffer& buffer, VkDeviceMemory& bufferMemory) +{ + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = size; + bufferInfo.usage = usage; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if (vkCreateBuffer(_device, &bufferInfo, nullptr, &buffer) != VK_SUCCESS) { + throw std::runtime_error("failed to create vertex buffer!"); + } + + allocateAndBindBufferMemory(buffer, bufferMemory, properties); +} + +void ComputeAndGraphics::allocateAndBindBufferMemory(VkBuffer& buffer, VkDeviceMemory& bufferMemory, VkMemoryPropertyFlags properties) +{ + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(_device, buffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(_device, &allocInfo, nullptr, &bufferMemory) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate vertex buffer memory!"); + } + + vkBindBufferMemory(_device, buffer, bufferMemory, 0); +} + +void ComputeAndGraphics::copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkBufferCopy copyRegion{}; + copyRegion.srcOffset = 0; // Optional + copyRegion.dstOffset = 0; // Optional + copyRegion.size = size; + vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, 1, ©Region); + + endSingleTimeCommands(commandBuffer); +} + +void ComputeAndGraphics::endSingleTimeCommands(VkCommandBuffer commandBuffer) +{ + vkEndCommandBuffer(commandBuffer); + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &commandBuffer; + + vkQueueSubmit(_graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(_graphicsQueue); + + vkFreeCommandBuffers(_device, _commandPool, 1, &commandBuffer); +} + +VkCommandBuffer ComputeAndGraphics::beginSingleTimeCommands() +{ + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandPool = _commandPool; + allocInfo.commandBufferCount = 1; + + VkCommandBuffer commandBuffer; + vkAllocateCommandBuffers(_device, &allocInfo, &commandBuffer); + + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(commandBuffer, &beginInfo); + + return commandBuffer; +} + +uint32_t ComputeAndGraphics::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) { + VkPhysicalDeviceMemoryProperties memProperties; + vkGetPhysicalDeviceMemoryProperties(_physicalDevice, &memProperties); + + for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) { + if ((typeFilter & (1 << i)) && (memProperties.memoryTypes[i].propertyFlags & properties) == properties) { + return i; + } + } + + throw std::runtime_error("failed to find suitable memory type!"); +} + +void ComputeAndGraphics::createShaderStorageBuffers() { + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyParticlesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + initShaderStorageBuffers(stagingBuffer); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void ComputeAndGraphics::initShaderStorageBuffers(VkBuffer& stagingBuffer) +{ + VkDeviceSize bufferSize = sizeof(Particle) * PARTICLE_COUNT; + _shaderStorageBuffers.resize(MAX_FRAMES_IN_FLIGHT); + _shaderStorageBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + createBuffer(bufferSize, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _shaderStorageBuffers[i], _shaderStorageBuffersMemory[i]); + copyBuffer(stagingBuffer, _shaderStorageBuffers[i], bufferSize); + } +} + +void ComputeAndGraphics::copyParticlesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + std::vector particles = initParticles(); + + VkDeviceSize bufferSize = sizeof(Particle) * PARTICLE_COUNT; + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, particles.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +std::vector ComputeAndGraphics::initParticles() +{ + std::default_random_engine rndEngine(static_cast(time(nullptr))); + std::uniform_real_distribution rndDist(0.0f, 1.0f); + + std::vector particles(PARTICLE_COUNT); + for (auto& particle : particles) { + float r = 0.25f * sqrt(rndDist(rndEngine)); + float theta = rndDist(rndEngine) * 2.0f * 3.14159265358979323846f; + float x = r * cos(theta) * HEIGHT / WIDTH; + float y = r * sin(theta); + particle.position = glm::vec2(x, y); + particle.velocity = glm::normalize(glm::vec2(x,y)) * 0.00025f; + particle.color = glm::vec4(rndDist(rndEngine), rndDist(rndEngine), rndDist(rndEngine), 1.0f); + } + + return particles; +} + +void ComputeAndGraphics::createUniformBuffers() { + VkDeviceSize bufferSize = sizeof(UniformBufferObject); + + _uniformBuffers.resize(MAX_FRAMES_IN_FLIGHT); + _uniformBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT); + _uniformBuffersMapped.resize(MAX_FRAMES_IN_FLIGHT); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + createBuffer(bufferSize, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , _uniformBuffers[i], _uniformBuffersMemory[i]); + + vkMapMemory(_device, _uniformBuffersMemory[i], 0, bufferSize, 0, &_uniformBuffersMapped[i]); + } +} + +void ComputeAndGraphics::createDescriptorPool() { + std::array poolSizes{}; + poolSizes[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + poolSizes[0].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + poolSizes[1].type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + poolSizes[1].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = static_cast(poolSizes.size()); + poolInfo.pPoolSizes = poolSizes.data(); + poolInfo.maxSets = static_cast(MAX_FRAMES_IN_FLIGHT); + + if (vkCreateDescriptorPool(_device, &poolInfo, nullptr, &_descriptorPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor pool!"); + } +} + +void ComputeAndGraphics::createComputeDescriptorPool() { + std::array poolSizes{}; + poolSizes[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + poolSizes[0].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + poolSizes[1].type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; + poolSizes[1].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT) * 2; + + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = static_cast(poolSizes.size()); + poolInfo.pPoolSizes = poolSizes.data(); + poolInfo.maxSets = static_cast(MAX_FRAMES_IN_FLIGHT); + + if (vkCreateDescriptorPool(_device, &poolInfo, nullptr, &_computeDescriptorPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor pool!"); + } +} + +void ComputeAndGraphics::createDescriptorSets() +{ + allocateDescriptorSets(); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + VkDescriptorBufferInfo bufferInfo = createDescriptorBufferInfo(_uniformBuffers[i], sizeof(UniformBufferObject)); + + VkDescriptorImageInfo imageInfo = createDescriptorImageInfo(); + + std::array descriptorWrites{}; + + addUniformBufferWriteDescriptor(descriptorWrites[0], &bufferInfo, i, 0); + + addImageWriteDescriptor(descriptorWrites[1], &imageInfo, i, 1); + + vkUpdateDescriptorSets(_device, static_cast(descriptorWrites.size()), descriptorWrites.data(), 0, nullptr); + } +} + +void ComputeAndGraphics::addUniformBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pBufferInfo = bufferInfo; +} + +void ComputeAndGraphics::addImageWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorImageInfo* imageInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pImageInfo = imageInfo; +} + +VkDescriptorImageInfo ComputeAndGraphics::createDescriptorImageInfo() +{ + VkDescriptorImageInfo imageInfo{}; + imageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + imageInfo.imageView = _textureImageView; + imageInfo.sampler = _textureSampler; + + return imageInfo; +} + +VkDescriptorBufferInfo ComputeAndGraphics::createDescriptorBufferInfo(VkBuffer buffer, VkDeviceSize range) +{ + VkDescriptorBufferInfo bufferInfo{}; + bufferInfo.buffer = buffer; + bufferInfo.offset = 0; + bufferInfo.range = range; + + return bufferInfo; +} + +void ComputeAndGraphics::allocateDescriptorSets() +{ + std::vector layouts(MAX_FRAMES_IN_FLIGHT, _descriptorSetLayout); + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = _descriptorPool; + allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); + allocInfo.pSetLayouts = layouts.data(); + + _descriptorSets.resize(MAX_FRAMES_IN_FLIGHT); + if (vkAllocateDescriptorSets(_device, &allocInfo, _descriptorSets.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate descriptor sets!"); + } +} + +void ComputeAndGraphics::createComputeDescriptorSets() +{ + allocateComputeDescriptorSets(); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + VkDescriptorBufferInfo bufferInfo = createDescriptorBufferInfo(_uniformBuffers[i], sizeof(UniformBufferObject)); + + std::array descriptorWrites{}; + + addUniformBufferWriteDescriptor(descriptorWrites[0], &bufferInfo, i, 0); + + VkDescriptorBufferInfo storageBufferInfoLastFrame = createDescriptorBufferInfo(_shaderStorageBuffers[(i - 1) % MAX_FRAMES_IN_FLIGHT] + , sizeof(Particle) * PARTICLE_COUNT); + addStorageBufferWriteDescriptor(descriptorWrites[1], &storageBufferInfoLastFrame, i, 1); + + VkDescriptorBufferInfo storageBufferInfoCurrentFrame = createDescriptorBufferInfo(_shaderStorageBuffers[i], sizeof(Particle) * PARTICLE_COUNT); + addStorageBufferWriteDescriptor(descriptorWrites[2], &storageBufferInfoCurrentFrame, i, 2); + + vkUpdateDescriptorSets(_device, static_cast(descriptorWrites.size()), descriptorWrites.data(), 0, nullptr); + } +} + +void ComputeAndGraphics::addStorageBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pBufferInfo = bufferInfo; +} + +void ComputeAndGraphics::allocateComputeDescriptorSets() +{ + std::vector layouts(MAX_FRAMES_IN_FLIGHT, _computeDescriptorSetLayout); + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = _computeDescriptorPool; + allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); + allocInfo.pSetLayouts = layouts.data(); + + _descriptorSets.resize(MAX_FRAMES_IN_FLIGHT); + if (vkAllocateDescriptorSets(_device, &allocInfo, _computeDescriptorSets.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate descriptor sets!"); + } +} + +void ComputeAndGraphics::createCommandBuffer() { + _commandBuffers.resize(MAX_FRAMES_IN_FLIGHT); + + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = _commandPool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = static_cast(_commandBuffers.size()); + + if (vkAllocateCommandBuffers(_device, &allocInfo, _commandBuffers.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate command buffers!"); + } +} + +void ComputeAndGraphics::createComputeCommandBuffers() { + _computeCommandBuffers.resize(MAX_FRAMES_IN_FLIGHT); + + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = _commandPool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = static_cast(_computeCommandBuffers.size()); + + if (vkAllocateCommandBuffers(_device, &allocInfo, _computeCommandBuffers.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate compute command buffers!"); + } +} + +void ComputeAndGraphics::createSyncObjects() { + _imageAvailableSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _renderFinishedSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _inFlightFences.resize(MAX_FRAMES_IN_FLIGHT); + + _computeFinishedSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _computeInFlightFences.resize(MAX_FRAMES_IN_FLIGHT); + + VkSemaphoreCreateInfo semaphoreInfo{}; + semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + + VkFenceCreateInfo fenceInfo{}; + fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT; + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + { + if (vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_imageAvailableSemaphores[i]) != VK_SUCCESS || + vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_renderFinishedSemaphores[i]) != VK_SUCCESS || + vkCreateFence(_device, &fenceInfo, nullptr, &_inFlightFences[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create synchronization objects for a frame!"); + } + if (vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_computeFinishedSemaphores[i]) != VK_SUCCESS || + vkCreateFence(_device, &fenceInfo, nullptr, &_computeInFlightFences[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute synchronization objects for a frame!"); + } + } +} + + + +void ComputeAndGraphics::mainLoop() +{ + while (!glfwWindowShouldClose(_window)) { + glfwPollEvents(); + drawFrame(); + } + + vkDeviceWaitIdle(_device); +} + +void ComputeAndGraphics::drawFrame(){ +// computeSubmission(); + + VkResult result = graphicsSubmission(); + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + return; + } + + currentFrame = (currentFrame + 1) % MAX_FRAMES_IN_FLIGHT; +} + +void ComputeAndGraphics::computeSubmission() +{ + vkWaitForFences(_device, 1, &_computeInFlightFences[currentFrame], VK_TRUE, UINT64_MAX); + + updateUniformBuffer(currentFrame); + + vkResetFences(_device, 1, &_computeInFlightFences[currentFrame]); + + vkResetCommandBuffer(_computeCommandBuffers[currentFrame], /*VkCommandBufferResetFlagBits*/ 0); + recordComputeCommandBuffer(_computeCommandBuffers[currentFrame]); + + VkSubmitInfo submitInfo = createComputeSubmitInfo(); + + if (vkQueueSubmit(_graphicsQueue, 1, &submitInfo, _computeInFlightFences[currentFrame]) != VK_SUCCESS) { + throw std::runtime_error("failed to submit compute command buffer!"); + } + +} + +VkSubmitInfo ComputeAndGraphics::createComputeSubmitInfo() +{ + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_computeCommandBuffers[currentFrame]; + submitInfo.signalSemaphoreCount = 1; + submitInfo.pSignalSemaphores = &_computeFinishedSemaphores[currentFrame]; +} + +VkResult ComputeAndGraphics::graphicsSubmission() +{ + vkWaitForFences(_device, 1, &_inFlightFences[currentFrame], VK_TRUE, UINT64_MAX); + + uint32_t imageIndex; + VkResult result = vkAcquireNextImageKHR(_device, _swapChain, UINT64_MAX, _imageAvailableSemaphores[currentFrame], VK_NULL_HANDLE, &imageIndex); + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + recreateSwapChain(); + return VK_ERROR_OUT_OF_DATE_KHR; + } else if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR) + { + throw std::runtime_error("failed to acquire swap chain image!"); + } + +// VkSemaphore waitSemaphores[] = {_computeFinishedSemaphores[currentFrame], _imageAvailableSemaphores[currentFrame]}; +// VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; + VkSemaphore waitSemaphores[] = {_imageAvailableSemaphores[currentFrame]}; + VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; + VkSemaphore signalSemaphores[] = {_renderFinishedSemaphores[currentFrame]}; + + drawSubmission(imageIndex, waitSemaphores, waitStages, signalSemaphores); + + result = presentSubmission(imageIndex, signalSemaphores); + return result; +} + +void ComputeAndGraphics::drawSubmission(uint32_t imageIndex, VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages + , VkSemaphore* signalSemaphores) +{ + updateUniformBuffer(currentFrame); + + vkResetFences(_device, 1, &_inFlightFences[currentFrame]); + + vkResetCommandBuffer(_commandBuffers[currentFrame], 0); + + recordCommandBuffer(_commandBuffers[currentFrame], imageIndex); + + VkSubmitInfo submitInfo = createDrawSubmitInfo(waitSemaphores, waitStages, signalSemaphores); + + if (vkQueueSubmit(_graphicsQueue, 1, &submitInfo, _inFlightFences[currentFrame]) != VK_SUCCESS) { + throw std::runtime_error("failed to submit draw command buffer!"); + } +} + +VkSubmitInfo ComputeAndGraphics::createDrawSubmitInfo(VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores) +{ + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + + submitInfo.waitSemaphoreCount = 1; + submitInfo.pWaitSemaphores = waitSemaphores; + submitInfo.pWaitDstStageMask = waitStages; + + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_commandBuffers[currentFrame]; + + submitInfo.signalSemaphoreCount = 1; + submitInfo.pSignalSemaphores = signalSemaphores; + + return submitInfo; +} + +VkResult ComputeAndGraphics::presentSubmission(uint32_t imageIndex, VkSemaphore* signalSemaphores) +{ + VkPresentInfoKHR presentInfo{}; + presentInfo.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; + + presentInfo.waitSemaphoreCount = 1; + presentInfo.pWaitSemaphores = signalSemaphores; + + VkSwapchainKHR swapChains[] = {_swapChain}; + presentInfo.swapchainCount = 1; + presentInfo.pSwapchains = swapChains; + presentInfo.pImageIndices = &imageIndex; + + presentInfo.pResults = nullptr; // Optional + + VkResult result = vkQueuePresentKHR(_presentQueue, &presentInfo); + + if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || framebufferResized) + { + framebufferResized = false; + recreateSwapChain(); + } else if (result != VK_SUCCESS) { + throw std::runtime_error("failed to present swap chain image!"); + } + return result; +} + +void ComputeAndGraphics::recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex) { + beginPipelineCommands(commandBuffer); + + beginRenderPass(commandBuffer, imageIndex); + + vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _graphicsPipeline); + + VkViewport viewport = createViewportInfo(); + vkCmdSetViewport(commandBuffer, 0, 1, &viewport); + + VkRect2D scissor = createScissorInfo(); + vkCmdSetScissor(commandBuffer, 0, 1, &scissor); + + VkBuffer vertexBuffers[] = {_vertexBuffer}; + VkDeviceSize offsets[] = {0}; + vkCmdBindVertexBuffers(commandBuffer, 0, 1, vertexBuffers, offsets); + vkCmdBindIndexBuffer(commandBuffer, _indexBuffer, 0, VK_INDEX_TYPE_UINT32); + +// vkCmdBindVertexBuffers(commandBuffer, 0, 1, &_shaderStorageBuffers[currentFrame], offsets); + + vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _pipelineLayout, 0, 1, &_descriptorSets[currentFrame], 0, nullptr); + +// vkCmdDraw(commandBuffer, PARTICLE_COUNT, 1, 0, 0); + vkCmdDrawIndexed(commandBuffer, static_cast(_indices.size()), 1, 0, 0, 0); + + vkCmdEndRenderPass(commandBuffer); + + if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { + throw std::runtime_error("failed to record command buffer!"); + } +} + +void ComputeAndGraphics::beginPipelineCommands(VkCommandBuffer commandBuffer) +{ + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = 0; // Optional + beginInfo.pInheritanceInfo = nullptr; // Optional + + if (vkBeginCommandBuffer(commandBuffer, &beginInfo) != VK_SUCCESS) { + throw std::runtime_error("failed to begin recording command buffer!"); + } +} + +void ComputeAndGraphics::beginRenderPass(VkCommandBuffer commandBuffer, uint32_t imageIndex) +{ + VkRenderPassBeginInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; + renderPassInfo.renderPass = _renderPass; + renderPassInfo.framebuffer = _swapChainFramebuffers[imageIndex]; + renderPassInfo.renderArea.offset = {0, 0}; + renderPassInfo.renderArea.extent = _swapChainExtent; + + std::vector clearValues{}; + clearValues.resize(2); + clearValues[0].color = {{0.0f, 0.0f, 0.0f, 1.0f}}; + clearValues[1].depthStencil = {1.0f, 0}; + + renderPassInfo.clearValueCount = static_cast(clearValues.size()); + renderPassInfo.pClearValues = clearValues.data(); + + vkCmdBeginRenderPass(commandBuffer, &renderPassInfo, VK_SUBPASS_CONTENTS_INLINE); +} + +VkViewport ComputeAndGraphics::createViewportInfo() +{ + VkViewport viewport{}; + viewport.x = 0.0f; + viewport.y = 0.0f; + viewport.width = static_cast(_swapChainExtent.width); + viewport.height = static_cast(_swapChainExtent.height); + viewport.minDepth = 0.0f; + viewport.maxDepth = 1.0f; + + return viewport; +} + +VkRect2D ComputeAndGraphics::createScissorInfo() +{ + VkRect2D scissor{}; + scissor.offset = {0, 0}; + scissor.extent = _swapChainExtent; + + return scissor; +} + +void ComputeAndGraphics::recordComputeCommandBuffer(VkCommandBuffer commandBuffer) { + beginPipelineCommands(commandBuffer); + + vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, _computePipeline); + + vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, _computePipelineLayout, 0, 1, &_computeDescriptorSets[currentFrame], 0, nullptr); + + vkCmdDispatch(commandBuffer, PARTICLE_COUNT / 256, 1, 1); + + if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { + throw std::runtime_error("failed to record compute command buffer!"); + } + +} + +void ComputeAndGraphics::updateUniformBuffer(uint32_t currentImage) { + static auto startTime = std::chrono::high_resolution_clock::now(); + + auto currentTime = std::chrono::high_resolution_clock::now(); + float time = std::chrono::duration(currentTime - startTime).count(); + + UniformBufferObject ubo{}; + ubo.model = glm::rotate(glm::mat4(1.0f), time * glm::radians(22.5f), glm::vec3(0.0f, 0.0f, 1.0f)); + ubo.view = glm::lookAt(glm::vec3(2.0f, 2.0f, 2.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 1.0f)); + ubo.proj = glm::perspective(glm::radians(45.0f), _swapChainExtent.width / static_cast(_swapChainExtent.height), 0.1f, 10.0f); + ubo.proj[1][1] *= -1; + + memcpy(_uniformBuffersMapped[currentImage], &ubo, sizeof(ubo)); +} + +void ComputeAndGraphics::recreateSwapChain() { + int width = 0, height = 0; + glfwGetFramebufferSize(_window, &width, &height); + while (width == 0 || height == 0) { + glfwGetFramebufferSize(_window, &width, &height); + glfwWaitEvents(); + } + + vkDeviceWaitIdle(_device); + + cleanupSwapChain(); + + createSwapChain(); + createImageViews(); + createColorResources(); + createDepthResources(); + createFramebuffers(); +} + + + +void ComputeAndGraphics::cleanupSwapChain() { + vkDestroyImageView(_device, _colorImageView, nullptr); + vkDestroyImage(_device, _colorImage, nullptr); + vkFreeMemory(_device, _colorImageMemory, nullptr); + + vkDestroyImageView(_device, _depthImageView, nullptr); + vkDestroyImage(_device, _depthImage, nullptr); + vkFreeMemory(_device, _depthImageMemory, nullptr); + + for (auto framebuffer : _swapChainFramebuffers) { + vkDestroyFramebuffer(_device, framebuffer, nullptr); + } + + for (auto imageView : _swapChainImageViews) { + vkDestroyImageView(_device, imageView, nullptr); + } + + vkDestroySwapchainKHR(_device, _swapChain, nullptr); +} + +void ComputeAndGraphics::cleanPipeline() +{ + vkDestroyPipeline(_device, _graphicsPipeline, nullptr); + vkDestroyPipelineLayout(_device, _pipelineLayout, nullptr); + + vkDestroyPipeline(_device, _computePipeline, nullptr); + vkDestroyPipelineLayout(_device, _computePipelineLayout, nullptr); +} + +void ComputeAndGraphics::cleanBuffers() +{ + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroyBuffer(_device, _shaderStorageBuffers[i], nullptr); + vkFreeMemory(_device, _shaderStorageBuffersMemory[i], nullptr); + } + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroyBuffer(_device, _uniformBuffers[i], nullptr); + vkFreeMemory(_device, _uniformBuffersMemory[i], nullptr); + } + + vkDestroyBuffer(_device, _indexBuffer, nullptr); + vkFreeMemory(_device, _indexBufferMemory, nullptr); + + vkDestroyBuffer(_device, _vertexBuffer, nullptr); + vkFreeMemory(_device, _vertexBufferMemory, nullptr); +} + +void ComputeAndGraphics::cleanSyncObjects() +{ + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroySemaphore(_device, _renderFinishedSemaphores[i], nullptr); + vkDestroySemaphore(_device, _imageAvailableSemaphores[i], nullptr); + vkDestroyFence(_device, _inFlightFences[i], nullptr); + + vkDestroySemaphore(_device, _computeFinishedSemaphores[i], nullptr); + vkDestroyFence(_device, _computeInFlightFences[i], nullptr); + } +} + +void ComputeAndGraphics::cleanBase() +{ + vkDestroyDevice(_device, nullptr); + + vkDestroySurfaceKHR(_instance, _surface, nullptr); + + if (enableValidationLayers) { + DestroyDebugUtilsMessengerEXT(_instance, _debugMessenger, nullptr); + } + + vkDestroyInstance(_instance, nullptr); + + glfwDestroyWindow(_window); + + glfwTerminate(); +} + +void ComputeAndGraphics::cleanup() +{ + cleanupSwapChain(); + + vkDestroySampler(_device, _textureSampler, nullptr); + vkDestroyImageView(_device, _textureImageView, nullptr); + + vkDestroyImage(_device, _textureImage, nullptr); + vkFreeMemory(_device, _textureImageMemory, nullptr); + + vkDestroyDescriptorPool(_device, _descriptorPool, nullptr); + + vkDestroyDescriptorSetLayout(_device, _descriptorSetLayout, nullptr); + + cleanBuffers(); + + cleanSyncObjects(); + + vkDestroyCommandPool(_device, _commandPool, nullptr); + + cleanPipeline(); + + vkDestroyRenderPass(_device, _renderPass, nullptr); + + cleanBase(); +} diff --git a/VulkanTutorial1.0/ComputeAndGraphics.h b/VulkanTutorial1.0/ComputeAndGraphics.h new file mode 100644 index 0000000..6f9c2f7 --- /dev/null +++ b/VulkanTutorial1.0/ComputeAndGraphics.h @@ -0,0 +1,427 @@ +#ifndef COMPUTEANDGRAPHICS_H +#define COMPUTEANDGRAPHICS_H + +#pragma once + +#ifdef NDEBUG + const bool enableValidationLayers = false; +#else + const bool enableValidationLayers = true; +#endif + +#include "Types.h" + +#include + + +#include +#include // Necessary for uint32_t +#include // Necessary for std::numeric_limits +#include // Necessary for std::clamp +#include +#include + +#ifdef Q_OS_ANDROID + const QString TARGET_PLATFORM = "Android"; +#else + const QString TARGET_PLATFORM = "Linux"; +#endif + +const int MAX_FRAMES_IN_FLIGHT = 2; + +const uint32_t PARTICLE_COUNT = 8192; + +struct Particle { + alignas(16) glm::vec2 position; + alignas(16) glm::vec2 velocity; + alignas(16) glm::vec4 color; + + static VkVertexInputBindingDescription getBindingDescription() { + VkVertexInputBindingDescription bindingDescription{}; + bindingDescription.binding = 0; + bindingDescription.stride = sizeof(Particle); + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + return bindingDescription; + } + + static std::array getAttributeDescriptions() { + std::array attributeDescriptions{}; + + attributeDescriptions[0].binding = 0; + attributeDescriptions[0].location = 0; + attributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Particle, position); + + attributeDescriptions[1].binding = 0; + attributeDescriptions[1].location = 1; + attributeDescriptions[1].format = VK_FORMAT_R32G32B32A32_SFLOAT; + attributeDescriptions[1].offset = offsetof(Particle, color); + + return attributeDescriptions; + } +}; + +struct QueueFamilyIndices { + std::optional graphicsFamily; + std::optional presentFamily; + + bool isComplete() { + return graphicsFamily.has_value() && presentFamily.has_value(); + } +}; + +struct Vertex { + alignas(16) glm::vec3 pos; + alignas(16) glm::vec3 color; + alignas(16) glm::vec2 texCoord; + + static VkVertexInputBindingDescription getBindingDescription() { + VkVertexInputBindingDescription bindingDescription{}; + bindingDescription.binding = 0; + bindingDescription.stride = sizeof(Vertex); + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + return bindingDescription; + } + + static std::array getAttributeDescriptions() { + std::array attributeDescriptions{}; + + attributeDescriptions[0].binding = 0; + attributeDescriptions[0].location = 0; + attributeDescriptions[0].format = VK_FORMAT_R32G32B32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Vertex, pos); + + attributeDescriptions[1].binding = 0; + attributeDescriptions[1].location = 1; + attributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT; + attributeDescriptions[1].offset = offsetof(Vertex, color); + + attributeDescriptions[2].binding = 0; + attributeDescriptions[2].location = 2; + attributeDescriptions[2].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[2].offset = offsetof(Vertex, texCoord); + + return attributeDescriptions; + } + + bool operator==(const Vertex& other) const { + return pos == other.pos && color == other.color && texCoord == other.texCoord; + } +}; + +namespace std { + template<> struct hash { + size_t operator()(Vertex const& vertex) const { + return ((hash()(vertex.pos) ^ + (hash()(vertex.color) << 1)) >> 1) ^ + (hash()(vertex.texCoord) << 1); + } + }; +} + +struct UniformBufferObject { + alignas(16) glm::mat4 model; + alignas(16) glm::mat4 view; + alignas(16) glm::mat4 proj; +}; + +class ComputeAndGraphics +{ +public: + ComputeAndGraphics(); + void run(); + + // Message Callback + static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT /*messageSeverity*/, + VkDebugUtilsMessageTypeFlagsEXT /*messageType*/,const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,void* /*pUserData*/) { + + std::cerr << "validation layer: " << pCallbackData->pMessage << std::endl; + + return VK_FALSE; + } + static std::vector readFile(const std::string& filename); + + static void framebufferResizeCallback(GLFWwindow* window, int width, int height); +// static void framebufferResizeCallback(QQuickWindow* window, int width, int height); + +private: + void initWindow(); + void initVulkan(); + void mainLoop(); + void cleanup(); + void createInstance(); + + // Enable Validation Layers + bool checkValidationLayerSupport(); + + // Message Callback + std::vector getRequiredExtensions(); + void setupDebugMessenger(); + + void pickPhysicalDevice(); + void chooseDevice(uint32_t deviceCount); + bool isDeviceSuitable(VkPhysicalDevice device); + + void createLogicalDevice(); + QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device); + + void createSurface(); + + bool checkDeviceExtensionSupport(VkPhysicalDevice device); + SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device); + VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats); + VkPresentModeKHR chooseSwapPresentMode(const std::vector& availablePresentModes); + VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities); + void createSwapChain(); + + void createImageViews(); + + void createGraphicsPipeline(); + VkShaderModule createShaderModule(const std::vector& code); + void createRenderPass(); + + void createFramebuffers(); + void createCommandPool(); + void createCommandBuffer(); + void recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex); + + void drawFrame(); + void createSyncObjects(); + + void recreateSwapChain(); + void cleanupSwapChain(); + + void createVertexBuffer(); + uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties); + void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory); + void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size); + void createIndexBuffer(); + + void createDescriptorSetLayout(); + void createUniformBuffers(); + void updateUniformBuffer(uint32_t currentImage); + void createDescriptorPool(); + void createDescriptorSets(); + + void createTextureImage(); + void createImage(uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage + , VkMemoryPropertyFlags properties, VkImage& image, VkDeviceMemory& imageMemory); + VkCommandBuffer beginSingleTimeCommands(); + void endSingleTimeCommands(VkCommandBuffer commandBuffer); + void transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels); + void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height); + void createTextureImageView(); + VkImageView createImageView(VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels); + void createTextureSampler(); + + void createDepthResources(); + VkFormat findSupportedFormat(const std::vector& candidates, VkImageTiling tiling, VkFormatFeatureFlags features); + VkFormat findDepthFormat(); + bool hasStencilComponent(VkFormat format); + + void loadModel(); + + void generateMipmaps(VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels); + + VkSampleCountFlagBits getMaxUsableSampleCount(); + void createColorResources(); + + void createShaderStorageBuffers(); + void createComputePipeline(); + void createComputeCommandBuffers(); + void recordComputeCommandBuffer(VkCommandBuffer commandBuffer); + void createComputeDescriptorSets(); + void createComputeDescriptorSetLayout(); + void createComputeDescriptorPool(); + + VkApplicationInfo createInstanceAppInfo(); + VkDebugUtilsMessengerCreateInfoEXT createInstanceDebugMessengerInfo(); + VkInstanceCreateInfo createInstanceInfo(VkApplicationInfo* appInfo, std::vector& extensions + , VkDebugUtilsMessengerCreateInfoEXT& debugCreateInfo); + + VkDeviceQueueCreateInfo createQueueInfo(uint32_t queueFamily, uint32_t queueCount, float* queuePriority); + VkPhysicalDeviceFeatures createDeviceFeatures(); + VkDeviceCreateInfo createLogicalDeviceInfo(std::vector& queueCreateInfos, VkPhysicalDeviceFeatures* deviceFeatures); + + VkSwapchainCreateInfoKHR createSwapChainInfo(SwapChainSupportDetails swapChainSupport, VkSurfaceKHR _surface, uint32_t imageCount + , VkSurfaceFormatKHR surfaceFormat, VkExtent2D extent, VkPresentModeKHR presentMode); + + VkAttachmentDescription createColorAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentDescription createDepthAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentDescription createColorAttachmentResolveInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentReference createAttachmentRefInfo(uint32_t offset, VkImageLayout layout); + VkSubpassDescription createSubpassInfo(VkAttachmentReference* colorAttachRef, VkAttachmentReference* depthAttachRef + , VkAttachmentReference* colorAttachResolverRef); + VkRenderPassCreateInfo createRenderPassInfo(std::vector& attachments, VkSubpassDescription* subpass, VkSubpassDependency* dependency); + VkSubpassDependency createSubpassDependencyInfo(); + + VkDescriptorSetLayoutBinding createLayoutBindingInfo(uint32_t offset, VkDescriptorType descType, VkShaderStageFlagBits StageFlags); + + VkPipelineShaderStageCreateInfo createPipelineShaderInfo(VkShaderStageFlagBits stage, VkShaderModule module); + VkPipelineVertexInputStateCreateInfo createPipelineVertexInputInfo(); + VkPipelineInputAssemblyStateCreateInfo createPipelineInputAssemblyStateInfo(); + VkPipelineDynamicStateCreateInfo createPipelineDynamicStateInfo(std::vector& dynamicStates); + VkPipelineViewportStateCreateInfo createPipelineViewportStateInfo(); + VkPipelineRasterizationStateCreateInfo createPipelineRasterizationStateInfo(); + VkPipelineMultisampleStateCreateInfo createPipelineMultisampleStateInfo(); + VkPipelineColorBlendAttachmentState colorPipelineBlendAttachmentStateInfo(); + VkPipelineColorBlendStateCreateInfo colorPipelineBlendStateInfo(VkPipelineColorBlendAttachmentState* colorBlendAttachment); + VkPipelineLayoutCreateInfo createPipelineLayoutInfo(); + VkPipelineDepthStencilStateCreateInfo createPipelineDepthStencilStateInfo(); + VkPipelineLayoutCreateInfo createComputePipelineLayoutInfo(); + + VkFramebufferCreateInfo createFramebufferInfo(std::vector& attachments); + + void copyImageToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory, stbi_uc* pixels, VkDeviceSize imageSize); + + VkImageMemoryBarrier initMipmapBarrier(VkImage image); + void setFirstStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + void setSecondStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + void setLastStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + VkImageBlit createBlitMipMapInfo(int32_t mipWidth, int32_t mipHeight, uint32_t index); + + VkImageMemoryBarrier initTransitionLayoutBarrierInfo(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels); + void setSrcAndDst(VkImageMemoryBarrier& barrier, VkPipelineStageFlags& sourceStage, VkPipelineStageFlags& destinationStage, VkImageLayout oldLayout + , VkImageLayout newLayout); + + void allocateAndBindImageMemory(VkImage& image, VkDeviceMemory& imageMemory, VkMemoryPropertyFlags properties); + + VkBufferImageCopy createBufferImageCopyInfo(uint32_t width, uint32_t height); + + Vertex createLoadModelVertex(tinyobj::attrib_t attrib, tinyobj::index_t index); + + void copyVerticesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + void copyIndicesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + + void allocateAndBindBufferMemory(VkBuffer& buffer, VkDeviceMemory& bufferMemory, VkMemoryPropertyFlags properties); + void copyParticlesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + + std::vector initParticles(); + void initShaderStorageBuffers(VkBuffer& stagingBuffer); + + void allocateDescriptorSets(); + VkDescriptorBufferInfo createDescriptorBufferInfo(VkBuffer buffer, VkDeviceSize range); + VkDescriptorImageInfo createDescriptorImageInfo(); + void addUniformBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index, uint32_t dstBinding); + void addImageWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorImageInfo* imageInfo, size_t index, uint32_t dstBinding); + + void allocateComputeDescriptorSets(); + void addStorageBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index, uint32_t dstBinding); + + void computeSubmission(); + VkSubmitInfo createComputeSubmitInfo(); + VkResult graphicsSubmission(); + void drawSubmission(uint32_t imageIndex, VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores); + VkSubmitInfo createDrawSubmitInfo(VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores); + VkResult presentSubmission(uint32_t imageIndex, VkSemaphore* signalSemaphores); + + VkViewport createViewportInfo(); + VkRect2D createScissorInfo(); + void beginPipelineCommands(VkCommandBuffer commandBuffer); + void beginRenderPass(VkCommandBuffer commandBuffer, uint32_t imageIndex); + + void cleanPipeline(); + void cleanBuffers(); + void cleanSyncObjects(); + void cleanBase(); + + const int32_t WIDTH = 800; + const int32_t HEIGHT = 600; + + const std::string MODEL_PATH = "/home/ali-mehrabani/Qt_projects/VkTest/models/viking_room.obj"; + const std::string TEXTURE_PATH = "/home/ali-mehrabani/Qt_projects/VkTest/textures/viking_room.png"; + + const std::vector validationLayers = { + "VK_LAYER_KHRONOS_validation" + }; + const std::vector deviceExtensions = { + VK_KHR_SWAPCHAIN_EXTENSION_NAME + }; +// const std::vector _vertices = { +// {{-0.5f, -0.5f, 0.0f}, {1.0f, 0.0f, 0.0f}, {1.0f, 0.0f}}, +// {{0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f}}, +// {{0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f}}, +// {{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {1.0f, 1.0f}}, + +// {{-0.5f, -0.5f, -0.5f}, {1.0f, 0.0f, 0.0f}, {0.0f, 0.0f}}, +// {{0.5f, -0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}, {1.0f, 0.0f}}, +// {{0.5f, 0.5f, -0.5f}, {0.0f, 0.0f, 1.0f}, {1.0f, 1.0f}}, +// {{-0.5f, 0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f}} +// }; +// const std::vector _indices = { +// 0, 1, 2, 2, 3, 0, +// 4, 5, 6, 6, 7, 4 +// }; + + std::vector _vertices; + std::vector _indices; + + uint32_t currentFrame = 0; + bool framebufferResized = false; + + GLFWwindow *_window; +// QQuickWindow* _window; + VkInstance _instance; + VkDebugUtilsMessengerEXT _debugMessenger; + VkPhysicalDevice _physicalDevice; + VkDevice _device; + VkQueue _graphicsQueue; + VkSurfaceKHR _surface; + VkQueue _presentQueue; + VkSwapchainKHR _swapChain; + std::vector _swapChainImages; + VkFormat _swapChainImageFormat; + VkExtent2D _swapChainExtent; + std::vector _swapChainImageViews; + VkRenderPass _renderPass; + VkDescriptorSetLayout _descriptorSetLayout; + VkPipelineLayout _pipelineLayout; + VkPipeline _graphicsPipeline; + std::vector _swapChainFramebuffers; + VkCommandPool _commandPool; + std::vector _commandBuffers; + std::vector _imageAvailableSemaphores; + std::vector _renderFinishedSemaphores; + std::vector _inFlightFences; + VkBuffer _vertexBuffer; + VkDeviceMemory _vertexBufferMemory; + VkBuffer _indexBuffer; + VkDeviceMemory _indexBufferMemory; + + std::vector _uniformBuffers; + std::vector _uniformBuffersMemory; + std::vector _uniformBuffersMapped; + VkDescriptorPool _descriptorPool; + std::vector _descriptorSets; + + uint32_t _mipLevels; + VkImage _textureImage; + VkDeviceMemory _textureImageMemory; + VkImageView _textureImageView; + VkSampler _textureSampler; + + VkImage _depthImage; + VkDeviceMemory _depthImageMemory; + VkImageView _depthImageView; + + VkSampleCountFlagBits _msaaSamples = VK_SAMPLE_COUNT_1_BIT; + VkImage _colorImage; + VkDeviceMemory _colorImageMemory; + VkImageView _colorImageView; + + std::vector _shaderStorageBuffers; + std::vector _shaderStorageBuffersMemory; + VkPipelineLayout _computePipelineLayout; + VkPipeline _computePipeline; + VkDescriptorSetLayout _computeDescriptorSetLayout; + VkDescriptorPool _computeDescriptorPool; + std::vector _computeDescriptorSets; + std::vector _computeCommandBuffers; + std::vector _computeInFlightFences; + std::vector _computeFinishedSemaphores; + +}; + +#endif // COMPUTEANDGRAPHICS_H diff --git a/VulkanTutorial1.0/HelloTriangleApplication.cpp b/VulkanTutorial1.0/HelloTriangleApplication.cpp new file mode 100644 index 0000000..b4c7272 --- /dev/null +++ b/VulkanTutorial1.0/HelloTriangleApplication.cpp @@ -0,0 +1,2320 @@ +#include "HelloTriangleApplication.h" + +#include +#include +#include +#include + +VkResult CreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo + , const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pDebugMessenger) { + auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")); + if (func != nullptr) { + return func(instance, pCreateInfo, pAllocator, pDebugMessenger); + } else { + return VK_ERROR_EXTENSION_NOT_PRESENT; + } +} + +void DestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT debugMessenger, const VkAllocationCallbacks* pAllocator) { + auto func = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")); + if (func != nullptr) { + func(instance, debugMessenger, pAllocator); + } +} + +std::vector HelloTriangleApplication::readFile(const std::string& filename) { + const std::string& newFilename = "/home/ali-mehrabani/Qt_projects/VkTest/" + filename; + std::ifstream file(newFilename, std::ios::ate | std::ios::binary); + + if (!file.is_open()) { + throw std::runtime_error("failed to open file!"); + } + + size_t fileSize = static_cast(file.tellg()); + std::vector buffer(fileSize); + file.seekg(0); + file.read(buffer.data(), static_cast(fileSize)); + + file.close(); + + return buffer; +} + +HelloTriangleApplication::HelloTriangleApplication() +{ + +} + +void HelloTriangleApplication::run() +{ + initWindow(); + initVulkan(); + mainLoop(); + cleanup(); +} + +void HelloTriangleApplication::initWindow() +{ + glfwInit(); + + glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + + _window = glfwCreateWindow(WIDTH, HEIGHT, "Vulkan", nullptr, nullptr); + glfwSetWindowUserPointer(_window, this); + glfwSetFramebufferSizeCallback(_window, framebufferResizeCallback); +} + +void HelloTriangleApplication::framebufferResizeCallback(GLFWwindow* window, int /*width*/, int /*height*/) { + auto app = reinterpret_cast(glfwGetWindowUserPointer(window)); + app->framebufferResized = true; +} + + + +void HelloTriangleApplication::initVulkan() +{ +// if (enableValidationLayers && !checkValidationLayerSupport()) { +// throw std::runtime_error("validation layers requested, but not available!"); +// } + + createInstance(); + setupDebugMessenger(); + createSurface(); + pickPhysicalDevice(); + createLogicalDevice(); + createSwapChain(); + createImageViews(); + createRenderPass(); + createDescriptorSetLayout(); +// createComputeDescriptorSetLayout(); + createGraphicsPipeline(); +// createComputePipeline(); + createCommandPool(); + createColorResources(); + createDepthResources(); + createFramebuffers(); + createTextureImage(); + createTextureImageView(); + createTextureSampler(); + loadModel(); + createVertexBuffer(); + createIndexBuffer(); +// createShaderStorageBuffers(); + createUniformBuffers(); + createDescriptorPool(); +// createComputeDescriptorPool(); + createDescriptorSets(); +// createComputeDescriptorSets(); + createCommandBuffer(); +// createComputeCommandBuffers(); + createSyncObjects(); +} + +bool HelloTriangleApplication::checkValidationLayerSupport() +{ + uint32_t layerCount; + vkEnumerateInstanceLayerProperties(&layerCount, nullptr); + + std::vector availableLayers(layerCount); + vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data()); + + for (const char* layerName : validationLayers) { + bool layerFound = false; + + for (const auto& layerProperties : availableLayers) { + if (strcmp(layerName, layerProperties.layerName) == 0) { + layerFound = true; + break; + } + } + + if (!layerFound) { + return false; + } + } + + return true; +} + +VkApplicationInfo HelloTriangleApplication::createInstanceAppInfo() +{ + VkApplicationInfo appInfo{}; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "Vulkan App"; + appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.pEngineName = "No Engine"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.apiVersion = VK_API_VERSION_1_0; + + return appInfo; +} + +VkDebugUtilsMessengerCreateInfoEXT HelloTriangleApplication::createInstanceDebugMessengerInfo() +{ + VkDebugUtilsMessengerCreateInfoEXT createInfo = {}; + createInfo.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; + createInfo.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; + createInfo.messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT + | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | + VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT; + + createInfo.pfnUserCallback = debugCallback; + + return createInfo; +} + +VkInstanceCreateInfo HelloTriangleApplication::createInstanceInfo(VkApplicationInfo* appInfo, std::vector& extensions + , VkDebugUtilsMessengerCreateInfoEXT& debugCreateInfo) +{ + VkInstanceCreateInfo createInfo = {}; + createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + createInfo.pApplicationInfo = appInfo; + createInfo.enabledExtensionCount = static_cast(extensions.size()); + createInfo.ppEnabledExtensionNames = extensions.data(); + + if (enableValidationLayers) { + createInfo.enabledLayerCount = static_cast(validationLayers.size()); + createInfo.ppEnabledLayerNames = validationLayers.data(); + + debugCreateInfo = createInstanceDebugMessengerInfo(); + createInfo.pNext = dynamic_cast(&debugCreateInfo); + } else { + createInfo.enabledLayerCount = 0; + createInfo.pNext = nullptr; + } + + return createInfo; +} + +void HelloTriangleApplication::createInstance() +{ + VkApplicationInfo appInfo = createInstanceAppInfo(); + auto extensions = getRequiredExtensions(); + + VkDebugUtilsMessengerCreateInfoEXT debugCreateInfo{}; + VkInstanceCreateInfo createInfo = createInstanceInfo(&appInfo, extensions, debugCreateInfo); + + if (vkCreateInstance(&createInfo, nullptr, &_instance) != VK_SUCCESS) { + throw std::runtime_error("failed to create instance!"); + } +} + +std::vector HelloTriangleApplication::getRequiredExtensions() +{ + uint32_t glfwExtensionCount = 0; + const char** glfwExtensions; + glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount); + + std::vector extensions(glfwExtensions, glfwExtensions + glfwExtensionCount); + + if (enableValidationLayers) { + extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + } + + return extensions; +} + +void HelloTriangleApplication::setupDebugMessenger() { + if (!enableValidationLayers) + { + return; + } + + VkDebugUtilsMessengerCreateInfoEXT createInfo = createInstanceDebugMessengerInfo(); + createInfo.pfnUserCallback = debugCallback; + + if (CreateDebugUtilsMessengerEXT(_instance, &createInfo, nullptr, &_debugMessenger) != VK_SUCCESS) { + throw std::runtime_error("failed to set up debug messenger!"); + } +} + +void HelloTriangleApplication::createSurface() +{ + if (glfwCreateWindowSurface(_instance, _window, nullptr, &_surface) != VK_SUCCESS) { + throw std::runtime_error("failed to create window surface!"); + } +} + +void HelloTriangleApplication::pickPhysicalDevice() { + _physicalDevice = VK_NULL_HANDLE; + + uint32_t deviceCount = 0; + vkEnumeratePhysicalDevices(_instance, &deviceCount, nullptr); + if (deviceCount == 0) { + throw std::runtime_error("failed to find GPUs with Vulkan support!"); + } + + chooseDevice(deviceCount); + if (_physicalDevice == VK_NULL_HANDLE) { + throw std::runtime_error("failed to find a suitable GPU!"); + } +} + +void HelloTriangleApplication::chooseDevice(uint32_t deviceCount) +{ + std::vector devices(deviceCount); + vkEnumeratePhysicalDevices(_instance, &deviceCount, devices.data()); + + for (const auto& device : devices) { + if (isDeviceSuitable(device)) { + _physicalDevice = device; + _msaaSamples = getMaxUsableSampleCount(); + break; + } + } +} + +VkSampleCountFlagBits HelloTriangleApplication::getMaxUsableSampleCount() { + VkPhysicalDeviceProperties physicalDeviceProperties; + vkGetPhysicalDeviceProperties(_physicalDevice, &physicalDeviceProperties); + + VkSampleCountFlags counts = physicalDeviceProperties.limits.framebufferColorSampleCounts & physicalDeviceProperties.limits.framebufferDepthSampleCounts; + if (counts & VK_SAMPLE_COUNT_64_BIT) { return VK_SAMPLE_COUNT_64_BIT; } + if (counts & VK_SAMPLE_COUNT_32_BIT) { return VK_SAMPLE_COUNT_32_BIT; } + if (counts & VK_SAMPLE_COUNT_16_BIT) { return VK_SAMPLE_COUNT_16_BIT; } + if (counts & VK_SAMPLE_COUNT_8_BIT) { return VK_SAMPLE_COUNT_8_BIT; } + if (counts & VK_SAMPLE_COUNT_4_BIT) { return VK_SAMPLE_COUNT_4_BIT; } + if (counts & VK_SAMPLE_COUNT_2_BIT) { return VK_SAMPLE_COUNT_2_BIT; } + + return VK_SAMPLE_COUNT_1_BIT; +} + +bool HelloTriangleApplication::isDeviceSuitable(VkPhysicalDevice device) { +// VkPhysicalDeviceProperties deviceProperties; +// VkPhysicalDeviceFeatures deviceFeatures; +// vkGetPhysicalDeviceProperties(device, &deviceProperties); +// vkGetPhysicalDeviceFeatures(device, &deviceFeatures); + +// return deviceProperties.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU && +// deviceFeatures.geometryShader; + + QueueFamilyIndices indices = findQueueFamilies(device); + + bool extensionsSupported = checkDeviceExtensionSupport(device); + + bool swapChainAdequate = false; + if (extensionsSupported) { + SwapChainSupportDetails swapChainSupport = querySwapChainSupport(device); + swapChainAdequate = !swapChainSupport.formats.empty() && !swapChainSupport.presentModes.empty(); + } + + VkPhysicalDeviceFeatures supportedFeatures; + vkGetPhysicalDeviceFeatures(device, &supportedFeatures); + + return indices.isComplete() && extensionsSupported && swapChainAdequate && supportedFeatures.samplerAnisotropy; +} + +bool HelloTriangleApplication::checkDeviceExtensionSupport(VkPhysicalDevice device) { + uint32_t extensionCount; + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); + + std::vector availableExtensions(extensionCount); + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); + + std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); + + for (const auto& extension : availableExtensions) { + requiredExtensions.erase(extension.extensionName); + } + + return requiredExtensions.empty(); +} + +SwapChainSupportDetails HelloTriangleApplication::querySwapChainSupport(VkPhysicalDevice device) { + SwapChainSupportDetails details; + + vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, _surface, &details.capabilities); + + uint32_t formatCount; + vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, nullptr); + + if (formatCount != 0) { + details.formats.resize(formatCount); + vkGetPhysicalDeviceSurfaceFormatsKHR(device, _surface, &formatCount, details.formats.data()); + } + + uint32_t presentModeCount; + vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, nullptr); + + if (presentModeCount != 0) { + details.presentModes.resize(presentModeCount); + vkGetPhysicalDeviceSurfacePresentModesKHR(device, _surface, &presentModeCount, details.presentModes.data()); + } + + return details; +} + +QueueFamilyIndices HelloTriangleApplication::findQueueFamilies(VkPhysicalDevice device) { + QueueFamilyIndices indices; + + uint32_t queueFamilyCount = 0; + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr); + + std::vector queueFamilies(queueFamilyCount); + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data()); + + uint32_t i = 0; + for (const auto& queueFamily : queueFamilies) { + if ((queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) && (queueFamily.queueFlags & VK_QUEUE_COMPUTE_BIT)) { + indices.graphicsFamily = i; + } + + VkBool32 presentSupport = false; + vkGetPhysicalDeviceSurfaceSupportKHR(device, i, _surface, &presentSupport); + + if (presentSupport) { + indices.presentFamily = i; + } + + if (indices.isComplete()) { + break; + } + + i++; + } + + return indices; +} + +void HelloTriangleApplication::createLogicalDevice() +{ + QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); + + std::vector queueCreateInfos; + std::set uniqueQueueFamilies = {indices.graphicsFamily.value(), indices.presentFamily.value()}; + + float queuePriority = 1.0f; + for (uint32_t queueFamily : uniqueQueueFamilies) { + queueCreateInfos.push_back(createQueueInfo(queueFamily, 1, &queuePriority)); + } + + VkPhysicalDeviceFeatures deviceFeatures = createDeviceFeatures(); + VkDeviceCreateInfo createInfo = createLogicalDeviceInfo(queueCreateInfos, &deviceFeatures); + + if (vkCreateDevice(_physicalDevice, &createInfo, nullptr, &_device) != VK_SUCCESS) { + throw std::runtime_error("failed to create logical device!"); + } + + vkGetDeviceQueue(_device, indices.graphicsFamily.value(), 0, &_graphicsQueue); + vkGetDeviceQueue(_device, indices.presentFamily.value(), 0, &_presentQueue); +} + +VkDeviceQueueCreateInfo HelloTriangleApplication::createQueueInfo(uint32_t queueFamily, uint32_t queueCount, float* queuePriority) +{ + VkDeviceQueueCreateInfo queueCreateInfo{}; + queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queueCreateInfo.queueFamilyIndex = queueFamily; + queueCreateInfo.queueCount = queueCount; + queueCreateInfo.pQueuePriorities = queuePriority; + + return queueCreateInfo; +} + +VkPhysicalDeviceFeatures HelloTriangleApplication::createDeviceFeatures() +{ + VkPhysicalDeviceFeatures deviceFeatures{}; + deviceFeatures.samplerAnisotropy = VK_TRUE; + + return deviceFeatures; +} + +VkDeviceCreateInfo HelloTriangleApplication::createLogicalDeviceInfo(std::vector& queueCreateInfos + , VkPhysicalDeviceFeatures* deviceFeatures) +{ + VkDeviceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + + createInfo.queueCreateInfoCount = static_cast(queueCreateInfos.size()); + createInfo.pQueueCreateInfos = queueCreateInfos.data(); + + createInfo.pEnabledFeatures = deviceFeatures; + + createInfo.enabledExtensionCount = static_cast(deviceExtensions.size()); + createInfo.ppEnabledExtensionNames = deviceExtensions.data(); + + if (enableValidationLayers) { + createInfo.enabledLayerCount = static_cast(validationLayers.size()); + createInfo.ppEnabledLayerNames = validationLayers.data(); + } else { + createInfo.enabledLayerCount = 0; + createInfo.ppEnabledLayerNames = nullptr; + } + + return createInfo; +} + +void HelloTriangleApplication::createSwapChain() { + SwapChainSupportDetails swapChainSupport = querySwapChainSupport(_physicalDevice); + + VkSurfaceFormatKHR surfaceFormat = chooseSwapSurfaceFormat(swapChainSupport.formats); + VkPresentModeKHR presentMode = chooseSwapPresentMode(swapChainSupport.presentModes); + VkExtent2D extent = chooseSwapExtent(swapChainSupport.capabilities); + + uint32_t imageCount = swapChainSupport.capabilities.minImageCount + 1; + if (swapChainSupport.capabilities.maxImageCount > 0 && imageCount > swapChainSupport.capabilities.maxImageCount) { + imageCount = swapChainSupport.capabilities.maxImageCount; + } + + VkSwapchainCreateInfoKHR createInfo = createSwapChainInfo(swapChainSupport, _surface, imageCount, surfaceFormat, extent, presentMode); + + if (vkCreateSwapchainKHR(_device, &createInfo, nullptr, &_swapChain) != VK_SUCCESS) { + throw std::runtime_error("failed to create swap chain!"); + } + + vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, nullptr); + _swapChainImages.resize(imageCount); + vkGetSwapchainImagesKHR(_device, _swapChain, &imageCount, _swapChainImages.data()); + + _swapChainImageFormat = surfaceFormat.format; + _swapChainExtent = extent; +} + +VkSwapchainCreateInfoKHR HelloTriangleApplication::createSwapChainInfo(SwapChainSupportDetails swapChainSupport, VkSurfaceKHR _surface, uint32_t imageCount + , VkSurfaceFormatKHR surfaceFormat, VkExtent2D extent, VkPresentModeKHR presentMode) +{ + VkSwapchainCreateInfoKHR createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; + createInfo.surface = _surface; + createInfo.minImageCount = imageCount; + createInfo.imageFormat = surfaceFormat.format; + createInfo.imageColorSpace = surfaceFormat.colorSpace; + createInfo.imageExtent = extent; + createInfo.imageArrayLayers = 1; + createInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + + createInfo.preTransform = swapChainSupport.capabilities.currentTransform; + createInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; + createInfo.presentMode = presentMode; + createInfo.clipped = VK_TRUE; + + createInfo.oldSwapchain = VK_NULL_HANDLE; + + QueueFamilyIndices indices = findQueueFamilies(_physicalDevice); + uint32_t queueFamilyIndices[] = {indices.graphicsFamily.value(), indices.presentFamily.value()}; + + if (indices.graphicsFamily != indices.presentFamily) { + createInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; + createInfo.queueFamilyIndexCount = 2; + } else { + createInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; + createInfo.queueFamilyIndexCount = 0; + } + createInfo.pQueueFamilyIndices = queueFamilyIndices; + + return createInfo; +} + +VkSurfaceFormatKHR HelloTriangleApplication::chooseSwapSurfaceFormat(const std::vector& availableFormats) { + for (const auto& availableFormat : availableFormats) { + if (availableFormat.format == VK_FORMAT_B8G8R8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) { + return availableFormat; + } + } + + return availableFormats[0]; +} + +VkPresentModeKHR HelloTriangleApplication::chooseSwapPresentMode(const std::vector& availablePresentModes) { + for (const auto& availablePresentMode : availablePresentModes) { + if (availablePresentMode == VK_PRESENT_MODE_MAILBOX_KHR) { + return availablePresentMode; + } + } + + return VK_PRESENT_MODE_FIFO_KHR; +} + +VkExtent2D HelloTriangleApplication::chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) { + if (capabilities.currentExtent.width != std::numeric_limits::max()) { + return capabilities.currentExtent; + } else { + int width, height; + glfwGetFramebufferSize(_window, &width, &height); + + VkExtent2D actualExtent = { + static_cast(width), + static_cast(height) + }; + + actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); + actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); + + return actualExtent; + } +} + +void HelloTriangleApplication::createImageViews() { + _swapChainImageViews.resize(_swapChainImages.size()); + + for (uint32_t i = 0; i < _swapChainImages.size(); i++) { + _swapChainImageViews[i] = createImageView(_swapChainImages[i], _swapChainImageFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); + } +} + +void HelloTriangleApplication::createRenderPass() { + VkAttachmentDescription colorAttachment = createColorAttachmentInfo(_swapChainImageFormat, _msaaSamples); + VkAttachmentReference colorAttachmentRef = createAttachmentRefInfo(0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); + + VkAttachmentDescription depthAttachment = createDepthAttachmentInfo(findDepthFormat(), _msaaSamples); + VkAttachmentReference depthAttachmentRef = createAttachmentRefInfo(1, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL); + + VkAttachmentDescription colorAttachmentResolve = createColorAttachmentResolveInfo(_swapChainImageFormat, VK_SAMPLE_COUNT_1_BIT); + VkAttachmentReference colorAttachmentResolveRef = createAttachmentRefInfo(2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); + + VkSubpassDescription subpass = createSubpassInfo(&colorAttachmentRef, &depthAttachmentRef, &colorAttachmentResolveRef); + + VkSubpassDependency dependency = createSubpassDependencyInfo(); + + std::vector attachments = {colorAttachment, depthAttachment, colorAttachmentResolve}; + VkRenderPassCreateInfo renderPassInfo = createRenderPassInfo(attachments, &subpass, &dependency); + + if (vkCreateRenderPass(_device, &renderPassInfo, nullptr, &_renderPass) != VK_SUCCESS) { + throw std::runtime_error("failed to create render pass!"); + } +} + +VkAttachmentDescription HelloTriangleApplication::createColorAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription colorAttachment{}; + colorAttachment.format = format; + colorAttachment.samples = msaaSamples; + colorAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + colorAttachment.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + colorAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + colorAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + colorAttachment.finalLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + + return colorAttachment; +} + +VkAttachmentReference HelloTriangleApplication::createAttachmentRefInfo(uint32_t offset, VkImageLayout layout) +{ + VkAttachmentReference colorAttachmentRef{}; + colorAttachmentRef.attachment = offset; + colorAttachmentRef.layout = layout; + + return colorAttachmentRef; +} + +VkAttachmentDescription HelloTriangleApplication::createDepthAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription depthAttachment; + depthAttachment.format = format; + depthAttachment.samples = msaaSamples; + depthAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + depthAttachment.storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depthAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + depthAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + depthAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + depthAttachment.finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; + + return depthAttachment; +} + +VkAttachmentDescription HelloTriangleApplication::createColorAttachmentResolveInfo(VkFormat format, VkSampleCountFlagBits msaaSamples) +{ + VkAttachmentDescription colorAttachmentResolve{}; + colorAttachmentResolve.format = format; + colorAttachmentResolve.samples = msaaSamples; + colorAttachmentResolve.loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachmentResolve.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + colorAttachmentResolve.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachmentResolve.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + colorAttachmentResolve.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + colorAttachmentResolve.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; + + return colorAttachmentResolve; +} + +VkSubpassDescription HelloTriangleApplication::createSubpassInfo(VkAttachmentReference* colorAttachRef, VkAttachmentReference* depthAttachRef + , VkAttachmentReference* colorAttachResolverRef) +{ + VkSubpassDescription subpass{}; + subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; + subpass.colorAttachmentCount = 1; + subpass.pColorAttachments = colorAttachRef; + subpass.pDepthStencilAttachment = depthAttachRef; + subpass.pResolveAttachments = colorAttachResolverRef; + + return subpass; +} + +VkRenderPassCreateInfo HelloTriangleApplication::createRenderPassInfo(std::vector& attachments, VkSubpassDescription* subpass + , VkSubpassDependency* dependency) +{ + VkRenderPassCreateInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; + renderPassInfo.attachmentCount = static_cast(attachments.size()); + renderPassInfo.pAttachments = attachments.data(); + renderPassInfo.subpassCount = 1; + renderPassInfo.pSubpasses = subpass; + + renderPassInfo.dependencyCount = 1; + renderPassInfo.pDependencies = dependency; + + return renderPassInfo; +} + +VkSubpassDependency HelloTriangleApplication::createSubpassDependencyInfo() +{ + VkSubpassDependency dependency{}; + dependency.srcSubpass = VK_SUBPASS_EXTERNAL; + dependency.dstSubpass = 0; + dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + dependency.srcAccessMask = 0; + dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + return dependency; +} + + +void HelloTriangleApplication::createDescriptorSetLayout() { + VkDescriptorSetLayoutBinding uboLayoutBinding = createLayoutBindingInfo(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_VERTEX_BIT); + + VkDescriptorSetLayoutBinding samplerLayoutBinding = createLayoutBindingInfo(1, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT); + + std::array bindings = {uboLayoutBinding, samplerLayoutBinding}; + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = static_cast(bindings.size()); + layoutInfo.pBindings = bindings.data(); + + if (vkCreateDescriptorSetLayout(_device, &layoutInfo, nullptr, &_descriptorSetLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor set layout!"); + } +} + +void HelloTriangleApplication::createComputeDescriptorSetLayout() { + VkDescriptorSetLayoutBinding uboLayoutBinding = createLayoutBindingInfo(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + VkDescriptorSetLayoutBinding computeLayoutBinding1 = createLayoutBindingInfo(2, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + VkDescriptorSetLayoutBinding computeLayoutBinding2 = createLayoutBindingInfo(3, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, VK_SHADER_STAGE_COMPUTE_BIT); + + std::array bindings = {uboLayoutBinding, computeLayoutBinding1, computeLayoutBinding2}; + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = static_cast(bindings.size()); + layoutInfo.pBindings = bindings.data(); + + if (vkCreateDescriptorSetLayout(_device, &layoutInfo, nullptr, &_computeDescriptorSetLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute descriptor set layout!"); + } +} + +VkDescriptorSetLayoutBinding HelloTriangleApplication::createLayoutBindingInfo(uint32_t offset, VkDescriptorType descType, VkShaderStageFlagBits StageFlags) +{ + VkDescriptorSetLayoutBinding layoutBinding{}; + layoutBinding.binding = offset; + layoutBinding.descriptorType = descType; + layoutBinding.descriptorCount = 1; + layoutBinding.stageFlags = StageFlags; + layoutBinding.pImmutableSamplers = nullptr; + + return layoutBinding; +} + +void HelloTriangleApplication::createGraphicsPipeline() +{ + auto vertShaderCode = readFile("shaders/vert.spv"); + auto fragShaderCode = readFile("shaders/frag.spv"); + VkShaderModule vertShaderModule = createShaderModule(vertShaderCode); + VkShaderModule fragShaderModule = createShaderModule(fragShaderCode); + VkPipelineShaderStageCreateInfo vertShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_VERTEX_BIT, vertShaderModule); + VkPipelineShaderStageCreateInfo fragShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_FRAGMENT_BIT, fragShaderModule); + VkPipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo, fragShaderStageInfo}; + + auto bindingDescription = Vertex::getBindingDescription(); + auto attributeDescriptions = Vertex::getAttributeDescriptions(); + VkPipelineVertexInputStateCreateInfo vertexInputInfo = createPipelineVertexInputInfo(); + vertexInputInfo.vertexBindingDescriptionCount = 1; + vertexInputInfo.pVertexBindingDescriptions = &bindingDescription; + vertexInputInfo.vertexAttributeDescriptionCount = static_cast(attributeDescriptions.size()); + vertexInputInfo.pVertexAttributeDescriptions = attributeDescriptions.data(); + + VkPipelineInputAssemblyStateCreateInfo inputAssembly = createPipelineInputAssemblyStateInfo(); + + std::vector dynamicStates = { + VK_DYNAMIC_STATE_VIEWPORT, + VK_DYNAMIC_STATE_SCISSOR + }; + VkPipelineDynamicStateCreateInfo dynamicState = createPipelineDynamicStateInfo(dynamicStates); + + VkPipelineViewportStateCreateInfo viewportState = createPipelineViewportStateInfo(); + + VkPipelineRasterizationStateCreateInfo rasterizer = createPipelineRasterizationStateInfo(); + + VkPipelineMultisampleStateCreateInfo multisampling = createPipelineMultisampleStateInfo(); + + VkPipelineColorBlendAttachmentState colorBlendAttachment = colorPipelineBlendAttachmentStateInfo(); + + VkPipelineColorBlendStateCreateInfo colorBlending = colorPipelineBlendStateInfo(&colorBlendAttachment); + + VkPipelineLayoutCreateInfo pipelineLayoutInfo = createPipelineLayoutInfo(); + if (vkCreatePipelineLayout(_device, &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create pipeline layout!"); + } + + VkPipelineDepthStencilStateCreateInfo depthStencil = createPipelineDepthStencilStateInfo(); + + VkGraphicsPipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; + pipelineInfo.stageCount = 2; + pipelineInfo.pStages = shaderStages; + pipelineInfo.pVertexInputState = &vertexInputInfo; + pipelineInfo.pInputAssemblyState = &inputAssembly; + pipelineInfo.pViewportState = &viewportState; + pipelineInfo.pRasterizationState = &rasterizer; + pipelineInfo.pMultisampleState = &multisampling; + pipelineInfo.pDepthStencilState = &depthStencil; + pipelineInfo.pColorBlendState = &colorBlending; + pipelineInfo.pDynamicState = &dynamicState; + pipelineInfo.layout = _pipelineLayout; + pipelineInfo.renderPass = _renderPass; + pipelineInfo.subpass = 0; + pipelineInfo.basePipelineHandle = VK_NULL_HANDLE; // Optional + pipelineInfo.basePipelineIndex = -1; // Optional + + if (vkCreateGraphicsPipelines(_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_graphicsPipeline) != VK_SUCCESS) { + throw std::runtime_error("failed to create graphics pipeline!"); + } + + vkDestroyShaderModule(_device, fragShaderModule, nullptr); + vkDestroyShaderModule(_device, vertShaderModule, nullptr); +} + +VkPipelineShaderStageCreateInfo HelloTriangleApplication::createPipelineShaderInfo(VkShaderStageFlagBits stage, VkShaderModule module) +{ + VkPipelineShaderStageCreateInfo shaderStageInfo{}; + shaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + shaderStageInfo.stage = stage; + shaderStageInfo.module = module; + shaderStageInfo.pName = "main"; + + return shaderStageInfo; +} + +VkPipelineVertexInputStateCreateInfo HelloTriangleApplication::createPipelineVertexInputInfo() +{ + VkPipelineVertexInputStateCreateInfo vertexInputInfo{}; + vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + + return vertexInputInfo; +} + +VkPipelineInputAssemblyStateCreateInfo HelloTriangleApplication::createPipelineInputAssemblyStateInfo() +{ + VkPipelineInputAssemblyStateCreateInfo inputAssembly{}; + inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; + inputAssembly.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; + inputAssembly.primitiveRestartEnable = VK_FALSE; + + return inputAssembly; +} + +VkPipelineDynamicStateCreateInfo HelloTriangleApplication::createPipelineDynamicStateInfo(std::vector& dynamicStates) +{ + VkPipelineDynamicStateCreateInfo dynamicState{}; + dynamicState.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + dynamicState.dynamicStateCount = static_cast(dynamicStates.size()); + dynamicState.pDynamicStates = dynamicStates.data(); + + return dynamicState; +} + +VkPipelineViewportStateCreateInfo HelloTriangleApplication::createPipelineViewportStateInfo() +{ + VkPipelineViewportStateCreateInfo viewportState{}; + viewportState.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; + viewportState.viewportCount = 1; + viewportState.scissorCount = 1; + + return viewportState; +} + +VkPipelineRasterizationStateCreateInfo HelloTriangleApplication::createPipelineRasterizationStateInfo() +{ + VkPipelineRasterizationStateCreateInfo rasterizer{}; + rasterizer.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; + rasterizer.depthClampEnable = VK_FALSE; + rasterizer.rasterizerDiscardEnable = VK_FALSE; + rasterizer.polygonMode = VK_POLYGON_MODE_FILL; + rasterizer.lineWidth = 1.0f; + rasterizer.cullMode = VK_CULL_MODE_BACK_BIT; + rasterizer.frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE; + rasterizer.depthBiasEnable = VK_FALSE; + rasterizer.depthBiasConstantFactor = 0.0f; // Optional + rasterizer.depthBiasClamp = 0.0f; // Optional + rasterizer.depthBiasSlopeFactor = 0.0f; // Optional + + return rasterizer; +} + +VkPipelineMultisampleStateCreateInfo HelloTriangleApplication::createPipelineMultisampleStateInfo() +{ + VkPipelineMultisampleStateCreateInfo multisampling{}; + multisampling.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; + multisampling.sampleShadingEnable = VK_FALSE; + multisampling.rasterizationSamples = _msaaSamples; + multisampling.minSampleShading = 1.0f; // Optional + multisampling.pSampleMask = nullptr; // Optional + multisampling.alphaToCoverageEnable = VK_FALSE; // Optional + multisampling.alphaToOneEnable = VK_FALSE; // Optional + + return multisampling; +} + +VkPipelineColorBlendAttachmentState HelloTriangleApplication::colorPipelineBlendAttachmentStateInfo() +{ + VkPipelineColorBlendAttachmentState colorBlendAttachment{}; + colorBlendAttachment.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; + colorBlendAttachment.blendEnable = VK_FALSE; + colorBlendAttachment.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; // Optional + colorBlendAttachment.dstColorBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional + colorBlendAttachment.colorBlendOp = VK_BLEND_OP_ADD; // Optional + colorBlendAttachment.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE; // Optional + colorBlendAttachment.dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO; // Optional + colorBlendAttachment.alphaBlendOp = VK_BLEND_OP_ADD; // Optional + + return colorBlendAttachment; +} + +VkPipelineLayoutCreateInfo HelloTriangleApplication::createPipelineLayoutInfo() +{ + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &_descriptorSetLayout; + pipelineLayoutInfo.pushConstantRangeCount = 0; // Optional + pipelineLayoutInfo.pPushConstantRanges = nullptr; // Optional + + return pipelineLayoutInfo; +} + +VkPipelineDepthStencilStateCreateInfo HelloTriangleApplication::createPipelineDepthStencilStateInfo() +{ + VkPipelineDepthStencilStateCreateInfo depthStencil{}; + depthStencil.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; + depthStencil.depthTestEnable = VK_TRUE; + depthStencil.depthWriteEnable = VK_TRUE; + depthStencil.depthCompareOp = VK_COMPARE_OP_LESS; + depthStencil.depthBoundsTestEnable = VK_FALSE; + depthStencil.minDepthBounds = 0.0f; // Optional + depthStencil.maxDepthBounds = 1.0f; // Optional + depthStencil.stencilTestEnable = VK_FALSE; + depthStencil.front = {}; // Optional + depthStencil.back = {}; // Optional + + return depthStencil; +} + +VkPipelineColorBlendStateCreateInfo HelloTriangleApplication::colorPipelineBlendStateInfo(VkPipelineColorBlendAttachmentState* colorBlendAttachment) +{ + VkPipelineColorBlendStateCreateInfo colorBlending{}; + colorBlending.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; + colorBlending.logicOpEnable = VK_FALSE; + colorBlending.logicOp = VK_LOGIC_OP_COPY; // Optional + colorBlending.attachmentCount = 1; + colorBlending.pAttachments = colorBlendAttachment; + colorBlending.blendConstants[0] = 0.0f; // Optional + colorBlending.blendConstants[1] = 0.0f; // Optional + colorBlending.blendConstants[2] = 0.0f; // Optional + colorBlending.blendConstants[3] = 0.0f; // Optional + + return colorBlending; +} + +void HelloTriangleApplication::createComputePipeline() +{ + auto computeShaderCode = readFile("shaders/comp.spv"); + VkShaderModule computeShaderModule = createShaderModule(computeShaderCode); + VkPipelineShaderStageCreateInfo computeShaderStageInfo = createPipelineShaderInfo(VK_SHADER_STAGE_COMPUTE_BIT, computeShaderModule); + + VkPipelineLayoutCreateInfo pipelineLayoutInfo = createComputePipelineLayoutInfo(); + if (vkCreatePipelineLayout(_device, &pipelineLayoutInfo, nullptr, &_computePipelineLayout) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute pipeline layout!"); + } + + VkComputePipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; + pipelineInfo.layout = _computePipelineLayout; + pipelineInfo.stage = computeShaderStageInfo; + + if (vkCreateComputePipelines(_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_computePipeline) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute pipeline!"); + } + + vkDestroyShaderModule(_device, computeShaderModule, nullptr); +} + +VkPipelineLayoutCreateInfo HelloTriangleApplication::createComputePipelineLayoutInfo() +{ + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &_computeDescriptorSetLayout; + + return pipelineLayoutInfo; +} + +VkShaderModule HelloTriangleApplication::createShaderModule(const std::vector& code) +{ + VkShaderModuleCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + createInfo.codeSize = code.size(); + createInfo.pCode = reinterpret_cast(code.data()); + + VkShaderModule shaderModule; + if (vkCreateShaderModule(_device, &createInfo, nullptr, &shaderModule) != VK_SUCCESS) { + throw std::runtime_error("failed to create shader module!"); + } + + return shaderModule; +} + +void HelloTriangleApplication::createFramebuffers() { + _swapChainFramebuffers.resize(_swapChainImageViews.size()); + + for (size_t i = 0; i < _swapChainImageViews.size(); i++) { + std::vector attachments = { + _colorImageView, + _depthImageView, + _swapChainImageViews[i] + }; + VkFramebufferCreateInfo framebufferInfo = createFramebufferInfo(attachments); + + if (vkCreateFramebuffer(_device, &framebufferInfo, nullptr, &_swapChainFramebuffers[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create framebuffer!"); + } + } +} + +VkFramebufferCreateInfo HelloTriangleApplication::createFramebufferInfo(std::vector& attachments) +{ + + VkFramebufferCreateInfo framebufferInfo{}; + framebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; + framebufferInfo.renderPass = _renderPass; + framebufferInfo.attachmentCount = static_cast(attachments.size()); + framebufferInfo.pAttachments = attachments.data(); + framebufferInfo.width = _swapChainExtent.width; + framebufferInfo.height = _swapChainExtent.height; + framebufferInfo.layers = 1; + + return framebufferInfo; +} + +void HelloTriangleApplication::createCommandPool() { + QueueFamilyIndices queueFamilyIndices = findQueueFamilies(_physicalDevice); + + VkCommandPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; + poolInfo.queueFamilyIndex = queueFamilyIndices.graphicsFamily.value(); + + if (vkCreateCommandPool(_device, &poolInfo, nullptr, &_commandPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create command pool!"); + } +} + +void HelloTriangleApplication::createColorResources() { + VkFormat colorFormat = _swapChainImageFormat; + + createImage(_swapChainExtent.width, _swapChainExtent.height, 1, _msaaSamples, colorFormat, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + , _colorImage, _colorImageMemory); + _colorImageView = createImageView(_colorImage, colorFormat, VK_IMAGE_ASPECT_COLOR_BIT, 1); +} + +void HelloTriangleApplication::createDepthResources() { + VkFormat depthFormat = findDepthFormat(); + + createImage(_swapChainExtent.width, _swapChainExtent.height, 1, _msaaSamples, depthFormat, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _depthImage, _depthImageMemory); + _depthImageView = createImageView(_depthImage, depthFormat, VK_IMAGE_ASPECT_DEPTH_BIT, 1); + + transitionImageLayout(_depthImage, depthFormat, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, 1); +} + +VkFormat HelloTriangleApplication::findSupportedFormat(const std::vector& candidates, VkImageTiling tiling + , VkFormatFeatureFlags features) { + for (VkFormat format : candidates) { + VkFormatProperties props; + vkGetPhysicalDeviceFormatProperties(_physicalDevice, format, &props); + + if (tiling == VK_IMAGE_TILING_LINEAR && (props.linearTilingFeatures & features) == features) { + return format; + } else if (tiling == VK_IMAGE_TILING_OPTIMAL && (props.optimalTilingFeatures & features) == features) { + return format; + } + } + + throw std::runtime_error("failed to find supported format!"); +} + +VkFormat HelloTriangleApplication::findDepthFormat() { + return findSupportedFormat( + {VK_FORMAT_D32_SFLOAT, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT}, + VK_IMAGE_TILING_OPTIMAL, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT + ); +} + +bool HelloTriangleApplication::hasStencilComponent(VkFormat format) { + return format == VK_FORMAT_D32_SFLOAT_S8_UINT || format == VK_FORMAT_D24_UNORM_S8_UINT; +} + +void HelloTriangleApplication::createTextureImage() { + int texWidth, texHeight, texChannels; +// stbi_uc* pixels = stbi_load("/home/ali-mehrabani/Qt_projects/VkTest/textures/texture.jpg", &texWidth, &texHeight, &texChannels, STBI_rgb_alpha); + stbi_uc* pixels = stbi_load(TEXTURE_PATH.c_str(), &texWidth, &texHeight, &texChannels, STBI_rgb_alpha); + VkDeviceSize imageSize = texWidth * texHeight * 4; + + _mipLevels = static_cast(std::floor(std::log2(std::max(texWidth, texHeight)))) + 1; + + if (!pixels) { + throw std::runtime_error("failed to load texture image!"); + } + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + + copyImageToStagingBuffer(stagingBuffer, stagingBufferMemory, pixels, imageSize); + + stbi_image_free(pixels); + + createImage(texWidth, texHeight, _mipLevels, VK_SAMPLE_COUNT_1_BIT, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_TILING_OPTIMAL + , VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _textureImage, _textureImageMemory); + + transitionImageLayout(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, _mipLevels); + copyBufferToImage(stagingBuffer, _textureImage, static_cast(texWidth), static_cast(texHeight)); + +// transitionImageLayout(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, _mipLevels); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); + + generateMipmaps(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, texWidth, texHeight, _mipLevels); +} + +void HelloTriangleApplication::copyImageToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory, stbi_uc* pixels, VkDeviceSize imageSize) +{ + createBuffer(imageSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, imageSize, 0, &data); + memcpy(data, pixels, static_cast(imageSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +void HelloTriangleApplication::generateMipmaps(VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels) { + VkFormatProperties formatProperties; + vkGetPhysicalDeviceFormatProperties(_physicalDevice, imageFormat, &formatProperties); + + if (!(formatProperties.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)) { + throw std::runtime_error("texture image format does not support linear blitting!"); + } + + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkImageMemoryBarrier barrier = initMipmapBarrier(image); + int32_t mipWidth = texWidth; + int32_t mipHeight = texHeight; + + for (uint32_t i = 1; i < mipLevels; i++) { + setFirstStepMipmapBarrierInfo(barrier, i); + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + VkImageBlit blit = createBlitMipMapInfo(mipWidth, mipHeight, i); + vkCmdBlitImage(commandBuffer, + image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + 1, &blit, + VK_FILTER_LINEAR); + + + setSecondStepMipmapBarrierInfo(barrier, i); + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + if (mipWidth > 1) mipWidth /= 2; + if (mipHeight > 1) mipHeight /= 2; + } + + setLastStepMipmapBarrierInfo(barrier, mipLevels - 1); + + vkCmdPipelineBarrier(commandBuffer, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, + 0, nullptr, + 0, nullptr, + 1, &barrier); + + endSingleTimeCommands(commandBuffer); +} + +VkImageMemoryBarrier HelloTriangleApplication::initMipmapBarrier(VkImage image) +{ + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.image = image; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + barrier.subresourceRange.levelCount = 1; + + return barrier; +} + +void HelloTriangleApplication::setFirstStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index - 1; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; +} + +void HelloTriangleApplication::setSecondStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index - 1; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; +} + +void HelloTriangleApplication::setLastStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index) +{ + barrier.subresourceRange.baseMipLevel = index; + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; +} + +VkImageBlit HelloTriangleApplication::createBlitMipMapInfo(int32_t mipWidth, int32_t mipHeight, uint32_t index) +{ + VkImageBlit blit{}; + blit.srcOffsets[0] = { 0, 0, 0 }; + blit.srcOffsets[1] = {mipWidth, mipHeight, 1}; + blit.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + blit.srcSubresource.mipLevel = index - 1; + blit.srcSubresource.baseArrayLayer = 0; + blit.srcSubresource.layerCount = 1; + blit.dstOffsets[0] = { 0, 0, 0 }; + blit.dstOffsets[1] = { mipWidth > 1 ? mipWidth / 2 : 1, mipHeight > 1 ? mipHeight / 2 : 1, 1 }; + blit.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + blit.dstSubresource.mipLevel = index; + blit.dstSubresource.baseArrayLayer = 0; + blit.dstSubresource.layerCount = 1; + + return blit; +} + +void HelloTriangleApplication::transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkImageMemoryBarrier barrier = initTransitionLayoutBarrierInfo(image, format, oldLayout, newLayout, mipLevels); + + VkPipelineStageFlags sourceStage; + VkPipelineStageFlags destinationStage; + + setSrcAndDst(barrier, sourceStage, destinationStage, oldLayout, newLayout); + + vkCmdPipelineBarrier( + commandBuffer, + sourceStage, destinationStage, + 0, + 0, nullptr, + 0, nullptr, + 1, &barrier + ); + + endSingleTimeCommands(commandBuffer); +} + +VkImageMemoryBarrier HelloTriangleApplication::initTransitionLayoutBarrierInfo(VkImage image, VkFormat format, VkImageLayout oldLayout + , VkImageLayout newLayout, uint32_t mipLevels) +{ + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.oldLayout = oldLayout; + barrier.newLayout = newLayout; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.image = image; + + if (newLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) { + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT; + + if (hasStencilComponent(format)) { + barrier.subresourceRange.aspectMask |= VK_IMAGE_ASPECT_STENCIL_BIT; + } + } else { + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + } + + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = mipLevels; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + + return barrier; +} + +void HelloTriangleApplication::setSrcAndDst(VkImageMemoryBarrier& barrier, VkPipelineStageFlags& sourceStage, VkPipelineStageFlags& destinationStage + , VkImageLayout oldLayout, VkImageLayout newLayout) +{ + if (oldLayout == VK_IMAGE_LAYOUT_UNDEFINED && newLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) { + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + destinationStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + } else if (oldLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL && newLayout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) { + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + + sourceStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + destinationStage = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + } else if (oldLayout == VK_IMAGE_LAYOUT_UNDEFINED && newLayout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) { + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + destinationStage = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT; + } else { + throw std::invalid_argument("unsupported layout transition!"); + } +} + +void HelloTriangleApplication::createImage(uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format + , VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, VkImage& image + , VkDeviceMemory& imageMemory) +{ + VkImageCreateInfo imageInfo{}; + imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageInfo.imageType = VK_IMAGE_TYPE_2D; + imageInfo.extent.width = static_cast(width); + imageInfo.extent.height = static_cast(height); + imageInfo.extent.depth = 1; + imageInfo.mipLevels = mipLevels; + imageInfo.arrayLayers = 1; + imageInfo.format = format; + imageInfo.tiling = tiling; + imageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + imageInfo.usage = usage; + imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + imageInfo.samples = numSamples; + imageInfo.flags = 0; // Optional + + if (vkCreateImage(_device, &imageInfo, nullptr, &image) != VK_SUCCESS) { + throw std::runtime_error("failed to create image!"); + } + + allocateAndBindImageMemory(image, imageMemory, properties); +} + +void HelloTriangleApplication::allocateAndBindImageMemory(VkImage& image, VkDeviceMemory& imageMemory, VkMemoryPropertyFlags properties) +{ + VkMemoryRequirements memRequirements; + vkGetImageMemoryRequirements(_device, image, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(_device, &allocInfo, nullptr, &imageMemory) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate image memory!"); + } + + vkBindImageMemory(_device, image, imageMemory, 0); +} + +void HelloTriangleApplication::copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkBufferImageCopy region = createBufferImageCopyInfo(width, height); + + vkCmdCopyBufferToImage( + commandBuffer, + buffer, + image, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + 1, + ®ion + ); + + endSingleTimeCommands(commandBuffer); +} + +VkBufferImageCopy HelloTriangleApplication::createBufferImageCopyInfo(uint32_t width, uint32_t height) +{ + VkBufferImageCopy region{}; + region.bufferOffset = 0; + region.bufferRowLength = 0; + region.bufferImageHeight = 0; + + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + + region.imageOffset = {0, 0, 0}; + region.imageExtent = { + width, + height, + 1 + }; + + return region; +} + +void HelloTriangleApplication::createTextureImageView() +{ + _textureImageView = createImageView(_textureImage, VK_FORMAT_R8G8B8A8_SRGB, VK_IMAGE_ASPECT_COLOR_BIT, _mipLevels); +} + +VkImageView HelloTriangleApplication::createImageView(VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels) +{ + VkImageViewCreateInfo viewInfo{}; + viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + viewInfo.image = image; + viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D; + viewInfo.format = format; + viewInfo.subresourceRange.aspectMask = aspectFlags; + viewInfo.subresourceRange.baseMipLevel = 0; + viewInfo.subresourceRange.levelCount = mipLevels; + viewInfo.subresourceRange.baseArrayLayer = 0; + viewInfo.subresourceRange.layerCount = 1; + + VkImageView imageView; + if (vkCreateImageView(_device, &viewInfo, nullptr, &imageView) != VK_SUCCESS) { + throw std::runtime_error("failed to create texture image view!"); + } + + return imageView; +} + +void HelloTriangleApplication::createTextureSampler() +{ + VkSamplerCreateInfo samplerInfo{}; + samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + samplerInfo.magFilter = VK_FILTER_LINEAR; + samplerInfo.minFilter = VK_FILTER_LINEAR; + samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT; + samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT; + samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT; + + VkPhysicalDeviceProperties properties{}; + vkGetPhysicalDeviceProperties(_physicalDevice, &properties); + + samplerInfo.anisotropyEnable = VK_TRUE; + samplerInfo.maxAnisotropy = properties.limits.maxSamplerAnisotropy; + + samplerInfo.borderColor = VK_BORDER_COLOR_INT_OPAQUE_BLACK; + samplerInfo.unnormalizedCoordinates = VK_FALSE; + samplerInfo.compareEnable = VK_FALSE; + samplerInfo.compareOp = VK_COMPARE_OP_ALWAYS; + samplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR; + samplerInfo.mipLodBias = 0.0f; + samplerInfo.minLod = 0.0f; + samplerInfo.maxLod = static_cast(_mipLevels); + + if (vkCreateSampler(_device, &samplerInfo, nullptr, &_textureSampler) != VK_SUCCESS) { + throw std::runtime_error("failed to create texture sampler!"); + } +} + +void HelloTriangleApplication::loadModel() { + tinyobj::attrib_t attrib; + std::vector shapes; + std::vector materials; + std::string warn, err; + + if (!tinyobj::LoadObj(&attrib, &shapes, &materials, &warn, &err, MODEL_PATH.c_str())) { + throw std::runtime_error(warn + err); + } + + std::unordered_map uniqueVertices{}; + + for (const auto& shape : shapes) { + for (const auto& index : shape.mesh.indices) { + Vertex vertex = createLoadModelVertex(attrib, index); + + if (uniqueVertices.count(vertex) == 0) { + uniqueVertices[vertex] = static_cast(_vertices.size()); + _vertices.push_back(vertex); + } + + _indices.push_back(uniqueVertices[vertex]); + } + } +} + +Vertex HelloTriangleApplication::createLoadModelVertex(tinyobj::attrib_t attrib, tinyobj::index_t index) +{ + Vertex vertex{}; + + vertex.pos = { + attrib.vertices[3 * index.vertex_index + 0], + attrib.vertices[3 * index.vertex_index + 1], + attrib.vertices[3 * index.vertex_index + 2] + }; + + vertex.texCoord = { + attrib.texcoords[2 * index.texcoord_index + 0], + 1.0f - attrib.texcoords[2 * index.texcoord_index + 1] + }; + + vertex.color = {1.0f, 1.0f, 1.0f}; + + return vertex; +} + +void HelloTriangleApplication::createVertexBuffer() +{ + VkDeviceSize bufferSize = sizeof(_vertices[0]) * _vertices.size(); + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyVerticesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _vertexBuffer, _vertexBufferMemory); + + copyBuffer(stagingBuffer, _vertexBuffer, bufferSize); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void HelloTriangleApplication::copyVerticesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + VkDeviceSize bufferSize = sizeof(_vertices[0]) * _vertices.size(); + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, _vertices.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + + +void HelloTriangleApplication::createIndexBuffer() { + VkDeviceSize bufferSize = sizeof(_indices[0]) * _indices.size(); + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyIndicesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + , _indexBuffer, _indexBufferMemory); + + copyBuffer(stagingBuffer, _indexBuffer, bufferSize); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void HelloTriangleApplication::copyIndicesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + VkDeviceSize bufferSize = sizeof(_indices[0]) * _indices.size(); + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, _indices.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +void HelloTriangleApplication::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties + , VkBuffer& buffer, VkDeviceMemory& bufferMemory) +{ + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = size; + bufferInfo.usage = usage; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if (vkCreateBuffer(_device, &bufferInfo, nullptr, &buffer) != VK_SUCCESS) { + throw std::runtime_error("failed to create vertex buffer!"); + } + + allocateAndBindBufferMemory(buffer, bufferMemory, properties); +} + +void HelloTriangleApplication::allocateAndBindBufferMemory(VkBuffer& buffer, VkDeviceMemory& bufferMemory, VkMemoryPropertyFlags properties) +{ + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(_device, buffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(_device, &allocInfo, nullptr, &bufferMemory) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate vertex buffer memory!"); + } + + vkBindBufferMemory(_device, buffer, bufferMemory, 0); +} + +void HelloTriangleApplication::copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) +{ + VkCommandBuffer commandBuffer = beginSingleTimeCommands(); + + VkBufferCopy copyRegion{}; + copyRegion.srcOffset = 0; // Optional + copyRegion.dstOffset = 0; // Optional + copyRegion.size = size; + vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, 1, ©Region); + + endSingleTimeCommands(commandBuffer); +} + +void HelloTriangleApplication::endSingleTimeCommands(VkCommandBuffer commandBuffer) +{ + vkEndCommandBuffer(commandBuffer); + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &commandBuffer; + + vkQueueSubmit(_graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(_graphicsQueue); + + vkFreeCommandBuffers(_device, _commandPool, 1, &commandBuffer); +} + +VkCommandBuffer HelloTriangleApplication::beginSingleTimeCommands() +{ + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandPool = _commandPool; + allocInfo.commandBufferCount = 1; + + VkCommandBuffer commandBuffer; + vkAllocateCommandBuffers(_device, &allocInfo, &commandBuffer); + + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(commandBuffer, &beginInfo); + + return commandBuffer; +} + +uint32_t HelloTriangleApplication::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) { + VkPhysicalDeviceMemoryProperties memProperties; + vkGetPhysicalDeviceMemoryProperties(_physicalDevice, &memProperties); + + for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) { + if ((typeFilter & (1 << i)) && (memProperties.memoryTypes[i].propertyFlags & properties) == properties) { + return i; + } + } + + throw std::runtime_error("failed to find suitable memory type!"); +} + +void HelloTriangleApplication::createShaderStorageBuffers() { + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + copyParticlesToStagingBuffer(stagingBuffer, stagingBufferMemory); + + initShaderStorageBuffers(stagingBuffer); + + vkDestroyBuffer(_device, stagingBuffer, nullptr); + vkFreeMemory(_device, stagingBufferMemory, nullptr); +} + +void HelloTriangleApplication::initShaderStorageBuffers(VkBuffer& stagingBuffer) +{ + VkDeviceSize bufferSize = sizeof(Particle) * PARTICLE_COUNT; + _shaderStorageBuffers.resize(MAX_FRAMES_IN_FLIGHT); + _shaderStorageBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + createBuffer(bufferSize, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, _shaderStorageBuffers[i], _shaderStorageBuffersMemory[i]); + copyBuffer(stagingBuffer, _shaderStorageBuffers[i], bufferSize); + } +} + +void HelloTriangleApplication::copyParticlesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory) +{ + std::vector particles = initParticles(); + + VkDeviceSize bufferSize = sizeof(Particle) * PARTICLE_COUNT; + createBuffer(bufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , stagingBuffer, stagingBufferMemory); + + void* data; + vkMapMemory(_device, stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, particles.data(), reinterpret_cast(bufferSize)); + vkUnmapMemory(_device, stagingBufferMemory); +} + +std::vector HelloTriangleApplication::initParticles() +{ + std::default_random_engine rndEngine(static_cast(time(nullptr))); + std::uniform_real_distribution rndDist(0.0f, 1.0f); + + std::vector particles(PARTICLE_COUNT); + for (auto& particle : particles) { + float r = 0.25f * sqrt(rndDist(rndEngine)); + float theta = rndDist(rndEngine) * 2.0f * 3.14159265358979323846f; + float x = r * cos(theta) * HEIGHT / WIDTH; + float y = r * sin(theta); + particle.position = glm::vec2(x, y); + particle.velocity = glm::normalize(glm::vec2(x,y)) * 0.00025f; + particle.color = glm::vec4(rndDist(rndEngine), rndDist(rndEngine), rndDist(rndEngine), 1.0f); + } + + return particles; +} + +void HelloTriangleApplication::createUniformBuffers() { + VkDeviceSize bufferSize = sizeof(UniformBufferObject); + + _uniformBuffers.resize(MAX_FRAMES_IN_FLIGHT); + _uniformBuffersMemory.resize(MAX_FRAMES_IN_FLIGHT); + _uniformBuffersMapped.resize(MAX_FRAMES_IN_FLIGHT); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + createBuffer(bufferSize, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + , _uniformBuffers[i], _uniformBuffersMemory[i]); + + vkMapMemory(_device, _uniformBuffersMemory[i], 0, bufferSize, 0, &_uniformBuffersMapped[i]); + } +} + +void HelloTriangleApplication::createDescriptorPool() { + std::array poolSizes{}; + poolSizes[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + poolSizes[0].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + poolSizes[1].type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + poolSizes[1].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = static_cast(poolSizes.size()); + poolInfo.pPoolSizes = poolSizes.data(); + poolInfo.maxSets = static_cast(MAX_FRAMES_IN_FLIGHT); + + if (vkCreateDescriptorPool(_device, &poolInfo, nullptr, &_descriptorPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor pool!"); + } +} + +void HelloTriangleApplication::createComputeDescriptorPool() { + std::array poolSizes{}; + poolSizes[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + poolSizes[0].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT); + poolSizes[1].type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; + poolSizes[1].descriptorCount = static_cast(MAX_FRAMES_IN_FLIGHT) * 2; + + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = static_cast(poolSizes.size()); + poolInfo.pPoolSizes = poolSizes.data(); + poolInfo.maxSets = static_cast(MAX_FRAMES_IN_FLIGHT); + + if (vkCreateDescriptorPool(_device, &poolInfo, nullptr, &_computeDescriptorPool) != VK_SUCCESS) { + throw std::runtime_error("failed to create descriptor pool!"); + } +} + +void HelloTriangleApplication::createDescriptorSets() +{ + allocateDescriptorSets(); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + VkDescriptorBufferInfo bufferInfo = createDescriptorBufferInfo(_uniformBuffers[i], sizeof(UniformBufferObject)); + + VkDescriptorImageInfo imageInfo = createDescriptorImageInfo(); + + std::array descriptorWrites{}; + + addUniformBufferWriteDescriptor(descriptorWrites[0], &bufferInfo, i, 0); + + addImageWriteDescriptor(descriptorWrites[1], &imageInfo, i, 1); + + vkUpdateDescriptorSets(_device, static_cast(descriptorWrites.size()), descriptorWrites.data(), 0, nullptr); + } +} + +void HelloTriangleApplication::addUniformBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pBufferInfo = bufferInfo; +} + +void HelloTriangleApplication::addImageWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorImageInfo* imageInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pImageInfo = imageInfo; +} + +VkDescriptorImageInfo HelloTriangleApplication::createDescriptorImageInfo() +{ + VkDescriptorImageInfo imageInfo{}; + imageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + imageInfo.imageView = _textureImageView; + imageInfo.sampler = _textureSampler; + + return imageInfo; +} + +VkDescriptorBufferInfo HelloTriangleApplication::createDescriptorBufferInfo(VkBuffer buffer, VkDeviceSize range) +{ + VkDescriptorBufferInfo bufferInfo{}; + bufferInfo.buffer = buffer; + bufferInfo.offset = 0; + bufferInfo.range = range; + + return bufferInfo; +} + +void HelloTriangleApplication::allocateDescriptorSets() +{ + std::vector layouts(MAX_FRAMES_IN_FLIGHT, _descriptorSetLayout); + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = _descriptorPool; + allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); + allocInfo.pSetLayouts = layouts.data(); + + _descriptorSets.resize(MAX_FRAMES_IN_FLIGHT); + if (vkAllocateDescriptorSets(_device, &allocInfo, _descriptorSets.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate descriptor sets!"); + } +} + +void HelloTriangleApplication::createComputeDescriptorSets() +{ + allocateComputeDescriptorSets(); + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + VkDescriptorBufferInfo bufferInfo = createDescriptorBufferInfo(_uniformBuffers[i], sizeof(UniformBufferObject)); + + std::array descriptorWrites{}; + + addUniformBufferWriteDescriptor(descriptorWrites[0], &bufferInfo, i, 0); + + VkDescriptorBufferInfo storageBufferInfoLastFrame = createDescriptorBufferInfo(_shaderStorageBuffers[(i - 1) % MAX_FRAMES_IN_FLIGHT] + , sizeof(Particle) * PARTICLE_COUNT); + addStorageBufferWriteDescriptor(descriptorWrites[1], &storageBufferInfoLastFrame, i, 1); + + VkDescriptorBufferInfo storageBufferInfoCurrentFrame = createDescriptorBufferInfo(_shaderStorageBuffers[i], sizeof(Particle) * PARTICLE_COUNT); + addStorageBufferWriteDescriptor(descriptorWrites[2], &storageBufferInfoCurrentFrame, i, 2); + + vkUpdateDescriptorSets(_device, static_cast(descriptorWrites.size()), descriptorWrites.data(), 0, nullptr); + } +} + +void HelloTriangleApplication::addStorageBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index + , uint32_t dstBinding) +{ + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _descriptorSets[index]; + descriptorWrite.dstBinding = dstBinding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pBufferInfo = bufferInfo; +} + +void HelloTriangleApplication::allocateComputeDescriptorSets() +{ + std::vector layouts(MAX_FRAMES_IN_FLIGHT, _computeDescriptorSetLayout); + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = _computeDescriptorPool; + allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); + allocInfo.pSetLayouts = layouts.data(); + + _descriptorSets.resize(MAX_FRAMES_IN_FLIGHT); + if (vkAllocateDescriptorSets(_device, &allocInfo, _computeDescriptorSets.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate descriptor sets!"); + } +} + +void HelloTriangleApplication::createCommandBuffer() { + _commandBuffers.resize(MAX_FRAMES_IN_FLIGHT); + + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = _commandPool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = static_cast(_commandBuffers.size()); + + if (vkAllocateCommandBuffers(_device, &allocInfo, _commandBuffers.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate command buffers!"); + } +} + +void HelloTriangleApplication::createComputeCommandBuffers() { + _computeCommandBuffers.resize(MAX_FRAMES_IN_FLIGHT); + + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = _commandPool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = static_cast(_computeCommandBuffers.size()); + + if (vkAllocateCommandBuffers(_device, &allocInfo, _computeCommandBuffers.data()) != VK_SUCCESS) { + throw std::runtime_error("failed to allocate compute command buffers!"); + } +} + +void HelloTriangleApplication::createSyncObjects() { + _imageAvailableSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _renderFinishedSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _inFlightFences.resize(MAX_FRAMES_IN_FLIGHT); + + _computeFinishedSemaphores.resize(MAX_FRAMES_IN_FLIGHT); + _computeInFlightFences.resize(MAX_FRAMES_IN_FLIGHT); + + VkSemaphoreCreateInfo semaphoreInfo{}; + semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + + VkFenceCreateInfo fenceInfo{}; + fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT; + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + { + if (vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_imageAvailableSemaphores[i]) != VK_SUCCESS || + vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_renderFinishedSemaphores[i]) != VK_SUCCESS || + vkCreateFence(_device, &fenceInfo, nullptr, &_inFlightFences[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create synchronization objects for a frame!"); + } + if (vkCreateSemaphore(_device, &semaphoreInfo, nullptr, &_computeFinishedSemaphores[i]) != VK_SUCCESS || + vkCreateFence(_device, &fenceInfo, nullptr, &_computeInFlightFences[i]) != VK_SUCCESS) { + throw std::runtime_error("failed to create compute synchronization objects for a frame!"); + } + } +} + + + +void HelloTriangleApplication::mainLoop() +{ + while (!glfwWindowShouldClose(_window)) { + glfwPollEvents(); + drawFrame(); + } + + vkDeviceWaitIdle(_device); +} + +void HelloTriangleApplication::drawFrame(){ +// computeSubmission(); + + VkResult result = graphicsSubmission(); + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + return; + } + + currentFrame = (currentFrame + 1) % MAX_FRAMES_IN_FLIGHT; +} + +void HelloTriangleApplication::computeSubmission() +{ + vkWaitForFences(_device, 1, &_computeInFlightFences[currentFrame], VK_TRUE, UINT64_MAX); + + updateUniformBuffer(currentFrame); + + vkResetFences(_device, 1, &_computeInFlightFences[currentFrame]); + + vkResetCommandBuffer(_computeCommandBuffers[currentFrame], /*VkCommandBufferResetFlagBits*/ 0); + recordComputeCommandBuffer(_computeCommandBuffers[currentFrame]); + + VkSubmitInfo submitInfo = createComputeSubmitInfo(); + + if (vkQueueSubmit(_graphicsQueue, 1, &submitInfo, _computeInFlightFences[currentFrame]) != VK_SUCCESS) { + throw std::runtime_error("failed to submit compute command buffer!"); + } + +} + +VkSubmitInfo HelloTriangleApplication::createComputeSubmitInfo() +{ + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_computeCommandBuffers[currentFrame]; + submitInfo.signalSemaphoreCount = 1; + submitInfo.pSignalSemaphores = &_computeFinishedSemaphores[currentFrame]; +} + +VkResult HelloTriangleApplication::graphicsSubmission() +{ + vkWaitForFences(_device, 1, &_inFlightFences[currentFrame], VK_TRUE, UINT64_MAX); + + uint32_t imageIndex; + VkResult result = vkAcquireNextImageKHR(_device, _swapChain, UINT64_MAX, _imageAvailableSemaphores[currentFrame], VK_NULL_HANDLE, &imageIndex); + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + recreateSwapChain(); + return VK_ERROR_OUT_OF_DATE_KHR; + } else if (result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR) + { + throw std::runtime_error("failed to acquire swap chain image!"); + } + +// VkSemaphore waitSemaphores[] = {_computeFinishedSemaphores[currentFrame], _imageAvailableSemaphores[currentFrame]}; +// VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; + VkSemaphore waitSemaphores[] = {_imageAvailableSemaphores[currentFrame]}; + VkPipelineStageFlags waitStages[] = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; + VkSemaphore signalSemaphores[] = {_renderFinishedSemaphores[currentFrame]}; + + drawSubmission(imageIndex, waitSemaphores, waitStages, signalSemaphores); + + result = presentSubmission(imageIndex, signalSemaphores); + return result; +} + +void HelloTriangleApplication::drawSubmission(uint32_t imageIndex, VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages + , VkSemaphore* signalSemaphores) +{ + updateUniformBuffer(currentFrame); + + vkResetFences(_device, 1, &_inFlightFences[currentFrame]); + + vkResetCommandBuffer(_commandBuffers[currentFrame], 0); + + recordCommandBuffer(_commandBuffers[currentFrame], imageIndex); + + VkSubmitInfo submitInfo = createDrawSubmitInfo(waitSemaphores, waitStages, signalSemaphores); + + if (vkQueueSubmit(_graphicsQueue, 1, &submitInfo, _inFlightFences[currentFrame]) != VK_SUCCESS) { + throw std::runtime_error("failed to submit draw command buffer!"); + } +} + +VkSubmitInfo HelloTriangleApplication::createDrawSubmitInfo(VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores) +{ + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + + submitInfo.waitSemaphoreCount = 1; + submitInfo.pWaitSemaphores = waitSemaphores; + submitInfo.pWaitDstStageMask = waitStages; + + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_commandBuffers[currentFrame]; + + submitInfo.signalSemaphoreCount = 1; + submitInfo.pSignalSemaphores = signalSemaphores; + + return submitInfo; +} + +VkResult HelloTriangleApplication::presentSubmission(uint32_t imageIndex, VkSemaphore* signalSemaphores) +{ + VkPresentInfoKHR presentInfo{}; + presentInfo.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; + + presentInfo.waitSemaphoreCount = 1; + presentInfo.pWaitSemaphores = signalSemaphores; + + VkSwapchainKHR swapChains[] = {_swapChain}; + presentInfo.swapchainCount = 1; + presentInfo.pSwapchains = swapChains; + presentInfo.pImageIndices = &imageIndex; + + presentInfo.pResults = nullptr; // Optional + + VkResult result = vkQueuePresentKHR(_presentQueue, &presentInfo); + + if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || framebufferResized) + { + framebufferResized = false; + recreateSwapChain(); + } else if (result != VK_SUCCESS) { + throw std::runtime_error("failed to present swap chain image!"); + } + return result; +} + +void HelloTriangleApplication::recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex) { + beginPipelineCommands(commandBuffer); + + beginRenderPass(commandBuffer, imageIndex); + + vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _graphicsPipeline); + + VkViewport viewport = createViewportInfo(); + vkCmdSetViewport(commandBuffer, 0, 1, &viewport); + + VkRect2D scissor = createScissorInfo(); + vkCmdSetScissor(commandBuffer, 0, 1, &scissor); + + VkBuffer vertexBuffers[] = {_vertexBuffer}; + VkDeviceSize offsets[] = {0}; + vkCmdBindVertexBuffers(commandBuffer, 0, 1, vertexBuffers, offsets); + vkCmdBindIndexBuffer(commandBuffer, _indexBuffer, 0, VK_INDEX_TYPE_UINT32); + +// vkCmdBindVertexBuffers(commandBuffer, 0, 1, &_shaderStorageBuffers[currentFrame], offsets); + + vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, _pipelineLayout, 0, 1, &_descriptorSets[currentFrame], 0, nullptr); + +// vkCmdDraw(commandBuffer, PARTICLE_COUNT, 1, 0, 0); + vkCmdDrawIndexed(commandBuffer, static_cast(_indices.size()), 1, 0, 0, 0); + + vkCmdEndRenderPass(commandBuffer); + + if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { + throw std::runtime_error("failed to record command buffer!"); + } +} + +void HelloTriangleApplication::beginPipelineCommands(VkCommandBuffer commandBuffer) +{ + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = 0; // Optional + beginInfo.pInheritanceInfo = nullptr; // Optional + + if (vkBeginCommandBuffer(commandBuffer, &beginInfo) != VK_SUCCESS) { + throw std::runtime_error("failed to begin recording command buffer!"); + } +} + +void HelloTriangleApplication::beginRenderPass(VkCommandBuffer commandBuffer, uint32_t imageIndex) +{ + VkRenderPassBeginInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; + renderPassInfo.renderPass = _renderPass; + renderPassInfo.framebuffer = _swapChainFramebuffers[imageIndex]; + renderPassInfo.renderArea.offset = {0, 0}; + renderPassInfo.renderArea.extent = _swapChainExtent; + + std::vector clearValues{}; + clearValues.resize(2); + clearValues[0].color = {{0.0f, 0.0f, 0.0f, 1.0f}}; + clearValues[1].depthStencil = {1.0f, 0}; + + renderPassInfo.clearValueCount = static_cast(clearValues.size()); + renderPassInfo.pClearValues = clearValues.data(); + + vkCmdBeginRenderPass(commandBuffer, &renderPassInfo, VK_SUBPASS_CONTENTS_INLINE); +} + +VkViewport HelloTriangleApplication::createViewportInfo() +{ + VkViewport viewport{}; + viewport.x = 0.0f; + viewport.y = 0.0f; + viewport.width = static_cast(_swapChainExtent.width); + viewport.height = static_cast(_swapChainExtent.height); + viewport.minDepth = 0.0f; + viewport.maxDepth = 1.0f; + + return viewport; +} + +VkRect2D HelloTriangleApplication::createScissorInfo() +{ + VkRect2D scissor{}; + scissor.offset = {0, 0}; + scissor.extent = _swapChainExtent; + + return scissor; +} + +void HelloTriangleApplication::recordComputeCommandBuffer(VkCommandBuffer commandBuffer) { + beginPipelineCommands(commandBuffer); + + vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, _computePipeline); + + vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, _computePipelineLayout, 0, 1, &_computeDescriptorSets[currentFrame], 0, nullptr); + + vkCmdDispatch(commandBuffer, PARTICLE_COUNT / 256, 1, 1); + + if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { + throw std::runtime_error("failed to record compute command buffer!"); + } + +} + +void HelloTriangleApplication::updateUniformBuffer(uint32_t currentImage) { + static auto startTime = std::chrono::high_resolution_clock::now(); + + auto currentTime = std::chrono::high_resolution_clock::now(); + float time = std::chrono::duration(currentTime - startTime).count(); + + UniformBufferObject ubo{}; + ubo.model = glm::rotate(glm::mat4(1.0f), time * glm::radians(22.5f), glm::vec3(0.0f, 0.0f, 1.0f)); + ubo.view = glm::lookAt(glm::vec3(2.0f, 2.0f, 2.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 1.0f)); + ubo.proj = glm::perspective(glm::radians(45.0f), _swapChainExtent.width / static_cast(_swapChainExtent.height), 0.1f, 10.0f); + ubo.proj[1][1] *= -1; + + memcpy(_uniformBuffersMapped[currentImage], &ubo, sizeof(ubo)); +} + +void HelloTriangleApplication::recreateSwapChain() { + int width = 0, height = 0; + glfwGetFramebufferSize(_window, &width, &height); + while (width == 0 || height == 0) { + glfwGetFramebufferSize(_window, &width, &height); + glfwWaitEvents(); + } + + vkDeviceWaitIdle(_device); + + cleanupSwapChain(); + + createSwapChain(); + createImageViews(); + createColorResources(); + createDepthResources(); + createFramebuffers(); +} + + + +void HelloTriangleApplication::cleanupSwapChain() { + vkDestroyImageView(_device, _colorImageView, nullptr); + vkDestroyImage(_device, _colorImage, nullptr); + vkFreeMemory(_device, _colorImageMemory, nullptr); + + vkDestroyImageView(_device, _depthImageView, nullptr); + vkDestroyImage(_device, _depthImage, nullptr); + vkFreeMemory(_device, _depthImageMemory, nullptr); + + for (auto framebuffer : _swapChainFramebuffers) { + vkDestroyFramebuffer(_device, framebuffer, nullptr); + } + + for (auto imageView : _swapChainImageViews) { + vkDestroyImageView(_device, imageView, nullptr); + } + + vkDestroySwapchainKHR(_device, _swapChain, nullptr); +} + +void HelloTriangleApplication::cleanPipeline() +{ + vkDestroyPipeline(_device, _graphicsPipeline, nullptr); + vkDestroyPipelineLayout(_device, _pipelineLayout, nullptr); + + vkDestroyPipeline(_device, _computePipeline, nullptr); + vkDestroyPipelineLayout(_device, _computePipelineLayout, nullptr); +} + +void HelloTriangleApplication::cleanBuffers() +{ + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroyBuffer(_device, _shaderStorageBuffers[i], nullptr); + vkFreeMemory(_device, _shaderStorageBuffersMemory[i], nullptr); + } + + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroyBuffer(_device, _uniformBuffers[i], nullptr); + vkFreeMemory(_device, _uniformBuffersMemory[i], nullptr); + } + + vkDestroyBuffer(_device, _indexBuffer, nullptr); + vkFreeMemory(_device, _indexBufferMemory, nullptr); + + vkDestroyBuffer(_device, _vertexBuffer, nullptr); + vkFreeMemory(_device, _vertexBufferMemory, nullptr); +} + +void HelloTriangleApplication::cleanSyncObjects() +{ + for (size_t i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) { + vkDestroySemaphore(_device, _renderFinishedSemaphores[i], nullptr); + vkDestroySemaphore(_device, _imageAvailableSemaphores[i], nullptr); + vkDestroyFence(_device, _inFlightFences[i], nullptr); + + vkDestroySemaphore(_device, _computeFinishedSemaphores[i], nullptr); + vkDestroyFence(_device, _computeInFlightFences[i], nullptr); + } +} + +void HelloTriangleApplication::cleanBase() +{ + vkDestroyDevice(_device, nullptr); + + vkDestroySurfaceKHR(_instance, _surface, nullptr); + + if (enableValidationLayers) { + DestroyDebugUtilsMessengerEXT(_instance, _debugMessenger, nullptr); + } + + vkDestroyInstance(_instance, nullptr); + + glfwDestroyWindow(_window); + + glfwTerminate(); +} + +void HelloTriangleApplication::cleanup() +{ + cleanupSwapChain(); + + vkDestroySampler(_device, _textureSampler, nullptr); + vkDestroyImageView(_device, _textureImageView, nullptr); + + vkDestroyImage(_device, _textureImage, nullptr); + vkFreeMemory(_device, _textureImageMemory, nullptr); + + vkDestroyDescriptorPool(_device, _descriptorPool, nullptr); + + vkDestroyDescriptorSetLayout(_device, _descriptorSetLayout, nullptr); + + cleanBuffers(); + + cleanSyncObjects(); + + vkDestroyCommandPool(_device, _commandPool, nullptr); + + cleanPipeline(); + + vkDestroyRenderPass(_device, _renderPass, nullptr); + + cleanBase(); +} diff --git a/VulkanTutorial1.0/HelloTriangleApplication.h b/VulkanTutorial1.0/HelloTriangleApplication.h new file mode 100644 index 0000000..cd9bcab --- /dev/null +++ b/VulkanTutorial1.0/HelloTriangleApplication.h @@ -0,0 +1,427 @@ +#ifndef HELLOTRIANGLEAPPLICATION_H +#define HELLOTRIANGLEAPPLICATION_H + +#pragma once + +#ifdef NDEBUG + const bool enableValidationLayers = false; +#else + const bool enableValidationLayers = true; +#endif + +#include "Types.h" + +#include + + +#include +#include // Necessary for uint32_t +#include // Necessary for std::numeric_limits +#include // Necessary for std::clamp +#include +#include + +#ifdef Q_OS_ANDROID + const QString TARGET_PLATFORM = "Android"; +#else + const QString TARGET_PLATFORM = "Linux"; +#endif + +const int MAX_FRAMES_IN_FLIGHT = 2; + +const uint32_t PARTICLE_COUNT = 8192; + +struct Particle { + alignas(16) glm::vec2 position; + alignas(16) glm::vec2 velocity; + alignas(16) glm::vec4 color; + + static VkVertexInputBindingDescription getBindingDescription() { + VkVertexInputBindingDescription bindingDescription{}; + bindingDescription.binding = 0; + bindingDescription.stride = sizeof(Particle); + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + return bindingDescription; + } + + static std::array getAttributeDescriptions() { + std::array attributeDescriptions{}; + + attributeDescriptions[0].binding = 0; + attributeDescriptions[0].location = 0; + attributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Particle, position); + + attributeDescriptions[1].binding = 0; + attributeDescriptions[1].location = 1; + attributeDescriptions[1].format = VK_FORMAT_R32G32B32A32_SFLOAT; + attributeDescriptions[1].offset = offsetof(Particle, color); + + return attributeDescriptions; + } +}; + +struct QueueFamilyIndices { + std::optional graphicsFamily; + std::optional presentFamily; + + bool isComplete() { + return graphicsFamily.has_value() && presentFamily.has_value(); + } +}; + +struct Vertex { + alignas(16) glm::vec3 pos; + alignas(16) glm::vec3 color; + alignas(16) glm::vec2 texCoord; + + static VkVertexInputBindingDescription getBindingDescription() { + VkVertexInputBindingDescription bindingDescription{}; + bindingDescription.binding = 0; + bindingDescription.stride = sizeof(Vertex); + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + return bindingDescription; + } + + static std::array getAttributeDescriptions() { + std::array attributeDescriptions{}; + + attributeDescriptions[0].binding = 0; + attributeDescriptions[0].location = 0; + attributeDescriptions[0].format = VK_FORMAT_R32G32B32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Vertex, pos); + + attributeDescriptions[1].binding = 0; + attributeDescriptions[1].location = 1; + attributeDescriptions[1].format = VK_FORMAT_R32G32B32_SFLOAT; + attributeDescriptions[1].offset = offsetof(Vertex, color); + + attributeDescriptions[2].binding = 0; + attributeDescriptions[2].location = 2; + attributeDescriptions[2].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[2].offset = offsetof(Vertex, texCoord); + + return attributeDescriptions; + } + + bool operator==(const Vertex& other) const { + return pos == other.pos && color == other.color && texCoord == other.texCoord; + } +}; + +namespace std { + template<> struct hash { + size_t operator()(Vertex const& vertex) const { + return ((hash()(vertex.pos) ^ + (hash()(vertex.color) << 1)) >> 1) ^ + (hash()(vertex.texCoord) << 1); + } + }; +} + +struct UniformBufferObject { + alignas(16) glm::mat4 model; + alignas(16) glm::mat4 view; + alignas(16) glm::mat4 proj; +}; + +class HelloTriangleApplication +{ +public: + HelloTriangleApplication(); + void run(); + + // Message Callback + static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT /*messageSeverity*/, + VkDebugUtilsMessageTypeFlagsEXT /*messageType*/,const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,void* /*pUserData*/) { + + std::cerr << "validation layer: " << pCallbackData->pMessage << std::endl; + + return VK_FALSE; + } + static std::vector readFile(const std::string& filename); + + static void framebufferResizeCallback(GLFWwindow* window, int width, int height); +// static void framebufferResizeCallback(QQuickWindow* window, int width, int height); + +private: + void initWindow(); + void initVulkan(); + void mainLoop(); + void cleanup(); + void createInstance(); + + // Enable Validation Layers + bool checkValidationLayerSupport(); + + // Message Callback + std::vector getRequiredExtensions(); + void setupDebugMessenger(); + + void pickPhysicalDevice(); + void chooseDevice(uint32_t deviceCount); + bool isDeviceSuitable(VkPhysicalDevice device); + + void createLogicalDevice(); + QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device); + + void createSurface(); + + bool checkDeviceExtensionSupport(VkPhysicalDevice device); + SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device); + VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats); + VkPresentModeKHR chooseSwapPresentMode(const std::vector& availablePresentModes); + VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities); + void createSwapChain(); + + void createImageViews(); + + void createGraphicsPipeline(); + VkShaderModule createShaderModule(const std::vector& code); + void createRenderPass(); + + void createFramebuffers(); + void createCommandPool(); + void createCommandBuffer(); + void recordCommandBuffer(VkCommandBuffer commandBuffer, uint32_t imageIndex); + + void drawFrame(); + void createSyncObjects(); + + void recreateSwapChain(); + void cleanupSwapChain(); + + void createVertexBuffer(); + uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties); + void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties, VkBuffer& buffer, VkDeviceMemory& bufferMemory); + void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size); + void createIndexBuffer(); + + void createDescriptorSetLayout(); + void createUniformBuffers(); + void updateUniformBuffer(uint32_t currentImage); + void createDescriptorPool(); + void createDescriptorSets(); + + void createTextureImage(); + void createImage(uint32_t width, uint32_t height, uint32_t mipLevels, VkSampleCountFlagBits numSamples, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage + , VkMemoryPropertyFlags properties, VkImage& image, VkDeviceMemory& imageMemory); + VkCommandBuffer beginSingleTimeCommands(); + void endSingleTimeCommands(VkCommandBuffer commandBuffer); + void transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels); + void copyBufferToImage(VkBuffer buffer, VkImage image, uint32_t width, uint32_t height); + void createTextureImageView(); + VkImageView createImageView(VkImage image, VkFormat format, VkImageAspectFlags aspectFlags, uint32_t mipLevels); + void createTextureSampler(); + + void createDepthResources(); + VkFormat findSupportedFormat(const std::vector& candidates, VkImageTiling tiling, VkFormatFeatureFlags features); + VkFormat findDepthFormat(); + bool hasStencilComponent(VkFormat format); + + void loadModel(); + + void generateMipmaps(VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels); + + VkSampleCountFlagBits getMaxUsableSampleCount(); + void createColorResources(); + + void createShaderStorageBuffers(); + void createComputePipeline(); + void createComputeCommandBuffers(); + void recordComputeCommandBuffer(VkCommandBuffer commandBuffer); + void createComputeDescriptorSets(); + void createComputeDescriptorSetLayout(); + void createComputeDescriptorPool(); + + VkApplicationInfo createInstanceAppInfo(); + VkDebugUtilsMessengerCreateInfoEXT createInstanceDebugMessengerInfo(); + VkInstanceCreateInfo createInstanceInfo(VkApplicationInfo* appInfo, std::vector& extensions + , VkDebugUtilsMessengerCreateInfoEXT& debugCreateInfo); + + VkDeviceQueueCreateInfo createQueueInfo(uint32_t queueFamily, uint32_t queueCount, float* queuePriority); + VkPhysicalDeviceFeatures createDeviceFeatures(); + VkDeviceCreateInfo createLogicalDeviceInfo(std::vector& queueCreateInfos, VkPhysicalDeviceFeatures* deviceFeatures); + + VkSwapchainCreateInfoKHR createSwapChainInfo(SwapChainSupportDetails swapChainSupport, VkSurfaceKHR _surface, uint32_t imageCount + , VkSurfaceFormatKHR surfaceFormat, VkExtent2D extent, VkPresentModeKHR presentMode); + + VkAttachmentDescription createColorAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentDescription createDepthAttachmentInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentDescription createColorAttachmentResolveInfo(VkFormat format, VkSampleCountFlagBits msaaSamples); + VkAttachmentReference createAttachmentRefInfo(uint32_t offset, VkImageLayout layout); + VkSubpassDescription createSubpassInfo(VkAttachmentReference* colorAttachRef, VkAttachmentReference* depthAttachRef + , VkAttachmentReference* colorAttachResolverRef); + VkRenderPassCreateInfo createRenderPassInfo(std::vector& attachments, VkSubpassDescription* subpass, VkSubpassDependency* dependency); + VkSubpassDependency createSubpassDependencyInfo(); + + VkDescriptorSetLayoutBinding createLayoutBindingInfo(uint32_t offset, VkDescriptorType descType, VkShaderStageFlagBits StageFlags); + + VkPipelineShaderStageCreateInfo createPipelineShaderInfo(VkShaderStageFlagBits stage, VkShaderModule module); + VkPipelineVertexInputStateCreateInfo createPipelineVertexInputInfo(); + VkPipelineInputAssemblyStateCreateInfo createPipelineInputAssemblyStateInfo(); + VkPipelineDynamicStateCreateInfo createPipelineDynamicStateInfo(std::vector& dynamicStates); + VkPipelineViewportStateCreateInfo createPipelineViewportStateInfo(); + VkPipelineRasterizationStateCreateInfo createPipelineRasterizationStateInfo(); + VkPipelineMultisampleStateCreateInfo createPipelineMultisampleStateInfo(); + VkPipelineColorBlendAttachmentState colorPipelineBlendAttachmentStateInfo(); + VkPipelineColorBlendStateCreateInfo colorPipelineBlendStateInfo(VkPipelineColorBlendAttachmentState* colorBlendAttachment); + VkPipelineLayoutCreateInfo createPipelineLayoutInfo(); + VkPipelineDepthStencilStateCreateInfo createPipelineDepthStencilStateInfo(); + VkPipelineLayoutCreateInfo createComputePipelineLayoutInfo(); + + VkFramebufferCreateInfo createFramebufferInfo(std::vector& attachments); + + void copyImageToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory, stbi_uc* pixels, VkDeviceSize imageSize); + + VkImageMemoryBarrier initMipmapBarrier(VkImage image); + void setFirstStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + void setSecondStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + void setLastStepMipmapBarrierInfo(VkImageMemoryBarrier& barrier, uint32_t index); + VkImageBlit createBlitMipMapInfo(int32_t mipWidth, int32_t mipHeight, uint32_t index); + + VkImageMemoryBarrier initTransitionLayoutBarrierInfo(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout, uint32_t mipLevels); + void setSrcAndDst(VkImageMemoryBarrier& barrier, VkPipelineStageFlags& sourceStage, VkPipelineStageFlags& destinationStage, VkImageLayout oldLayout + , VkImageLayout newLayout); + + void allocateAndBindImageMemory(VkImage& image, VkDeviceMemory& imageMemory, VkMemoryPropertyFlags properties); + + VkBufferImageCopy createBufferImageCopyInfo(uint32_t width, uint32_t height); + + Vertex createLoadModelVertex(tinyobj::attrib_t attrib, tinyobj::index_t index); + + void copyVerticesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + void copyIndicesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + + void allocateAndBindBufferMemory(VkBuffer& buffer, VkDeviceMemory& bufferMemory, VkMemoryPropertyFlags properties); + void copyParticlesToStagingBuffer(VkBuffer& stagingBuffer, VkDeviceMemory& stagingBufferMemory); + + std::vector initParticles(); + void initShaderStorageBuffers(VkBuffer& stagingBuffer); + + void allocateDescriptorSets(); + VkDescriptorBufferInfo createDescriptorBufferInfo(VkBuffer buffer, VkDeviceSize range); + VkDescriptorImageInfo createDescriptorImageInfo(); + void addUniformBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index, uint32_t dstBinding); + void addImageWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorImageInfo* imageInfo, size_t index, uint32_t dstBinding); + + void allocateComputeDescriptorSets(); + void addStorageBufferWriteDescriptor(VkWriteDescriptorSet& descriptorWrite, VkDescriptorBufferInfo* bufferInfo, size_t index, uint32_t dstBinding); + + void computeSubmission(); + VkSubmitInfo createComputeSubmitInfo(); + VkResult graphicsSubmission(); + void drawSubmission(uint32_t imageIndex, VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores); + VkSubmitInfo createDrawSubmitInfo(VkSemaphore* waitSemaphores, VkPipelineStageFlags* waitStages, VkSemaphore* signalSemaphores); + VkResult presentSubmission(uint32_t imageIndex, VkSemaphore* signalSemaphores); + + VkViewport createViewportInfo(); + VkRect2D createScissorInfo(); + void beginPipelineCommands(VkCommandBuffer commandBuffer); + void beginRenderPass(VkCommandBuffer commandBuffer, uint32_t imageIndex); + + void cleanPipeline(); + void cleanBuffers(); + void cleanSyncObjects(); + void cleanBase(); + + const int32_t WIDTH = 800; + const int32_t HEIGHT = 600; + + const std::string MODEL_PATH = "/home/ali-mehrabani/Qt_projects/VkTest/models/viking_room.obj"; + const std::string TEXTURE_PATH = "/home/ali-mehrabani/Qt_projects/VkTest/textures/viking_room.png"; + + const std::vector validationLayers = { + "VK_LAYER_KHRONOS_validation" + }; + const std::vector deviceExtensions = { + VK_KHR_SWAPCHAIN_EXTENSION_NAME + }; +// const std::vector _vertices = { +// {{-0.5f, -0.5f, 0.0f}, {1.0f, 0.0f, 0.0f}, {1.0f, 0.0f}}, +// {{0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f}}, +// {{0.5f, 0.5f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f}}, +// {{-0.5f, 0.5f, 0.0f}, {1.0f, 1.0f, 1.0f}, {1.0f, 1.0f}}, + +// {{-0.5f, -0.5f, -0.5f}, {1.0f, 0.0f, 0.0f}, {0.0f, 0.0f}}, +// {{0.5f, -0.5f, -0.5f}, {0.0f, 1.0f, 0.0f}, {1.0f, 0.0f}}, +// {{0.5f, 0.5f, -0.5f}, {0.0f, 0.0f, 1.0f}, {1.0f, 1.0f}}, +// {{-0.5f, 0.5f, -0.5f}, {1.0f, 1.0f, 1.0f}, {0.0f, 1.0f}} +// }; +// const std::vector _indices = { +// 0, 1, 2, 2, 3, 0, +// 4, 5, 6, 6, 7, 4 +// }; + + std::vector _vertices; + std::vector _indices; + + uint32_t currentFrame = 0; + bool framebufferResized = false; + + GLFWwindow *_window; +// QQuickWindow* _window; + VkInstance _instance; + VkDebugUtilsMessengerEXT _debugMessenger; + VkPhysicalDevice _physicalDevice; + VkDevice _device; + VkQueue _graphicsQueue; + VkSurfaceKHR _surface; + VkQueue _presentQueue; + VkSwapchainKHR _swapChain; + std::vector _swapChainImages; + VkFormat _swapChainImageFormat; + VkExtent2D _swapChainExtent; + std::vector _swapChainImageViews; + VkRenderPass _renderPass; + VkDescriptorSetLayout _descriptorSetLayout; + VkPipelineLayout _pipelineLayout; + VkPipeline _graphicsPipeline; + std::vector _swapChainFramebuffers; + VkCommandPool _commandPool; + std::vector _commandBuffers; + std::vector _imageAvailableSemaphores; + std::vector _renderFinishedSemaphores; + std::vector _inFlightFences; + VkBuffer _vertexBuffer; + VkDeviceMemory _vertexBufferMemory; + VkBuffer _indexBuffer; + VkDeviceMemory _indexBufferMemory; + + std::vector _uniformBuffers; + std::vector _uniformBuffersMemory; + std::vector _uniformBuffersMapped; + VkDescriptorPool _descriptorPool; + std::vector _descriptorSets; + + uint32_t _mipLevels; + VkImage _textureImage; + VkDeviceMemory _textureImageMemory; + VkImageView _textureImageView; + VkSampler _textureSampler; + + VkImage _depthImage; + VkDeviceMemory _depthImageMemory; + VkImageView _depthImageView; + + VkSampleCountFlagBits _msaaSamples = VK_SAMPLE_COUNT_1_BIT; + VkImage _colorImage; + VkDeviceMemory _colorImageMemory; + VkImageView _colorImageView; + + std::vector _shaderStorageBuffers; + std::vector _shaderStorageBuffersMemory; + VkPipelineLayout _computePipelineLayout; + VkPipeline _computePipeline; + VkDescriptorSetLayout _computeDescriptorSetLayout; + VkDescriptorPool _computeDescriptorPool; + std::vector _computeDescriptorSets; + std::vector _computeCommandBuffers; + std::vector _computeInFlightFences; + std::vector _computeFinishedSemaphores; + +}; + +#endif // HELLOTRIANGLEAPPLICATION_H diff --git a/VulkanTutorial1.0/Types.h b/VulkanTutorial1.0/Types.h new file mode 100644 index 0000000..9edb0d2 --- /dev/null +++ b/VulkanTutorial1.0/Types.h @@ -0,0 +1,36 @@ +#ifndef TYPES_H +#define TYPES_H + +#pragma once + +#include +#include + +#pragma once + +#define VK_USE_PLATFORM_ +#define GLFW_INCLUDE_VULKAN +#include +#define GLFW_EXPOSE_NATIVE_ +#include + +#define GLM_FORCE_RADIANS +//#define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES +#define GLM_FORCE_DEPTH_ZERO_TO_ONE +#include +#include +#define GLM_ENABLE_EXPERIMENTAL +#include + +#include +#include + +#include + +struct SwapChainSupportDetails { + VkSurfaceCapabilitiesKHR capabilities; + std::vector formats; + std::vector presentModes; +}; + +#endif // TYPES_H diff --git a/android-libVkTest.so-deployment-settings.json b/android-libVkTest.so-deployment-settings.json deleted file mode 100644 index 2423cfd..0000000 --- a/android-libVkTest.so-deployment-settings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "description": "This file is generated by qmake to be read by androiddeployqt and should not be modified by hand.", - "qt": "/opt/Qt5.13.2/5.13.2/android_arm64_v8a", - "sdk": "/home/ali-mehrabani/host-projects/Android/Sdk", - "sdkBuildToolsRevision": "30.0.0", - "ndk": "/home/ali-mehrabani/host-projects/Android/Sdk/ndk/android-ndk-r20b", - "toolchain-prefix": "llvm", - "tool-prefix": "llvm", - "toolchain-version": "4.9", - "ndk-host": "linux-x86_64", - "target-architecture": "arm64-v8a", - "android-package-source-directory": "/home/ali-mehrabani/Qt_projects/VkTest/android", - "qml-root-path": "/home/ali-mehrabani/Qt_projects/VkTest", - "stdcpp-path": "/home/ali-mehrabani/host-projects/Android/Sdk/ndk/android-ndk-r20b/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so", - "useLLVM": true, - "application-binary": "/home/ali-mehrabani/Qt_projects/VkTest/libVkTest.so" -} diff --git a/main.cpp b/main.cpp index 73cfbd0..113a599 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,9 @@ -//#include -#include +#define STB_IMAGE_IMPLEMENTATION +#define TINYOBJLOADER_IMPLEMENTATION + +//#include "VulkanTutorial1.0/HelloTriangleApplication.h" +#include "VulkanTutorial1.0/ComputeAndGraphics.h" +//#include #include #include @@ -8,11 +12,12 @@ int main(int /*argc*/, char */*argv*/[]) { // HelloTriangleApplication app; - VkMain vkMain; + ComputeAndGraphics app; +// VkMain vkMain; try { -// app.run(); - vkMain.mainRun(); + app.run(); +// vkMain.mainRun(); } catch (const std::exception& e) { std::cerr << e.what() << std::endl; return EXIT_FAILURE; diff --git a/models/viking_room.obj b/models/viking_room.obj new file mode 100644 index 0000000..7cc74b1 --- /dev/null +++ b/models/viking_room.obj @@ -0,0 +1,16053 @@ +# Blender v2.82 (sub 7) OBJ File: '' +# www.blender.org +mtllib viking_room.mtl +o mesh_all1_Texture1_0 +v -0.573651 0.001530 0.713748 +v -0.573651 0.151382 -0.000154 +v -0.573651 0.164474 0.619081 +v -0.573651 -0.172251 0.629386 +v -0.573651 -0.158077 -0.000154 +v -0.321455 -0.083704 0.292965 +v -0.330610 -0.076846 0.325114 +v -0.321455 -0.102605 0.286187 +v -0.321455 -0.139709 0.314261 +v -0.321455 -0.133254 0.300642 +v -0.330610 -0.116841 0.347841 +v -0.353414 -0.083704 0.292965 +v -0.353414 -0.102605 0.286187 +v -0.344259 -0.076846 0.325114 +v -0.353414 -0.139709 0.314261 +v -0.344259 -0.116841 0.347841 +v -0.353414 -0.133254 0.300642 +v -0.337435 -0.055125 0.252007 +v -0.343555 -0.059984 0.266330 +v -0.331314 -0.059984 0.266330 +v -0.343555 -0.162781 0.326087 +v -0.337435 -0.176479 0.329128 +v -0.331314 -0.162781 0.326087 +v -0.380872 -0.014709 0.191148 +v -0.386786 0.043401 0.190067 +v -0.383829 0.016847 0.165599 +v -0.276384 -0.008655 0.191148 +v -0.279157 0.016669 0.165599 +v -0.281929 0.036991 0.190067 +v 0.532522 0.273765 0.008346 +v 0.540774 0.354737 0.031466 +v 0.467002 0.246589 0.009207 +v 0.595516 0.256354 0.008721 +v 0.690958 0.677146 -0.003071 +v 0.607800 0.646006 -0.002071 +v 0.638479 0.592487 0.021070 +v 0.253268 0.306429 0.007915 +v 0.298805 0.266359 0.008946 +v 0.268356 0.370791 0.034153 +v 0.184580 0.289839 0.008489 +v 0.221447 0.729652 -0.003731 +v 0.232895 0.642290 0.014291 +v 0.309542 0.688101 -0.002732 +v 0.741905 -0.721043 0.001923 +v 0.319177 -0.223316 0.001923 +v 0.319177 -0.721043 0.001923 +v -0.114645 -0.721043 0.001923 +v -0.114645 -0.223316 0.001923 +v -0.575491 -0.721043 0.001923 +v 0.741905 0.739535 0.001923 +v 0.319177 0.739535 0.001923 +v 0.319177 0.188385 0.001923 +v -0.575491 0.739535 0.001923 +v -0.114645 0.188385 0.001923 +v -0.114645 0.739535 0.001923 +v -0.411461 0.212408 0.675560 +v -0.411461 0.209834 0.750638 +v -0.411461 0.170319 0.699099 +v -0.411461 -0.213822 0.675616 +v -0.411461 -0.173571 0.699646 +v -0.411461 -0.212562 0.745240 +v -0.454846 -0.024046 0.486233 +v -0.445048 -0.025567 0.484215 +v -0.448282 -0.023882 0.507913 +v -0.452934 0.011287 0.485221 +v -0.446340 0.012005 0.506886 +v -0.442980 0.012645 0.483121 +v -0.465520 0.007524 0.534670 +v -0.461744 0.007451 0.548021 +v -0.452587 0.009780 0.528738 +v -0.466905 -0.018078 0.535403 +v -0.454235 -0.020678 0.529610 +v -0.463093 -0.017464 0.548734 +v -0.484932 0.004695 0.560385 +v -0.486844 0.005319 0.573640 +v -0.473494 0.005911 0.563596 +v -0.485945 -0.014022 0.560921 +v -0.474635 -0.015181 0.564200 +v -0.487893 -0.014072 0.574195 +v -0.520481 0.004809 0.560873 +v -0.531981 0.006112 0.564167 +v -0.517902 0.005407 0.574299 +v -0.521493 -0.013890 0.561408 +v -0.518949 -0.013936 0.574853 +v -0.533123 -0.014989 0.564771 +v -0.540070 0.007789 0.535300 +v -0.552785 0.010139 0.529545 +v -0.543663 0.007734 0.548737 +v -0.541457 -0.017846 0.536034 +v -0.545012 -0.017201 0.549451 +v -0.554436 -0.020371 0.530419 +v -0.552724 0.011631 0.485913 +v -0.562516 0.013054 0.483901 +v -0.559070 0.012401 0.507808 +v -0.554638 -0.023732 0.486925 +v -0.561014 -0.023528 0.508837 +v -0.564585 -0.025189 0.484996 +v -0.519142 -0.071106 0.487602 +v -0.484330 -0.070382 0.487579 +v -0.549653 -0.054333 0.487078 +v -0.521847 0.058768 0.483541 +v -0.456523 0.042720 0.484043 +v -0.487034 0.059493 0.483518 +v -0.373970 0.352886 0.561430 +v -0.372429 0.349968 0.556986 +v -0.370280 0.350637 0.551648 +v -0.376749 0.448804 0.544444 +v -0.395875 0.438057 0.585830 +v -0.385656 0.358403 0.551520 +v -0.409958 0.416769 0.618384 +v -0.424311 0.368196 0.639710 +v -0.416400 0.342731 0.626770 +v -0.418078 0.308704 0.626391 +v -0.403129 0.274433 0.585444 +v -0.384375 0.266441 0.538006 +v -0.373184 0.283125 0.503630 +v -0.358251 0.303948 0.477395 +v -0.358985 0.343152 0.458250 +v -0.351293 0.400130 0.470936 +v -0.361022 0.435885 0.499096 +v -0.392141 -0.274407 0.458736 +v -0.404246 -0.280731 0.449455 +v -0.381403 -0.360558 0.500104 +v -0.418947 -0.286666 0.449135 +v -0.432304 -0.290620 0.457863 +v -0.440738 -0.291535 0.473300 +v -0.441989 -0.289165 0.491309 +v -0.441989 -0.289165 0.491309 +v -0.435722 -0.284146 0.507065 +v -0.423617 -0.277822 0.516346 +v -0.408916 -0.271888 0.516665 +v -0.395559 -0.267933 0.507937 +v -0.387125 -0.267019 0.492501 +v -0.385874 -0.269388 0.474492 +v 0.245786 -0.579001 0.152919 +v 0.243482 -0.544751 0.144899 +v 0.222300 -0.596550 0.152919 +v 0.184260 -0.556156 0.144899 +v 0.161260 -0.334844 0.144899 +v 0.216432 -0.328119 0.144899 +v 0.183450 -0.306128 0.150074 +v 0.212467 -0.309309 0.150074 +v 0.188087 -0.593086 0.152919 +v 0.156860 -0.315354 0.150074 +v 0.119065 -0.584458 0.160294 +v 0.151411 -0.590904 0.160294 +v 0.116544 -0.560137 0.149178 +v 0.184027 -0.554069 0.149178 +v 0.186388 -0.578329 0.160294 +v 0.093980 -0.351118 0.149178 +v 0.117136 -0.306193 0.156351 +v 0.087578 -0.319203 0.156351 +v 0.161651 -0.336739 0.149178 +v 0.154635 -0.305797 0.156351 +v 0.118307 -0.589580 0.152700 +v 0.118340 -0.572183 0.144772 +v 0.086177 -0.601870 0.152700 +v 0.055611 -0.565524 0.144772 +v 0.037224 -0.360889 0.144772 +v 0.093361 -0.344161 0.144772 +v 0.058206 -0.330401 0.149888 +v 0.089083 -0.325584 0.149888 +v 0.063742 -0.588814 0.152700 +v 0.034755 -0.344658 0.149888 +v 0.125535 -0.399860 0.162553 +v 0.131949 -0.397949 0.159852 +v 0.129966 -0.404947 0.159384 +v 0.124083 -0.406701 0.163903 +v 0.129043 -0.411630 0.162553 +v 0.135457 -0.409718 0.159852 +v 0.136909 -0.402877 0.158502 +v 0.138796 -0.395907 0.183367 +v 0.132383 -0.397819 0.186068 +v 0.137874 -0.402590 0.186536 +v 0.130931 -0.404660 0.187418 +v 0.135891 -0.409589 0.186068 +v 0.142305 -0.407677 0.183367 +v 0.143757 -0.400836 0.182017 +v 0.139085 -0.418762 0.163774 +v 0.141638 -0.421979 0.158861 +v 0.135908 -0.423221 0.160722 +v 0.134111 -0.420677 0.166742 +v 0.131691 -0.425809 0.164797 +v 0.134244 -0.429025 0.159885 +v 0.139218 -0.427110 0.156916 +v 0.151422 -0.430679 0.173179 +v 0.148869 -0.427463 0.178092 +v 0.147205 -0.433267 0.177255 +v 0.143895 -0.429378 0.181060 +v 0.141474 -0.434509 0.179115 +v 0.144028 -0.437726 0.174202 +v 0.149001 -0.435811 0.171234 +v 0.114156 -0.496712 0.181759 +v 0.113028 -0.507623 0.181759 +v 0.116767 -0.502496 0.145224 +v 0.119946 -0.516136 0.181759 +v 0.130857 -0.517264 0.181759 +v 0.125729 -0.513526 0.145224 +v 0.139370 -0.510347 0.181759 +v 0.140497 -0.499435 0.181759 +v 0.136759 -0.504563 0.145224 +v -0.238488 0.573899 0.581732 +v -0.205640 0.590027 0.581732 +v -0.251197 0.630347 0.559399 +v -0.188545 0.622382 0.581732 +v -0.193733 0.658606 0.581732 +v -0.219222 0.684863 0.581732 +v -0.255276 0.691123 0.581732 +v -0.288124 0.674996 0.581732 +v -0.305219 0.642641 0.581732 +v -0.300031 0.606416 0.581732 +v -0.274543 0.580160 0.581732 +v -0.198390 -0.583185 0.581732 +v -0.190495 -0.547453 0.581732 +v -0.250429 -0.557892 0.559399 +v -0.205110 -0.513905 0.581732 +v -0.236653 -0.495354 0.581732 +v -0.273076 -0.498887 0.581732 +v -0.300466 -0.523154 0.581732 +v -0.308362 -0.558886 0.581732 +v -0.293747 -0.592434 0.581732 +v -0.262203 -0.610985 0.581732 +v -0.225780 -0.607452 0.581732 +v -0.389896 -0.547006 0.921101 +v -0.445245 -0.552738 0.921101 +v -0.334546 -0.552738 0.921101 +v -0.389896 0.547006 0.921101 +v -0.334546 0.552738 0.921101 +v -0.445245 0.552738 0.921101 +v 0.564855 -0.547006 0.921101 +v 0.509506 -0.552738 0.921101 +v 0.620205 -0.552738 0.921101 +v -0.291320 -0.536528 0.566384 +v -0.302021 -0.514091 0.566384 +v -0.387725 -0.513312 0.566384 +v -0.488464 -0.540873 0.566384 +v -0.476036 -0.514259 0.566384 +v -0.387725 -0.513312 0.429362 +v -0.488464 -0.540873 0.429362 +v -0.476036 -0.514259 0.429362 +v -0.291320 -0.536528 0.429362 +v -0.302021 -0.514091 0.429362 +v 0.661798 -0.568567 0.566384 +v 0.651097 -0.546131 0.566384 +v 0.565393 -0.545352 0.566384 +v 0.464654 -0.572912 0.566384 +v 0.477082 -0.546299 0.566384 +v 0.565393 -0.545352 0.429362 +v 0.464654 -0.572912 0.429362 +v 0.477082 -0.546299 0.429362 +v 0.661798 -0.568567 0.429362 +v 0.651097 -0.546131 0.429362 +v -0.291027 0.536528 0.566384 +v -0.387432 0.513312 0.566384 +v -0.301727 0.514091 0.566384 +v -0.488170 0.540872 0.566384 +v -0.475743 0.514259 0.566384 +v -0.387432 0.513312 0.429362 +v -0.475743 0.514259 0.429362 +v -0.488171 0.540872 0.429362 +v -0.291027 0.536528 0.429362 +v -0.301727 0.514091 0.429362 +v -0.453264 -0.438596 0.414817 +v -0.427770 -0.438596 0.394532 +v -0.453264 -0.438596 0.394532 +v -0.453264 -0.464081 0.414817 +v -0.453264 -0.464081 0.394532 +v -0.427770 -0.464081 0.394532 +v -0.453264 -0.257355 0.414817 +v -0.427770 -0.257355 0.394532 +v -0.453264 -0.257355 0.394532 +v -0.453264 -0.282839 0.414817 +v -0.453264 -0.282839 0.394532 +v -0.427770 -0.282839 0.394532 +v -0.453264 0.277542 0.413165 +v -0.427770 0.277542 0.396429 +v -0.453264 0.277542 0.396429 +v -0.453264 0.250185 0.413165 +v -0.453264 0.250185 0.396429 +v -0.427770 0.250185 0.396429 +v -0.453264 0.462431 0.413165 +v -0.427770 0.462431 0.396429 +v -0.453264 0.462431 0.396429 +v -0.453264 0.435082 0.413165 +v -0.453264 0.435082 0.396429 +v -0.427770 0.435082 0.396429 +v -0.274652 0.143427 0.219052 +v -0.265515 0.151991 0.221150 +v -0.263536 0.164246 0.225535 +v -0.293859 0.179881 0.235216 +v -0.302996 0.171317 0.233118 +v -0.304974 0.159062 0.228733 +v -0.260761 -0.130895 0.223100 +v -0.273335 -0.131040 0.225208 +v -0.283112 -0.138774 0.229610 +v -0.271260 -0.170916 0.239332 +v -0.258686 -0.170771 0.237225 +v -0.248910 -0.163037 0.232822 +v 0.017080 0.043178 0.169198 +v 0.010006 -0.015389 0.171680 +v 0.103749 0.003803 0.189413 +v 0.038739 -0.066924 0.173863 +v 0.092303 -0.091744 0.174915 +v 0.150239 -0.080368 0.174433 +v 0.179960 -0.032204 0.174535 +v 0.186180 0.019296 0.172353 +v 0.160915 0.064613 0.170433 +v 0.113813 0.086438 0.169508 +v 0.062868 0.076435 0.169932 +v -0.217900 -0.441431 0.076654 +v -0.207289 -0.436671 0.059471 +v -0.198346 -0.434496 0.078506 +v -0.243401 -0.350576 0.137634 +v -0.248037 -0.369666 0.142316 +v -0.228483 -0.362730 0.144168 +v -0.260360 0.646583 0.674025 +v -0.253966 0.636373 0.698247 +v -0.252678 0.633151 0.670918 +v -0.259357 0.647161 0.674006 +v -0.251673 0.633730 0.670898 +v -0.253030 0.636913 0.698229 +v -0.237613 -0.560210 0.645912 +v -0.247500 -0.557118 0.665355 +v -0.249555 -0.556435 0.643025 +v -0.237897 -0.561109 0.645912 +v -0.249840 -0.557335 0.643025 +v -0.247765 -0.557957 0.665355 +v -0.281383 0.156884 0.264412 +v -0.281430 0.156974 0.280989 +v -0.287747 0.168617 0.270807 +v -0.280328 0.157457 0.264412 +v -0.286694 0.169188 0.270807 +v -0.280379 0.157545 0.280989 +v -0.266766 -0.146384 0.254597 +v -0.266731 -0.146448 0.266520 +v -0.262097 -0.154772 0.259196 +v -0.267520 -0.146803 0.254597 +v -0.262850 -0.155191 0.259196 +v -0.267483 -0.146866 0.266520 +v -0.447121 0.001530 0.713748 +v -0.447121 -0.172251 0.629386 +v -0.573651 -0.172251 0.629386 +v -0.573651 0.001530 0.713748 +v -0.447121 0.164474 0.619081 +v -0.573651 0.164474 0.619081 +v -0.447121 0.151382 -0.000154 +v -0.573651 0.151382 -0.000154 +v -0.447121 -0.158077 -0.000154 +v -0.573651 -0.158077 -0.000154 +v -0.447121 -0.600028 0.004394 +v -0.447121 -0.158077 -0.000154 +v -0.447121 -0.172251 0.629386 +v -0.447121 -0.586933 0.648033 +v -0.447121 0.164474 0.619081 +v -0.447121 0.151382 -0.000154 +v -0.447121 0.593027 -0.005760 +v -0.447121 0.584216 0.641591 +v -0.447121 0.151382 -0.000154 +v -0.447121 -0.158077 -0.000154 +v -0.447121 0.461288 0.800080 +v -0.447121 0.353390 0.857197 +v -0.447121 0.001530 0.713748 +v -0.447121 0.002412 0.864522 +v -0.447121 -0.357613 0.859314 +v -0.447121 -0.443691 0.819132 +v 0.536407 -0.664843 0.002715 +v -0.337867 -0.664843 0.000860 +v -0.338482 -0.664843 0.813595 +v 0.535793 -0.664843 0.815448 +v -0.330770 -0.616018 0.246266 +v -0.330770 -0.616018 0.316683 +v -0.187438 -0.616327 0.314538 +v -0.185947 -0.618911 0.264762 +v -0.335768 -0.681060 0.316683 +v -0.192972 -0.688336 0.314538 +v -0.335768 -0.681060 0.246266 +v -0.191091 -0.685842 0.264762 +v 0.073168 -0.692533 0.299157 +v 0.079190 -0.614170 0.299157 +v 0.075552 -0.615534 0.248478 +v 0.069755 -0.690982 0.248478 +v 0.359678 -0.611262 0.314656 +v 0.352998 -0.698193 0.314656 +v 0.502730 -0.695377 0.322434 +v 0.510377 -0.608245 0.322434 +v 0.349125 -0.610981 0.262758 +v 0.510377 -0.608245 0.243607 +v 0.502730 -0.695377 0.243607 +v 0.342445 -0.697912 0.262758 +v 0.473809 -0.596288 0.851846 +v 0.293424 -0.596288 0.831581 +v 0.293424 -0.686392 0.831581 +v 0.473809 -0.686392 0.851846 +v 0.473809 -0.596288 0.768415 +v 0.473809 -0.686392 0.768415 +v 0.293424 -0.686392 0.748150 +v 0.293424 -0.596288 0.748150 +v 0.473809 -0.596288 0.768415 +v 0.293424 -0.596288 0.748150 +v 0.058102 -0.596288 0.851846 +v 0.058102 -0.686392 0.851846 +v 0.058102 -0.686392 0.768415 +v 0.058102 -0.596288 0.768415 +v 0.058102 -0.596288 0.768415 +v -0.157246 -0.596288 0.836647 +v -0.157246 -0.686392 0.836647 +v -0.157246 -0.686392 0.753216 +v -0.157246 -0.596288 0.753216 +v -0.157246 -0.596288 0.753216 +v -0.300480 -0.596288 0.851846 +v -0.300480 -0.686392 0.851846 +v -0.300480 -0.686392 0.768415 +v -0.300480 -0.596288 0.768415 +v -0.300480 -0.596288 0.768415 +v -0.347241 -0.057963 0.386481 +v -0.343686 -0.073398 0.365938 +v -0.349514 -0.082855 0.371622 +v -0.356623 -0.073770 0.394205 +v -0.356623 -0.073770 0.394205 +v -0.349514 -0.082855 0.371622 +v -0.343686 -0.092311 0.377306 +v -0.347241 -0.089578 0.401930 +v -0.332030 -0.092311 0.377306 +v -0.328476 -0.089578 0.401930 +v -0.326202 -0.082855 0.371622 +v -0.319093 -0.073770 0.394205 +v -0.332030 -0.073398 0.365938 +v -0.328476 -0.057963 0.386481 +v -0.356623 -0.073770 0.394205 +v -0.347241 -0.089578 0.401930 +v -0.328476 -0.089578 0.401930 +v -0.319093 -0.073770 0.394205 +v -0.328476 -0.057963 0.386481 +v -0.347241 -0.057963 0.386481 +v -0.337435 -0.085052 0.239781 +v -0.331314 -0.082573 0.257433 +v -0.331314 -0.110023 0.251556 +v -0.337435 -0.116048 0.234843 +v -0.337435 -0.158964 0.259908 +v -0.331314 -0.148351 0.276723 +v -0.331314 -0.159419 0.302278 +v -0.337435 -0.173274 0.293854 +v -0.331314 -0.131040 0.263252 +v -0.337435 -0.140354 0.244318 +v -0.321455 -0.117789 0.290185 +v -0.330610 -0.096586 0.336106 +v -0.324990 -0.073597 0.275141 +v -0.324990 -0.143295 0.321760 +v -0.343555 -0.110023 0.251556 +v -0.343555 -0.082573 0.257433 +v -0.343555 -0.159419 0.302278 +v -0.343555 -0.148351 0.276723 +v -0.343555 -0.131040 0.263252 +v -0.353414 -0.117789 0.290185 +v -0.344259 -0.096586 0.336106 +v -0.343555 -0.059984 0.266330 +v -0.343555 -0.162781 0.326087 +v -0.349879 -0.073597 0.275141 +v -0.349879 -0.143295 0.321760 +v -0.353414 -0.083704 0.292965 +v -0.344259 -0.076846 0.325114 +v -0.344259 -0.116841 0.347841 +v -0.353414 -0.139709 0.314261 +v -0.349879 -0.073597 0.275141 +v -0.349879 -0.143295 0.321760 +v -0.357733 0.153127 0.252472 +v -0.357733 0.157451 0.280389 +v -0.351836 0.166836 0.274248 +v -0.351836 0.163776 0.254493 +v -0.337563 0.150965 0.238514 +v -0.337563 0.162246 0.244616 +v -0.317393 0.153127 0.252472 +v -0.323290 0.163776 0.254493 +v -0.317393 0.157451 0.280389 +v -0.323290 0.166836 0.274248 +v -0.337563 0.159613 0.294348 +v -0.337563 0.168366 0.284125 +v -0.337563 0.159613 0.294348 +v -0.337563 0.168366 0.284125 +v -0.323290 0.163776 0.254493 +v -0.337563 0.162246 0.244616 +v -0.337563 0.168366 0.284125 +v -0.323290 0.166836 0.274248 +v -0.351836 0.166836 0.274248 +v -0.351836 0.163776 0.254493 +v -0.337563 -0.127435 0.397225 +v -0.321615 -0.131133 0.386968 +v -0.328314 -0.116500 0.372933 +v -0.337563 -0.115496 0.379331 +v -0.321615 -0.138527 0.366454 +v -0.328314 -0.118510 0.360136 +v -0.337563 -0.142224 0.356198 +v -0.337563 -0.119514 0.353739 +v -0.337563 -0.142224 0.356198 +v -0.353511 -0.138527 0.366454 +v -0.346812 -0.118510 0.360137 +v -0.337563 -0.119514 0.353739 +v -0.353511 -0.131133 0.386968 +v -0.346812 -0.116500 0.372933 +v -0.337563 -0.080905 0.379581 +v -0.313826 -0.084424 0.370030 +v -0.322398 -0.059151 0.343349 +v -0.337563 -0.053610 0.351886 +v -0.313826 -0.100242 0.332992 +v -0.322398 -0.070233 0.326274 +v -0.337563 -0.103762 0.323441 +v -0.337563 -0.075774 0.317737 +v -0.337563 -0.103762 0.323441 +v -0.361301 -0.100242 0.332992 +v -0.352729 -0.070233 0.326274 +v -0.337563 -0.075774 0.317737 +v -0.361301 -0.084424 0.370030 +v -0.352729 -0.059151 0.343349 +v -0.337563 -0.080905 0.379581 +v -0.337563 -0.053610 0.351886 +v -0.337563 0.023452 0.310195 +v -0.325649 0.022175 0.301950 +v -0.327229 0.052690 0.295533 +v -0.337563 0.053798 0.302685 +v -0.325649 0.019621 0.285460 +v -0.327229 0.050474 0.281229 +v -0.337563 0.018344 0.277215 +v -0.337563 0.049367 0.274077 +v -0.337563 0.018344 0.277215 +v -0.349478 0.019621 0.285460 +v -0.347898 0.050474 0.281229 +v -0.337563 0.049367 0.274077 +v -0.349478 0.022175 0.301950 +v -0.347898 0.052690 0.295533 +v -0.325376 0.092754 0.271268 +v -0.317597 0.132978 0.257536 +v -0.317635 0.136945 0.285207 +v -0.325404 0.095138 0.288162 +v -0.337563 0.091561 0.262799 +v -0.337563 0.130993 0.243671 +v -0.337563 0.091561 0.262799 +v -0.349750 0.092754 0.271268 +v -0.357530 0.132978 0.257537 +v -0.337563 0.130993 0.243671 +v -0.349723 0.095138 0.288162 +v -0.357492 0.136945 0.285207 +v -0.337563 0.096328 0.296573 +v -0.337563 0.138924 0.298993 +v -0.328314 -0.061313 0.340018 +v -0.328314 -0.068071 0.329605 +v -0.326740 -0.038814 0.305780 +v -0.326740 -0.032710 0.319273 +v -0.337563 -0.071451 0.324398 +v -0.337563 -0.041865 0.299033 +v -0.337563 -0.071451 0.324398 +v -0.346812 -0.068071 0.329605 +v -0.348386 -0.038814 0.305780 +v -0.337563 -0.041865 0.299033 +v -0.346812 -0.061313 0.340018 +v -0.348386 -0.032710 0.319273 +v -0.337563 -0.057934 0.345225 +v -0.337563 -0.029659 0.326020 +v -0.328314 -0.061313 0.340018 +v -0.337563 -0.057934 0.345225 +v -0.322398 -0.115858 0.377025 +v -0.328314 -0.116500 0.372933 +v -0.328314 -0.118510 0.360136 +v -0.322398 -0.119152 0.356044 +v -0.328314 -0.068071 0.329605 +v -0.337563 -0.119514 0.353739 +v -0.337563 -0.120799 0.345554 +v -0.337563 -0.071451 0.324398 +v -0.337563 -0.120799 0.345554 +v -0.337563 -0.119514 0.353739 +v -0.346812 -0.118510 0.360137 +v -0.352729 -0.119152 0.356044 +v -0.346812 -0.068071 0.329605 +v -0.337563 -0.071451 0.324398 +v -0.346812 -0.116500 0.372933 +v -0.352729 -0.115858 0.377025 +v -0.346812 -0.061313 0.340018 +v -0.337563 -0.115496 0.379331 +v -0.337563 -0.114210 0.387516 +v -0.337563 -0.057934 0.345225 +v -0.337563 -0.114210 0.387516 +v -0.337563 -0.115496 0.379331 +v -0.320009 -0.150433 0.373239 +v -0.320009 -0.140534 0.395124 +v -0.337563 -0.155383 0.362297 +v -0.355117 -0.150433 0.373239 +v -0.337563 -0.155383 0.362297 +v -0.355117 -0.140534 0.395124 +v -0.337563 -0.135585 0.406067 +v -0.323999 0.138546 0.280338 +v -0.323999 0.135638 0.261564 +v -0.337563 0.134184 0.252177 +v -0.351127 0.135638 0.261564 +v -0.351127 0.138546 0.280338 +v -0.337563 0.140000 0.289724 +v -0.337563 0.140000 0.289724 +v -0.323006 0.055725 0.297919 +v -0.327229 0.052690 0.295533 +v -0.327229 0.050474 0.281229 +v -0.322966 0.052928 0.277678 +v -0.323999 0.135638 0.261564 +v -0.323999 0.138546 0.280338 +v -0.337563 0.049367 0.274077 +v -0.337563 0.051528 0.267524 +v -0.337563 0.134184 0.252177 +v -0.337563 0.051528 0.267524 +v -0.337563 0.049367 0.274077 +v -0.347898 0.050474 0.281229 +v -0.352161 0.052928 0.277678 +v -0.351127 0.135638 0.261564 +v -0.337563 0.134184 0.252177 +v -0.347898 0.052690 0.295533 +v -0.352120 0.055725 0.297919 +v -0.351127 0.138546 0.280338 +v -0.337563 0.053798 0.302685 +v -0.337563 0.057120 0.307988 +v -0.337563 0.140000 0.289724 +v -0.328351 -0.003103 0.306540 +v -0.328351 -0.006534 0.294361 +v -0.337563 -0.008249 0.288272 +v -0.337563 -0.008249 0.288272 +v -0.346776 -0.006534 0.294361 +v -0.346776 -0.003103 0.306540 +v -0.337563 -0.001388 0.312629 +v -0.337563 -0.155383 0.362297 +v -0.320009 -0.150433 0.373239 +v -0.320009 -0.140534 0.395124 +v -0.337563 -0.135585 0.406067 +v -0.355117 -0.140534 0.395124 +v -0.355117 -0.150433 0.373239 +v -0.281039 -0.082836 0.165109 +v -0.281039 -0.082836 0.199666 +v -0.386786 -0.082836 0.199666 +v -0.386786 -0.082836 0.165109 +v -0.386786 0.088875 0.199176 +v -0.386786 0.088875 0.164619 +v -0.281039 0.088875 0.164619 +v -0.281039 0.088875 0.199176 +v -0.274017 -0.124209 0.158852 +v -0.273006 -0.076783 0.158852 +v -0.273006 -0.076783 0.206902 +v -0.274017 -0.124209 0.215549 +v -0.325500 -0.082481 0.206902 +v -0.325500 -0.121004 0.215549 +v -0.394483 -0.125277 0.215549 +v -0.395157 -0.073222 0.206902 +v -0.395157 -0.073222 0.158852 +v -0.394483 -0.125277 0.158852 +v -0.273006 -0.076783 0.158852 +v -0.325500 -0.082481 0.158852 +v -0.325500 -0.121004 0.158852 +v -0.274017 -0.124209 0.158852 +v -0.394483 -0.125277 0.158852 +v -0.395157 -0.073222 0.158852 +v -0.272669 0.084176 0.158852 +v -0.274354 0.127328 0.158852 +v -0.274354 0.127016 0.213027 +v -0.272669 0.084176 0.206902 +v -0.333398 0.119893 0.213027 +v -0.331039 0.088806 0.206902 +v -0.393471 0.085244 0.206902 +v -0.397516 0.124879 0.213027 +v -0.397516 0.125192 0.158852 +v -0.393471 0.085244 0.158852 +v -0.274354 0.127328 0.158852 +v -0.333398 0.120206 0.158852 +v -0.331039 0.088806 0.158852 +v -0.272669 0.084176 0.158852 +v -0.393471 0.085244 0.158852 +v -0.397516 0.125192 0.158852 +v -0.321874 -0.051569 0.191459 +v -0.321874 -0.021273 0.189244 +v -0.326325 -0.030656 0.230408 +v -0.326325 -0.045416 0.231339 +v -0.352860 -0.021273 0.189244 +v -0.348409 -0.030656 0.230408 +v -0.352860 -0.051569 0.191459 +v -0.348409 -0.045416 0.231339 +v -0.326348 -0.025067 0.277540 +v -0.326348 -0.048713 0.277540 +v -0.348387 -0.048713 0.277540 +v -0.348387 -0.025067 0.277540 +v -0.322968 -0.054386 0.270191 +v -0.322968 -0.019309 0.274988 +v -0.322968 -0.013537 0.288986 +v -0.322968 -0.052750 0.301897 +v -0.348988 -0.013537 0.288986 +v -0.348988 -0.052750 0.301897 +v -0.348988 -0.054386 0.270191 +v -0.348988 -0.019309 0.274988 +v -0.348988 -0.019309 0.274988 +v -0.348988 -0.013537 0.288986 +v -0.348988 -0.054386 0.270191 +v -0.348988 -0.052750 0.301897 +v -0.322968 0.044584 0.244861 +v -0.322968 0.088392 0.247061 +v -0.322968 0.087109 0.262334 +v -0.322968 0.046407 0.268930 +v -0.348988 0.087109 0.262334 +v -0.348988 0.046407 0.268930 +v -0.348988 0.044584 0.244861 +v -0.348988 0.088392 0.247062 +v -0.348988 0.088392 0.247062 +v -0.348988 0.087109 0.262334 +v -0.348988 0.044584 0.244861 +v -0.348988 0.046407 0.268930 +v -0.321874 0.048453 0.190311 +v -0.321874 0.077050 0.194269 +v -0.326325 0.075773 0.223588 +v -0.326325 0.059011 0.224149 +v -0.352860 0.077050 0.194269 +v -0.348409 0.075773 0.223588 +v -0.326348 0.080353 0.249187 +v -0.326348 0.048498 0.251539 +v -0.348387 0.080353 0.249187 +v -0.348387 0.048498 0.251539 +v -0.348409 0.059011 0.224149 +v -0.352860 0.048453 0.190311 +v -0.408631 0.133840 0.350520 +v -0.408631 0.185495 0.343534 +v -0.417825 0.179489 0.389491 +v -0.417825 0.136514 0.390303 +v -0.409266 0.125617 0.440177 +v -0.409266 0.189861 0.447533 +v -0.460364 0.189861 0.437159 +v -0.460364 0.125617 0.429804 +v -0.460344 0.133840 0.357436 +v -0.460344 0.185495 0.350449 +v -0.408631 0.185495 0.343534 +v -0.460344 0.185495 0.350449 +v -0.460407 0.179489 0.391565 +v -0.417825 0.179489 0.389491 +v -0.460344 0.133840 0.357436 +v -0.408631 0.133840 0.350520 +v -0.417825 0.136514 0.390303 +v -0.460407 0.136514 0.392378 +v -0.409266 0.125617 0.440177 +v -0.460364 0.125617 0.429804 +v -0.460364 0.189861 0.437159 +v -0.409266 0.189861 0.447533 +v -0.418841 -0.187839 0.155999 +v -0.418841 -0.144497 0.155600 +v -0.418841 -0.150307 0.407394 +v -0.418841 -0.183765 0.405468 +v -0.448062 -0.144497 0.155600 +v -0.448062 -0.150307 0.407394 +v -0.448062 -0.187839 0.155999 +v -0.448062 -0.183765 0.405468 +v -0.418841 -0.144312 0.623881 +v -0.418841 -0.185604 0.619447 +v -0.448062 -0.185604 0.619447 +v -0.448062 -0.144312 0.623881 +v -0.420734 0.176813 0.158518 +v -0.420734 0.171165 0.398454 +v -0.420734 0.144015 0.400649 +v -0.420734 0.133152 0.158119 +v -0.449955 0.144015 0.400649 +v -0.449955 0.133152 0.158119 +v -0.449955 0.176813 0.158518 +v -0.449955 0.171165 0.398454 +v -0.420734 0.180689 0.619447 +v -0.420734 0.139397 0.623881 +v -0.449955 0.180689 0.619447 +v -0.449955 0.139397 0.623881 +v -0.456184 -0.164699 0.373593 +v -0.456184 0.158984 0.385251 +v -0.456184 0.159770 0.416030 +v -0.456184 -0.167725 0.421160 +v -0.575149 0.159770 0.416030 +v -0.575149 -0.167725 0.421160 +v -0.575149 -0.164699 0.373593 +v -0.575149 0.158984 0.385251 +v -0.408631 -0.146232 0.350403 +v -0.417825 -0.148906 0.390186 +v -0.417825 -0.191880 0.389373 +v -0.408631 -0.197887 0.343416 +v -0.409266 -0.138009 0.440060 +v -0.460364 -0.138009 0.429686 +v -0.460364 -0.202253 0.437042 +v -0.409266 -0.202253 0.447416 +v -0.460344 -0.146232 0.357319 +v -0.460344 -0.197887 0.350332 +v -0.408631 -0.197887 0.343416 +v -0.417825 -0.191880 0.389373 +v -0.460407 -0.191880 0.391448 +v -0.460344 -0.197887 0.350332 +v -0.460344 -0.146232 0.357319 +v -0.460407 -0.148906 0.392260 +v -0.417825 -0.148906 0.390186 +v -0.408631 -0.146232 0.350403 +v -0.460364 -0.138009 0.429686 +v -0.409266 -0.138009 0.440060 +v -0.409266 -0.202253 0.447416 +v -0.460364 -0.202253 0.437042 +v 0.588718 0.349642 0.006153 +v 0.631482 0.272193 0.008222 +v 0.631916 0.446990 0.008574 +v 0.581104 0.453087 0.026813 +v 0.631554 0.515283 0.001503 +v 0.574975 0.525073 0.024092 +v 0.725379 0.654587 -0.002505 +v 0.685266 0.588856 -0.000621 +v 0.461600 0.701101 -0.003347 +v 0.441820 0.655788 0.025780 +v 0.428120 0.569025 0.029422 +v 0.415274 0.488868 0.037569 +v 0.396565 0.369979 0.043260 +v 0.377371 0.241151 0.009510 +v 0.219986 0.378598 0.005976 +v 0.154045 0.317484 0.007776 +v 0.200713 0.501280 0.002643 +v 0.243517 0.494071 0.021185 +v 0.216612 0.564037 0.000855 +v 0.274236 0.560861 0.019101 +v 0.180606 0.708175 -0.003068 +v 0.187996 0.649980 -0.001472 +v 0.441820 0.655788 0.025780 +v 0.461600 0.701101 -0.003347 +v 0.415274 0.488868 0.037569 +v 0.428120 0.569025 0.029422 +v 0.396565 0.369979 0.043260 +v 0.377371 0.241151 0.009510 +v -0.114645 0.739535 -0.107646 +v -0.575491 0.739535 -0.107646 +v 0.319177 0.739535 -0.107646 +v 0.741905 0.739535 -0.107647 +v -0.575491 -0.721043 -0.107646 +v -0.114645 -0.721043 -0.107646 +v 0.319177 -0.721043 -0.107646 +v 0.741905 -0.721043 -0.107647 +v -0.575491 -0.721043 -0.107646 +v -0.575491 0.739535 -0.107646 +v 0.741905 -0.721043 -0.107647 +v 0.741905 0.739535 -0.107647 +v -0.447635 0.256695 0.664645 +v -0.417421 0.256695 0.664645 +v -0.417421 0.250623 0.658135 +v -0.447635 0.250623 0.658135 +v -0.417421 0.247516 0.726090 +v -0.417421 0.216328 0.692649 +v -0.417421 0.250623 0.658135 +v -0.447635 0.250623 0.658135 +v -0.447635 0.216328 0.692649 +v -0.447635 0.247516 0.726090 +v -0.447635 -0.254362 0.656174 +v -0.447635 -0.248290 0.649664 +v -0.417421 -0.248290 0.649664 +v -0.417421 -0.254362 0.656174 +v -0.417421 -0.248290 0.649664 +v -0.417421 -0.213995 0.684178 +v -0.417421 -0.245183 0.717619 +v -0.447635 -0.248290 0.649664 +v -0.447635 -0.213995 0.684178 +v -0.447635 -0.245183 0.717619 +v -0.411461 0.202230 0.614738 +v -0.411461 0.168495 0.670555 +v -0.411461 0.121505 0.652002 +v -0.411461 0.123459 0.612594 +v -0.411461 0.254991 0.726295 +v -0.411461 0.250444 0.747076 +v -0.411461 0.183746 0.775239 +v -0.411461 0.135465 0.729690 +v -0.411461 -0.200853 0.608645 +v -0.411461 -0.123031 0.616770 +v -0.411461 -0.121763 0.661191 +v -0.411461 -0.170962 0.670042 +v -0.411461 -0.247081 0.737319 +v -0.411461 -0.250693 0.715214 +v -0.411461 -0.140056 0.718761 +v -0.411461 -0.166506 0.772849 +v -0.411461 0.000381 0.754349 +v -0.411461 -0.000534 0.687263 +v -0.448569 0.168495 0.670555 +v -0.448569 0.121505 0.652002 +v -0.411461 0.121505 0.652002 +v -0.411461 0.168495 0.670555 +v -0.448569 0.123459 0.612594 +v -0.448569 0.202230 0.614738 +v -0.411461 0.202230 0.614738 +v -0.411461 0.123459 0.612594 +v -0.448569 0.170319 0.699099 +v -0.411461 0.170319 0.699099 +v -0.448569 0.212408 0.675560 +v -0.411461 0.212408 0.675560 +v -0.448569 0.254991 0.726295 +v -0.411461 0.254991 0.726295 +v -0.448569 0.254991 0.726295 +v -0.448569 0.250444 0.747076 +v -0.411461 0.250444 0.747076 +v -0.411461 0.254991 0.726295 +v -0.448569 0.209834 0.750638 +v -0.411461 0.209834 0.750638 +v -0.448569 0.183746 0.775239 +v -0.411461 0.183746 0.775239 +v -0.448569 0.135465 0.729690 +v -0.411461 0.135465 0.729690 +v -0.448569 0.000381 0.754349 +v -0.411461 0.000381 0.754349 +v -0.448569 -0.000534 0.687263 +v -0.411461 -0.000534 0.687263 +v -0.448569 -0.200853 0.608645 +v -0.448569 -0.123031 0.616770 +v -0.411461 -0.123031 0.616770 +v -0.411461 -0.200853 0.608645 +v -0.448569 -0.121763 0.661191 +v -0.448569 -0.170962 0.670042 +v -0.411461 -0.170962 0.670042 +v -0.411461 -0.121763 0.661191 +v -0.448569 -0.213822 0.675616 +v -0.411461 -0.213822 0.675616 +v -0.448569 -0.173571 0.699646 +v -0.411461 -0.173571 0.699646 +v -0.448569 -0.212562 0.745240 +v -0.448569 -0.247081 0.737319 +v -0.411461 -0.247081 0.737319 +v -0.411461 -0.212562 0.745240 +v -0.448569 -0.250693 0.715214 +v -0.411461 -0.250693 0.715214 +v -0.448569 -0.250693 0.715214 +v -0.411461 -0.250693 0.715214 +v -0.448569 -0.140056 0.718761 +v -0.411461 -0.140056 0.718761 +v -0.448569 -0.166506 0.772849 +v -0.411461 -0.166506 0.772849 +v -0.426600 -0.021946 0.394045 +v -0.425094 -0.005993 0.384050 +v -0.434734 -0.004954 0.437012 +v -0.434423 -0.026875 0.437641 +v -0.427058 0.010334 0.393120 +v -0.435045 0.016967 0.436385 +v -0.440123 -0.022144 0.391583 +v -0.438617 -0.006191 0.381588 +v -0.440582 0.010136 0.390658 +v -0.440582 0.010136 0.390658 +v -0.448568 0.016769 0.433922 +v -0.440123 -0.022144 0.391583 +v -0.447946 -0.027073 0.435178 +v -0.499039 0.002764 0.569104 +v -0.495826 0.000129 0.569141 +v -0.481623 0.010780 0.556359 +v -0.490260 0.019267 0.556221 +v -0.494319 -0.003466 0.569225 +v -0.477960 -0.001157 0.556651 +v -0.494862 -0.007198 0.569335 +v -0.480110 -0.013811 0.557030 +v -0.497331 -0.010211 0.569448 +v -0.487580 -0.024282 0.557410 +v -0.501159 -0.011816 0.569537 +v -0.498659 -0.030171 0.557702 +v -0.505471 -0.011644 0.569582 +v -0.510809 -0.030130 0.557841 +v -0.509279 -0.009735 0.569573 +v -0.521246 -0.024167 0.557795 +v -0.511709 -0.006527 0.569511 +v -0.527581 -0.013650 0.557573 +v -0.512206 -0.002754 0.569411 +v -0.528360 -0.000986 0.557228 +v -0.512206 -0.002754 0.569411 +v -0.510655 0.000719 0.569296 +v -0.523407 0.010922 0.556837 +v -0.528360 -0.000986 0.557228 +v -0.507412 0.003097 0.569192 +v -0.513855 0.019347 0.556491 +v -0.503220 0.003835 0.569123 +v -0.501892 0.022358 0.556269 +v -0.472487 0.016906 0.541947 +v -0.484811 0.029016 0.541750 +v -0.467260 -0.000127 0.542364 +v -0.470327 -0.018183 0.542905 +v -0.480986 -0.033124 0.543447 +v -0.496795 -0.041527 0.543864 +v -0.514132 -0.041468 0.544063 +v -0.529026 -0.032961 0.543996 +v -0.538064 -0.017953 0.543680 +v -0.539176 0.000117 0.543187 +v -0.532108 0.017109 0.542629 +v -0.539176 0.000117 0.543187 +v -0.518478 0.029130 0.542135 +v -0.501409 0.033428 0.541818 +v -0.465189 0.021695 0.523495 +v -0.480484 0.036724 0.523251 +v -0.458701 0.000555 0.524013 +v -0.462508 -0.021853 0.524684 +v -0.475737 -0.040396 0.525356 +v -0.495357 -0.050825 0.525875 +v -0.516873 -0.050752 0.526121 +v -0.535358 -0.040193 0.526038 +v -0.546575 -0.021567 0.525646 +v -0.547956 0.000858 0.525034 +v -0.539183 0.021947 0.524342 +v -0.547956 0.000858 0.525034 +v -0.522267 0.036866 0.523729 +v -0.501083 0.042199 0.523335 +v -0.460149 0.024880 0.502591 +v -0.477526 0.041955 0.502313 +v -0.452778 0.000862 0.503178 +v -0.457103 -0.024597 0.503941 +v -0.472132 -0.045664 0.504705 +v -0.494423 -0.057513 0.505294 +v -0.518869 -0.057430 0.505573 +v -0.539870 -0.045434 0.505480 +v -0.552614 -0.024272 0.505034 +v -0.554182 0.001206 0.504338 +v -0.544216 0.025165 0.503552 +v -0.554182 0.001206 0.504338 +v -0.524997 0.042116 0.502856 +v -0.500930 0.048175 0.502409 +v -0.457622 0.026361 0.484489 +v -0.476072 0.044490 0.484194 +v -0.449797 0.000861 0.485113 +v -0.454388 -0.026168 0.485923 +v -0.470345 -0.048535 0.486733 +v -0.494011 -0.061115 0.487358 +v -0.519966 -0.061027 0.487655 +v -0.542262 -0.048291 0.487556 +v -0.555793 -0.025824 0.487083 +v -0.557458 0.001227 0.486344 +v -0.546876 0.026664 0.485510 +v -0.557458 0.001227 0.486344 +v -0.526472 0.044661 0.484770 +v -0.500919 0.051094 0.484296 +v -0.502162 0.005192 0.577600 +v -0.503183 -0.013678 0.578140 +v -0.502403 0.004271 0.567584 +v -0.503348 -0.013178 0.568084 +v -0.526710 0.074191 0.427093 +v -0.564217 0.051490 0.427803 +v -0.551633 0.040741 0.484104 +v -0.521847 0.058768 0.483541 +v -0.585345 0.013085 0.429004 +v -0.568412 0.010241 0.485058 +v -0.584433 -0.030736 0.430374 +v -0.567687 -0.024558 0.486146 +v -0.561724 -0.068230 0.431547 +v -0.549653 -0.054333 0.487078 +v -0.561724 -0.068230 0.431547 +v -0.523304 -0.089350 0.432207 +v -0.519142 -0.071106 0.487602 +v -0.549653 -0.054333 0.487078 +v -0.479467 -0.088438 0.432179 +v -0.484330 -0.070382 0.487579 +v -0.441960 -0.065737 0.431469 +v -0.454544 -0.052354 0.487016 +v -0.420832 -0.027332 0.430268 +v -0.437765 -0.021855 0.486062 +v -0.421744 0.016489 0.428898 +v -0.438490 0.012945 0.484974 +v -0.444453 0.053983 0.427725 +v -0.456523 0.042720 0.484043 +v -0.482873 0.075103 0.427065 +v -0.487034 0.059493 0.483518 +v -0.437765 -0.021855 0.486062 +v -0.438490 0.012945 0.484974 +v -0.551633 0.040741 0.484104 +v -0.568412 0.010241 0.485058 +v -0.567687 -0.024558 0.486146 +v -0.454544 -0.052354 0.487016 +v -0.390863 0.372365 0.563614 +v -0.379384 0.370165 0.564704 +v -0.374701 0.375703 0.553807 +v -0.384889 0.379430 0.549714 +v -0.394361 0.358094 0.569924 +v -0.382127 0.358977 0.569651 +v -0.393748 0.343295 0.565690 +v -0.381645 0.347376 0.566332 +v -0.389309 0.334893 0.552894 +v -0.378165 0.340789 0.556301 +v -0.383121 0.336819 0.537524 +v -0.373315 0.342299 0.544251 +v -0.378081 0.348171 0.526770 +v -0.369364 0.351199 0.535821 +v -0.376547 0.363639 0.525666 +v -0.368161 0.363324 0.534955 +v -0.379235 0.375984 0.534727 +v -0.370268 0.373002 0.542059 +v -0.372968 0.362982 0.560709 +v -0.370894 0.365436 0.555881 +v -0.374183 0.358026 0.562900 +v -0.368529 0.354580 0.547913 +v -0.367996 0.359952 0.547529 +v -0.368930 0.364239 0.550676 +v -0.386589 0.463970 0.536790 +v -0.408036 0.453039 0.583917 +v -0.383103 0.454857 0.597471 +v -0.361655 0.465788 0.550345 +v -0.426097 0.425737 0.625667 +v -0.401163 0.427555 0.639222 +v -0.437540 0.370240 0.660192 +v -0.411237 0.365796 0.663236 +v -0.440289 0.337570 0.644265 +v -0.412666 0.335410 0.652529 +v -0.429935 0.294774 0.652229 +v -0.411003 0.302276 0.649562 +v -0.418209 0.251873 0.586556 +v -0.388293 0.257418 0.602502 +v -0.394157 0.247884 0.526420 +v -0.369223 0.249701 0.539975 +v -0.371245 0.269351 0.482693 +v -0.350460 0.275970 0.503023 +v -0.365383 0.292132 0.459989 +v -0.340449 0.293949 0.473544 +v -0.362129 0.338458 0.431748 +v -0.337195 0.340276 0.445303 +v -0.354648 0.411016 0.446709 +v -0.329714 0.412834 0.460264 +v -0.367637 0.447926 0.483090 +v -0.342704 0.449744 0.496645 +v -0.382137 0.439059 0.593298 +v -0.363011 0.449805 0.551913 +v -0.396219 0.417771 0.625853 +v -0.409818 0.365747 0.641387 +v -0.402661 0.343732 0.634239 +v -0.404339 0.309706 0.633860 +v -0.394160 0.276745 0.592785 +v -0.370636 0.267443 0.545475 +v -0.361731 0.286772 0.514832 +v -0.344513 0.304950 0.484864 +v -0.345247 0.344154 0.465719 +v -0.337555 0.401132 0.478405 +v -0.347283 0.436886 0.506565 +v -0.315313 0.581021 0.366718 +v -0.321318 0.581021 0.497917 +v -0.321326 0.535899 0.497930 +v -0.315313 0.531147 0.366718 +v -0.334654 0.573301 0.608309 +v -0.334654 0.533609 0.608309 +v -0.290416 0.544425 0.729348 +v -0.290416 0.506918 0.699577 +v -0.244261 0.482028 0.825101 +v -0.242863 0.446929 0.784232 +v -0.244261 0.482028 0.825101 +v -0.176609 0.373210 0.900818 +v -0.176609 0.359250 0.848096 +v -0.242863 0.446929 0.784232 +v -0.458150 0.581021 0.366718 +v -0.315313 0.581021 0.366718 +v -0.315313 0.531147 0.366718 +v -0.458150 0.531147 0.366718 +v -0.321326 0.535899 0.497930 +v -0.458123 0.535899 0.497930 +v -0.458123 0.581021 0.497917 +v -0.458150 0.581021 0.366718 +v -0.334654 0.533609 0.608309 +v -0.458111 0.533609 0.608309 +v -0.458111 0.573301 0.608309 +v -0.290416 0.506918 0.699577 +v -0.458111 0.506918 0.699577 +v -0.458111 0.544425 0.729348 +v -0.242863 0.446929 0.784232 +v -0.458126 0.446929 0.784232 +v -0.458122 0.482028 0.825101 +v -0.458126 0.446929 0.784232 +v -0.458205 0.359250 0.848096 +v -0.458205 0.373210 0.900818 +v -0.458122 0.482028 0.825101 +v -0.458205 0.373210 0.900818 +v -0.458205 0.000000 0.924882 +v -0.176609 0.000000 0.920199 +v -0.176609 0.373210 0.900818 +v -0.176609 0.000000 0.870731 +v -0.176609 0.359250 0.848096 +v -0.176609 0.359250 0.848096 +v -0.176609 0.000000 0.870731 +v -0.458205 0.000000 0.856508 +v -0.458205 0.359250 0.848096 +v -0.315313 -0.581021 0.366718 +v -0.315313 -0.531147 0.366718 +v -0.321326 -0.535899 0.497930 +v -0.321318 -0.581021 0.497917 +v -0.334654 -0.533609 0.608309 +v -0.334654 -0.573301 0.608309 +v -0.290416 -0.506918 0.699577 +v -0.290416 -0.544425 0.729348 +v -0.238969 -0.435946 0.791554 +v -0.244178 -0.471045 0.832424 +v -0.244178 -0.471045 0.832424 +v -0.238969 -0.435946 0.791554 +v -0.176609 -0.359250 0.848096 +v -0.176609 -0.373210 0.900818 +v -0.458150 -0.581021 0.366718 +v -0.458150 -0.531147 0.366718 +v -0.315313 -0.531147 0.366718 +v -0.315313 -0.581021 0.366718 +v -0.458123 -0.535899 0.497930 +v -0.321326 -0.535899 0.497930 +v -0.458123 -0.581021 0.497917 +v -0.458150 -0.581021 0.366718 +v -0.458111 -0.533609 0.608309 +v -0.334654 -0.533609 0.608309 +v -0.458111 -0.573301 0.608309 +v -0.458111 -0.506918 0.699577 +v -0.290416 -0.506918 0.699577 +v -0.458111 -0.544425 0.729348 +v -0.458126 -0.435946 0.791554 +v -0.238969 -0.435946 0.791554 +v -0.458122 -0.471045 0.832424 +v -0.458126 -0.435946 0.791554 +v -0.458205 -0.359250 0.848096 +v -0.458205 -0.373210 0.900818 +v -0.458122 -0.471045 0.832424 +v -0.458205 -0.373210 0.900818 +v -0.176609 -0.373210 0.900818 +v -0.176609 -0.359250 0.848096 +v -0.176609 0.000000 0.870731 +v -0.176609 -0.359250 0.848096 +v -0.458205 -0.359250 0.848096 +v 0.499370 -0.358474 -0.003355 +v 0.468167 -0.429543 -0.003355 +v 0.434727 -0.433233 0.102648 +v 0.479455 -0.331359 0.102648 +v 0.468167 -0.429543 -0.003355 +v 0.514114 -0.492100 -0.003355 +v 0.500589 -0.522905 0.102648 +v 0.434727 -0.433233 0.102648 +v 0.514114 -0.492100 -0.003355 +v 0.591263 -0.483588 -0.003355 +v 0.611179 -0.510702 0.102648 +v 0.500589 -0.522905 0.102648 +v 0.591263 -0.483588 -0.003355 +v 0.622466 -0.412518 -0.003355 +v 0.655906 -0.408828 0.102648 +v 0.611179 -0.510702 0.102648 +v 0.622466 -0.412518 -0.003355 +v 0.576519 -0.349961 -0.003355 +v 0.590044 -0.319156 0.102648 +v 0.655906 -0.408828 0.102648 +v 0.576519 -0.349961 -0.003355 +v 0.499370 -0.358474 -0.003355 +v 0.479455 -0.331359 0.102648 +v 0.590044 -0.319156 0.102648 +v 0.514114 -0.492100 0.196085 +v 0.591263 -0.483588 0.196085 +v 0.622466 -0.412518 0.196085 +v 0.576519 -0.349961 0.196085 +v 0.499370 -0.358474 0.196085 +v 0.468167 -0.429543 0.196085 +v 0.622466 -0.412518 0.196085 +v 0.591263 -0.483588 0.196085 +v 0.591263 -0.483588 0.196085 +v 0.514114 -0.492100 0.196085 +v 0.514114 -0.492100 0.196085 +v 0.468167 -0.429543 0.196085 +v 0.468167 -0.429543 0.196085 +v 0.499370 -0.358474 0.196085 +v 0.499370 -0.358474 0.196085 +v 0.576519 -0.349961 0.196085 +v 0.576519 -0.349961 0.196085 +v 0.622466 -0.412518 0.196085 +v -0.430337 0.304702 -0.003355 +v -0.361318 0.269194 -0.003355 +v -0.360410 0.250475 0.102648 +v -0.446095 0.294556 0.102648 +v -0.361318 0.269194 -0.003355 +v -0.296058 0.311213 -0.003355 +v -0.279393 0.302640 0.102648 +v -0.296058 0.311213 -0.003355 +v -0.299817 0.388739 -0.003355 +v -0.284060 0.398885 0.102648 +v -0.279393 0.302640 0.102648 +v -0.299817 0.388739 -0.003355 +v -0.368837 0.424247 -0.003355 +v -0.369744 0.442966 0.102648 +v -0.284060 0.398885 0.102648 +v -0.368837 0.424247 -0.003355 +v -0.434097 0.382228 -0.003355 +v -0.450762 0.390801 0.102648 +v -0.369744 0.442966 0.102648 +v -0.434097 0.382228 -0.003355 +v -0.430337 0.304702 -0.003355 +v -0.450762 0.390801 0.102648 +v -0.296058 0.311213 0.196085 +v -0.299817 0.388739 0.196085 +v -0.368836 0.424247 0.196085 +v -0.434097 0.382228 0.196085 +v -0.430337 0.304702 0.196085 +v -0.361318 0.269194 0.196085 +v -0.368836 0.424247 0.196085 +v -0.299817 0.388739 0.196085 +v -0.299817 0.388739 0.196085 +v -0.296058 0.311213 0.196085 +v -0.296058 0.311213 0.196085 +v -0.361318 0.269194 0.196085 +v -0.361318 0.269194 0.196085 +v -0.430337 0.304702 0.196085 +v -0.430337 0.304702 0.196085 +v -0.434097 0.382228 0.196085 +v -0.434097 0.382228 0.196085 +v -0.368836 0.424247 0.196085 +v -0.350648 -0.280157 0.474883 +v -0.334665 -0.289444 0.476013 +v -0.329726 -0.282446 0.478837 +v -0.349579 -0.273411 0.477077 +v -0.370365 -0.276471 0.483171 +v -0.368242 -0.284710 0.479712 +v -0.320842 -0.344889 0.488932 +v -0.327015 -0.352981 0.492732 +v -0.322270 -0.360971 0.501280 +v -0.313394 -0.345731 0.493142 +v -0.317049 -0.333836 0.484677 +v -0.310247 -0.335173 0.488864 +v -0.325201 -0.304513 0.480229 +v -0.318311 -0.320094 0.483319 +v -0.307735 -0.318939 0.488458 +v -0.315653 -0.299264 0.484534 +v -0.336953 -0.292064 0.480608 +v -0.328405 -0.281374 0.485313 +v -0.326285 -0.277722 0.470906 +v -0.349658 -0.268478 0.471374 +v -0.373965 -0.270408 0.476684 +v -0.319472 -0.371829 0.496722 +v -0.307422 -0.348749 0.487407 +v -0.304843 -0.338568 0.483644 +v -0.300092 -0.317875 0.479089 +v -0.308154 -0.297435 0.474725 +v -0.322363 -0.274522 0.472659 +v -0.327140 -0.278937 0.462623 +v -0.350569 -0.269455 0.465282 +v -0.375147 -0.270390 0.471478 +v -0.320641 -0.374709 0.487046 +v -0.308011 -0.350530 0.479888 +v -0.305419 -0.340295 0.476550 +v -0.300993 -0.319833 0.468534 +v -0.309153 -0.299285 0.464178 +v -0.323707 -0.276657 0.459579 +v -0.373319 -0.280824 0.463280 +v -0.351947 -0.276974 0.461263 +v -0.332869 -0.287078 0.457267 +v -0.326164 -0.366707 0.475067 +v -0.316348 -0.350083 0.473251 +v -0.313042 -0.339289 0.470052 +v -0.312300 -0.323448 0.460510 +v -0.321016 -0.303958 0.456112 +v -0.333510 -0.288895 0.450943 +v -0.336269 -0.291807 0.465214 +v -0.351822 -0.281886 0.466983 +v -0.369719 -0.286886 0.469766 +v -0.328962 -0.355849 0.479625 +v -0.322320 -0.347066 0.478987 +v -0.318446 -0.335895 0.475271 +v -0.320385 -0.323012 0.469524 +v -0.327300 -0.307523 0.466312 +v -0.339477 -0.295782 0.463620 +v -0.350648 -0.280157 0.474883 +v -0.334665 -0.289444 0.476013 +v -0.368242 -0.284710 0.479712 +v -0.320842 -0.344889 0.488932 +v -0.327015 -0.352981 0.492732 +v -0.317049 -0.333836 0.484677 +v -0.325201 -0.304513 0.480229 +v -0.318311 -0.320094 0.483319 +v -0.336953 -0.292064 0.480608 +v -0.320643 -0.332003 0.487932 +v -0.309387 -0.333431 0.494623 +v -0.322877 -0.335294 0.472893 +v -0.320643 -0.332003 0.487932 +v -0.313931 -0.340125 0.464035 +v -0.301320 -0.340945 0.474375 +v -0.300395 -0.338232 0.485780 +v -0.334665 -0.289444 0.476013 +v -0.336269 -0.291807 0.465214 +v -0.329726 -0.282446 0.478837 +v -0.334665 -0.289444 0.476013 +v -0.326285 -0.277722 0.470906 +v -0.327140 -0.278937 0.462623 +v -0.332869 -0.287078 0.457267 +v -0.317049 -0.333836 0.484677 +v -0.310247 -0.335173 0.488864 +v -0.318446 -0.335895 0.475271 +v -0.317049 -0.333836 0.484677 +v -0.313042 -0.339289 0.470052 +v -0.305419 -0.340295 0.476550 +v -0.304843 -0.338568 0.483644 +v -0.326947 -0.383792 0.461178 +v -0.349945 -0.395793 0.443629 +v -0.360427 -0.371523 0.441323 +v -0.338447 -0.360053 0.458095 +v -0.349945 -0.395793 0.443629 +v -0.377886 -0.407066 0.443056 +v -0.387130 -0.382297 0.440775 +v -0.360427 -0.371523 0.441323 +v -0.403282 -0.414590 0.459613 +v -0.411402 -0.389488 0.456599 +v -0.419329 -0.416350 0.488864 +v -0.426738 -0.391170 0.484555 +v -0.421726 -0.411873 0.522972 +v -0.429029 -0.386891 0.517152 +v -0.409832 -0.402360 0.552796 +v -0.417661 -0.377799 0.545656 +v -0.386833 -0.390359 0.570345 +v -0.395681 -0.366329 0.562428 +v -0.358892 -0.379085 0.570918 +v -0.368978 -0.355555 0.562976 +v -0.333496 -0.371561 0.554361 +v -0.344706 -0.348364 0.547152 +v -0.317450 -0.369801 0.525110 +v -0.329370 -0.346682 0.519196 +v -0.315052 -0.374278 0.491003 +v -0.327079 -0.350961 0.486599 +v -0.397269 -0.291636 0.537434 +v -0.377640 -0.285825 0.524608 +v -0.388754 -0.262472 0.517548 +v -0.407352 -0.267978 0.529701 +v -0.418873 -0.300357 0.536965 +v -0.427821 -0.276241 0.529257 +v -0.436663 -0.309650 0.523326 +v -0.444677 -0.285046 0.516333 +v -0.445872 -0.317026 0.500172 +v -0.453403 -0.292035 0.494395 +v -0.444034 -0.320509 0.473706 +v -0.451661 -0.295335 0.469319 +v -0.431639 -0.319164 0.451021 +v -0.439918 -0.294061 0.447825 +v -0.412011 -0.313353 0.438195 +v -0.421320 -0.288555 0.435672 +v -0.390407 -0.304632 0.438664 +v -0.400850 -0.280292 0.436117 +v -0.372617 -0.295339 0.452303 +v -0.390407 -0.304632 0.438664 +v -0.400850 -0.280292 0.436117 +v -0.383994 -0.271487 0.449040 +v -0.363407 -0.287963 0.475458 +v -0.375268 -0.264498 0.470978 +v -0.365246 -0.284480 0.501923 +v -0.377010 -0.261198 0.496054 +v -0.370091 -0.358239 0.553852 +v -0.349585 -0.352168 0.540452 +v -0.381481 -0.288575 0.519272 +v -0.398229 -0.293533 0.530216 +v -0.392660 -0.367349 0.553362 +v -0.416662 -0.300974 0.529816 +v -0.411245 -0.377058 0.539113 +v -0.431841 -0.308903 0.518178 +v -0.420866 -0.384764 0.514924 +v -0.439699 -0.315197 0.498422 +v -0.418946 -0.388402 0.487276 +v -0.438130 -0.318168 0.475841 +v -0.405998 -0.386997 0.463577 +v -0.427555 -0.317021 0.456485 +v -0.385492 -0.380926 0.450177 +v -0.410807 -0.312063 0.445542 +v -0.362922 -0.371816 0.450667 +v -0.392374 -0.304622 0.445942 +v -0.344337 -0.362107 0.464916 +v -0.362922 -0.371816 0.450667 +v -0.392374 -0.304622 0.445942 +v -0.377195 -0.296693 0.457579 +v -0.334716 -0.354401 0.489105 +v -0.369337 -0.290399 0.477336 +v -0.336637 -0.350763 0.516753 +v -0.370906 -0.287428 0.499917 +v -0.362922 -0.371816 0.450667 +v -0.344337 -0.362107 0.464916 +v -0.385492 -0.380926 0.450177 +v -0.362922 -0.371816 0.450667 +v -0.405998 -0.386997 0.463577 +v -0.418946 -0.388402 0.487276 +v -0.420866 -0.384764 0.514924 +v -0.411245 -0.377058 0.539113 +v -0.392660 -0.367349 0.553362 +v -0.370091 -0.358239 0.553852 +v -0.349585 -0.352168 0.540452 +v -0.336637 -0.350763 0.516753 +v -0.334716 -0.354401 0.489105 +v -0.398229 -0.293533 0.530216 +v -0.381481 -0.288575 0.519272 +v -0.416662 -0.300974 0.529816 +v -0.431841 -0.308903 0.518178 +v -0.439699 -0.315197 0.498422 +v -0.438130 -0.318168 0.475841 +v -0.427555 -0.317021 0.456485 +v -0.410807 -0.312063 0.445542 +v -0.392374 -0.304622 0.445942 +v -0.377195 -0.296693 0.457579 +v -0.392374 -0.304622 0.445942 +v -0.369337 -0.290399 0.477336 +v -0.370906 -0.287428 0.499917 +v -0.404246 -0.280731 0.449455 +v -0.392141 -0.274407 0.458736 +v -0.418947 -0.286666 0.449135 +v -0.404246 -0.280731 0.449455 +v -0.432304 -0.290620 0.457863 +v -0.440738 -0.291535 0.473300 +v -0.441989 -0.289165 0.491309 +v -0.435722 -0.284146 0.507065 +v -0.423617 -0.277822 0.516346 +v -0.408916 -0.271888 0.516665 +v -0.395559 -0.267933 0.507937 +v -0.387125 -0.267019 0.492501 +v -0.385874 -0.269388 0.474492 +v -0.377886 -0.407066 0.443056 +v -0.349945 -0.395793 0.443629 +v -0.358892 -0.379085 0.570918 +v -0.386833 -0.390359 0.570345 +v -0.326947 -0.383792 0.461178 +v -0.333496 -0.371561 0.554361 +v -0.409832 -0.402360 0.552796 +v -0.403282 -0.414590 0.459613 +v -0.421726 -0.411873 0.522972 +v -0.419329 -0.416350 0.488864 +v -0.315052 -0.374278 0.491003 +v -0.317450 -0.369801 0.525110 +v 0.130418 -0.002096 0.158016 +v 0.125108 -0.017533 0.155232 +v 0.123871 -0.047969 0.273397 +v 0.132647 -0.022455 0.277999 +v 0.135999 -0.029571 0.151956 +v 0.141871 -0.067865 0.267983 +v 0.152199 -0.026172 0.151464 +v 0.168646 -0.062247 0.267170 +v 0.157509 -0.010735 0.154248 +v 0.177422 -0.036733 0.271772 +v 0.146618 0.001303 0.157524 +v 0.159422 -0.016837 0.277186 +v 0.130418 -0.002096 0.158016 +v 0.132647 -0.022455 0.277999 +v 0.132647 -0.022455 0.277999 +v 0.123871 -0.047969 0.273397 +v 0.141871 -0.067865 0.267983 +v 0.168646 -0.062247 0.267170 +v 0.177422 -0.036733 0.271772 +v 0.159422 -0.016837 0.277186 +v -0.151840 0.442825 0.150534 +v -0.125064 0.570251 0.150534 +v -0.125064 0.570251 0.176347 +v -0.151840 0.442825 0.176347 +v -0.212470 0.586103 0.193445 +v -0.239245 0.458678 0.193445 +v -0.212470 0.586103 0.150534 +v -0.239245 0.458678 0.150534 +v -0.125064 0.570251 0.150534 +v -0.212470 0.586103 0.150534 +v -0.239245 0.458678 0.150534 +v -0.151840 0.442825 0.150534 +v -0.249346 0.412439 0.054440 +v 0.115625 0.346246 0.054439 +v 0.115625 0.346246 0.131554 +v -0.249346 0.412439 0.131554 +v -0.204283 0.626893 0.131554 +v 0.160688 0.560700 0.131554 +v 0.160688 0.560700 0.054439 +v -0.204283 0.626893 0.054440 +v 0.160688 0.560700 0.054439 +v 0.160688 0.560700 0.131554 +v -0.030698 0.594196 0.074088 +v 0.118020 0.567224 0.074088 +v 0.134023 0.643383 0.076372 +v -0.014695 0.670356 0.076372 +v 0.134023 0.643383 0.053193 +v -0.014695 0.670356 0.053193 +v -0.014695 0.670356 0.053193 +v 0.134023 0.643383 0.053193 +v 0.118020 0.567224 0.055383 +v -0.030698 0.594196 0.055383 +v 0.118020 0.567224 0.055383 +v 0.134023 0.643383 0.053193 +v -0.014695 0.670356 0.053193 +v -0.030698 0.594196 0.055383 +v -0.001930 0.631416 -0.003114 +v 0.106431 0.611763 -0.003114 +v 0.116103 0.610008 0.058063 +v -0.011602 0.633170 0.058063 +v -0.006190 0.658929 0.058063 +v 0.121516 0.635767 0.058063 +v 0.111844 0.637521 -0.003114 +v 0.003482 0.657175 -0.003114 +v 0.106431 0.611763 -0.003114 +v 0.116103 0.610008 0.058063 +v -0.001930 0.631416 -0.003114 +v -0.011602 0.633170 0.058063 +v -0.269322 0.384617 -0.003288 +v 0.130676 0.312070 -0.003288 +v 0.133519 0.325597 0.055359 +v -0.266479 0.398144 0.055359 +v 0.186922 0.579744 0.055359 +v -0.213076 0.652290 0.055359 +v 0.189765 0.593271 -0.003288 +v -0.210233 0.665817 -0.003288 +v 0.130676 0.312070 -0.003288 +v 0.189765 0.593271 -0.003288 +v -0.210233 0.665817 -0.003288 +v -0.269322 0.384617 -0.003288 +v -0.260499 0.407943 0.119982 +v 0.129778 0.337160 0.114963 +v 0.129778 0.337160 0.151157 +v -0.260499 0.407943 0.151157 +v 0.177965 0.566483 0.151157 +v -0.212311 0.637266 0.151157 +v 0.177965 0.566483 0.114963 +v -0.212311 0.637266 0.119982 +v -0.212311 0.637266 0.119982 +v 0.177965 0.566483 0.114963 +v 0.129778 0.337160 0.114963 +v -0.260499 0.407943 0.119982 +v 0.129778 0.337160 0.114963 +v 0.177965 0.566483 0.114963 +v -0.212311 0.637266 0.119982 +v -0.260499 0.407943 0.119982 +v 0.222300 -0.596550 0.118426 +v 0.245786 -0.579001 0.118426 +v 0.212467 -0.309309 0.120719 +v 0.183450 -0.306128 0.120719 +v 0.245786 -0.579001 0.118426 +v 0.243482 -0.544751 0.124890 +v 0.184260 -0.556156 0.124890 +v 0.188087 -0.593086 0.118426 +v 0.156860 -0.315354 0.120719 +v 0.161260 -0.334844 0.124890 +v 0.216432 -0.328119 0.124890 +v 0.212467 -0.309309 0.120719 +v 0.188087 -0.593086 0.118426 +v 0.156860 -0.315354 0.120719 +v 0.235011 -0.439582 0.134033 +v 0.173953 -0.451037 0.134033 +v 0.173953 -0.451037 0.114024 +v 0.235011 -0.439582 0.114024 +v 0.119065 -0.584458 0.108325 +v 0.151411 -0.590904 0.108325 +v 0.117136 -0.306193 0.112123 +v 0.087578 -0.319203 0.112123 +v 0.186388 -0.578329 0.108325 +v 0.184027 -0.554069 0.119031 +v 0.116544 -0.560137 0.119031 +v 0.119065 -0.584458 0.108325 +v 0.154635 -0.305797 0.112123 +v 0.186388 -0.578329 0.108325 +v 0.173755 -0.457917 0.138312 +v 0.105557 -0.464577 0.138312 +v 0.105557 -0.464577 0.108165 +v 0.173755 -0.457917 0.108165 +v 0.087578 -0.319203 0.112123 +v 0.093980 -0.351118 0.119031 +v 0.161651 -0.336739 0.119031 +v 0.154635 -0.305797 0.112123 +v 0.086177 -0.601870 0.107347 +v 0.118307 -0.589580 0.107347 +v 0.089083 -0.325584 0.111290 +v 0.058206 -0.330401 0.111290 +v 0.118307 -0.589580 0.107347 +v 0.118340 -0.572183 0.118464 +v 0.055611 -0.565524 0.118464 +v 0.063742 -0.588814 0.107347 +v 0.034755 -0.344658 0.111290 +v 0.037224 -0.360889 0.118464 +v 0.093361 -0.344161 0.118464 +v 0.089083 -0.325584 0.111290 +v 0.063742 -0.588814 0.107347 +v 0.034755 -0.344658 0.111290 +v 0.047579 -0.457113 0.107598 +v 0.047579 -0.457113 0.133906 +v 0.105951 -0.463304 0.107598 +v 0.105951 -0.463304 0.133906 +v 0.123351 -0.395821 0.168510 +v 0.134459 -0.392509 0.163833 +v 0.120835 -0.407669 0.170849 +v 0.129427 -0.416206 0.168510 +v 0.140535 -0.412895 0.163833 +v 0.143051 -0.401047 0.161494 +v 0.123998 -0.393911 0.175660 +v 0.136825 -0.390087 0.170259 +v 0.121093 -0.407592 0.178361 +v 0.131015 -0.417450 0.175660 +v 0.143841 -0.413626 0.170259 +v 0.146747 -0.399945 0.167559 +v 0.127304 -0.394642 0.182087 +v 0.138413 -0.391331 0.177409 +v 0.124789 -0.406490 0.184426 +v 0.133381 -0.415028 0.182087 +v 0.144489 -0.411716 0.177409 +v 0.147005 -0.399868 0.175071 +v 0.142925 -0.416844 0.168223 +v 0.147347 -0.422416 0.159714 +v 0.134310 -0.420161 0.173364 +v 0.130117 -0.429049 0.169996 +v 0.134539 -0.434621 0.161487 +v 0.143154 -0.431304 0.156346 +v 0.146398 -0.417981 0.172877 +v 0.151504 -0.424414 0.163052 +v 0.136450 -0.421811 0.178814 +v 0.131609 -0.432074 0.174924 +v 0.136715 -0.438507 0.165099 +v 0.146663 -0.434677 0.159163 +v 0.148573 -0.421867 0.176490 +v 0.152996 -0.427439 0.167980 +v 0.139958 -0.425184 0.181631 +v 0.135766 -0.434073 0.178262 +v 0.140188 -0.439644 0.169753 +v 0.148803 -0.436327 0.164612 +v 0.157642 -0.388504 0.145063 +v 0.134850 -0.380518 0.146416 +v 0.135327 -0.376442 0.163625 +v 0.161176 -0.385499 0.162091 +v 0.111678 -0.387425 0.146416 +v 0.109047 -0.384276 0.163625 +v 0.096977 -0.406587 0.145063 +v 0.092375 -0.406007 0.162091 +v 0.096363 -0.430684 0.142874 +v 0.091678 -0.433336 0.159608 +v 0.110070 -0.450512 0.140685 +v 0.107224 -0.455824 0.157125 +v 0.132863 -0.458497 0.139332 +v 0.133073 -0.464880 0.155591 +v 0.156034 -0.451590 0.139332 +v 0.159353 -0.457047 0.155591 +v 0.170735 -0.432429 0.140685 +v 0.176025 -0.435316 0.157125 +v 0.171349 -0.408332 0.142874 +v 0.176722 -0.407987 0.159608 +v 0.134324 -0.489546 0.136364 +v 0.122222 -0.488295 0.136364 +v 0.121089 -0.484495 0.159136 +v 0.136210 -0.486058 0.159136 +v 0.112779 -0.495968 0.136364 +v 0.109291 -0.494082 0.159136 +v 0.111528 -0.508071 0.136364 +v 0.107728 -0.509203 0.159136 +v 0.119201 -0.517513 0.136364 +v 0.117315 -0.521001 0.159136 +v 0.131304 -0.518764 0.136364 +v 0.132436 -0.522564 0.159136 +v 0.140746 -0.511091 0.136364 +v 0.144234 -0.512977 0.159136 +v 0.140746 -0.511091 0.136364 +v 0.141997 -0.498988 0.136364 +v 0.145797 -0.497856 0.159136 +v 0.144234 -0.512977 0.159136 +v 0.136612 -0.485314 0.181759 +v 0.120847 -0.483685 0.181759 +v 0.122669 -0.489795 0.181759 +v 0.133580 -0.490923 0.181759 +v 0.108547 -0.493680 0.181759 +v 0.114156 -0.496712 0.181759 +v 0.106918 -0.509445 0.181759 +v 0.113028 -0.507623 0.181759 +v 0.116913 -0.521745 0.181759 +v 0.119946 -0.516136 0.181759 +v 0.132678 -0.523374 0.181759 +v 0.130857 -0.517264 0.181759 +v 0.144978 -0.513379 0.181759 +v 0.139370 -0.510347 0.181759 +v 0.144978 -0.513379 0.181759 +v 0.146608 -0.497614 0.181759 +v 0.140497 -0.499435 0.181759 +v 0.139370 -0.510347 0.181759 +v 0.133580 -0.490923 0.181759 +v 0.122669 -0.489795 0.181759 +v 0.127796 -0.493533 0.145224 +v 0.139370 -0.510347 0.181759 +v 0.136759 -0.504563 0.145224 +v 0.024037 -0.395128 0.120296 +v 0.083348 -0.389559 0.111105 +v 0.083348 -0.389559 0.148428 +v 0.024037 -0.395128 0.154833 +v 0.075052 -0.361303 0.148428 +v 0.022894 -0.359032 0.154833 +v 0.075052 -0.361303 0.108060 +v 0.022894 -0.359032 0.120296 +v 0.238693 -0.366589 0.117332 +v 0.226012 -0.326800 0.117332 +v 0.226012 -0.326800 0.157797 +v 0.238693 -0.366589 0.157797 +v 0.022894 -0.359032 0.120296 +v 0.024037 -0.395128 0.120296 +v 0.169733 -0.346062 0.154924 +v 0.226012 -0.326800 0.117332 +v 0.169733 -0.346062 0.111105 +v 0.177267 -0.377689 0.154924 +v 0.177267 -0.377689 0.111105 +v 0.238693 -0.366589 0.117332 +v 0.122523 -0.354845 0.152636 +v 0.122523 -0.354845 0.109432 +v 0.130917 -0.383064 0.111105 +v 0.130917 -0.383064 0.152636 +v 0.182380 -0.367513 -0.004393 +v 0.096051 -0.381670 0.128785 +v 0.043002 -0.390739 0.128785 +v 0.139849 -0.374784 -0.004393 +v 0.095970 -0.359515 0.128785 +v 0.182295 -0.344155 -0.004393 +v 0.139764 -0.351426 -0.004393 +v 0.042922 -0.368585 0.128785 +v 0.139849 -0.374784 -0.004393 +v 0.043002 -0.390739 0.128785 +v 0.058300 -0.384473 -0.004393 +v 0.101109 -0.378134 -0.004393 +v 0.198565 -0.363244 0.128785 +v 0.145170 -0.371151 0.128785 +v 0.144384 -0.354426 0.128785 +v 0.197779 -0.346518 0.128785 +v 0.100281 -0.360500 -0.004393 +v 0.057472 -0.366839 -0.004393 +v 0.058300 -0.384473 -0.004393 +v 0.145170 -0.371151 0.128785 +v 0.199045 -0.532142 -0.004393 +v 0.112737 -0.546372 0.128785 +v 0.059702 -0.555484 0.128785 +v 0.156524 -0.539447 -0.004393 +v 0.112698 -0.524359 0.128785 +v 0.199004 -0.508932 -0.004393 +v 0.156483 -0.516238 -0.004393 +v 0.059663 -0.533471 0.128785 +v 0.156524 -0.539447 -0.004393 +v 0.059702 -0.555484 0.128785 +v 0.075073 -0.549465 -0.004393 +v 0.117825 -0.542935 -0.004393 +v 0.215155 -0.527625 0.128785 +v 0.161831 -0.535770 0.128785 +v 0.161196 -0.519548 0.128785 +v 0.214520 -0.511403 0.128785 +v 0.117155 -0.525831 -0.004393 +v 0.074403 -0.532362 -0.004393 +v 0.075073 -0.549465 -0.004393 +v 0.161831 -0.535770 0.128785 +v 0.358559 -0.295684 0.061267 +v 0.316431 -0.280847 0.061267 +v 0.316229 -0.289091 0.085495 +v 0.353550 -0.302235 0.085495 +v 0.273627 -0.293606 0.061267 +v 0.278310 -0.300394 0.085495 +v 0.246498 -0.329087 0.061267 +v 0.254276 -0.331826 0.085495 +v 0.245405 -0.373738 0.061267 +v 0.253308 -0.371383 0.085495 +v 0.270766 -0.410504 0.061267 +v 0.275775 -0.403953 0.085495 +v 0.312894 -0.425341 0.061267 +v 0.313096 -0.417097 0.085495 +v 0.355698 -0.412583 0.061267 +v 0.351016 -0.405795 0.085495 +v 0.382827 -0.377101 0.061267 +v 0.375049 -0.374362 0.085495 +v 0.383920 -0.332450 0.061267 +v 0.376017 -0.334806 0.085495 +v 0.297152 -0.287135 -0.002659 +v 0.284143 -0.311192 -0.002659 +v 0.295893 -0.323178 0.066195 +v 0.303189 -0.309686 0.066195 +v 0.308200 -0.324200 -0.002659 +v 0.309385 -0.330474 0.066195 +v 0.308200 -0.324200 -0.002659 +v 0.321209 -0.300143 -0.002659 +v 0.316681 -0.316982 0.066195 +v 0.309385 -0.330474 0.066195 +v 0.243663 -0.375185 -0.002659 +v 0.268004 -0.387654 -0.002659 +v 0.280547 -0.375474 0.066195 +v 0.266895 -0.368481 0.066195 +v 0.280473 -0.363313 -0.002659 +v 0.287540 -0.361822 0.066195 +v 0.280473 -0.363313 -0.002659 +v 0.256132 -0.350844 -0.002659 +v 0.273888 -0.354829 0.066195 +v 0.287540 -0.361822 0.066195 +v 0.387992 -0.334543 -0.002659 +v 0.364867 -0.319941 -0.002659 +v 0.351462 -0.331729 0.066195 +v 0.364432 -0.339918 0.066195 +v 0.350266 -0.343067 -0.002659 +v 0.343273 -0.344699 0.066195 +v 0.350266 -0.343067 -0.002659 +v 0.373391 -0.357668 -0.002659 +v 0.356243 -0.352888 0.066195 +v 0.343273 -0.344699 0.066195 +v 0.335532 -0.420725 -0.002659 +v 0.348591 -0.396695 -0.002659 +v 0.336623 -0.384757 0.066195 +v 0.329298 -0.398234 0.066195 +v 0.324562 -0.383636 -0.002659 +v 0.323145 -0.377432 0.066195 +v 0.324562 -0.383636 -0.002659 +v 0.311503 -0.407666 -0.002659 +v 0.315821 -0.390910 0.066195 +v 0.323145 -0.377432 0.066195 +v 0.337313 -0.511268 -0.001527 +v 0.321777 -0.501458 -0.001527 +v 0.312771 -0.509377 0.044730 +v 0.321484 -0.514879 0.044730 +v 0.311967 -0.516995 -0.001527 +v 0.307269 -0.518091 0.044730 +v 0.311967 -0.516995 -0.001527 +v 0.327503 -0.526804 -0.001527 +v 0.315982 -0.523593 0.044730 +v 0.307269 -0.518091 0.044730 +v 0.317539 -0.485162 0.041420 +v 0.289236 -0.475194 0.041420 +v 0.289100 -0.480732 0.057697 +v 0.314173 -0.489563 0.057697 +v 0.260479 -0.483765 0.041420 +v 0.263625 -0.488326 0.057697 +v 0.242253 -0.507603 0.041420 +v 0.247479 -0.509443 0.057697 +v 0.241519 -0.537601 0.041420 +v 0.246828 -0.536018 0.057697 +v 0.258557 -0.562301 0.041420 +v 0.261922 -0.557900 0.057697 +v 0.286860 -0.572269 0.041420 +v 0.286996 -0.566730 0.057697 +v 0.315617 -0.563697 0.041420 +v 0.312471 -0.559137 0.057697 +v 0.333843 -0.539860 0.041420 +v 0.328617 -0.538020 0.057697 +v 0.334577 -0.509862 0.041420 +v 0.329268 -0.511445 0.057697 +v 0.240348 -0.538573 -0.001527 +v 0.256702 -0.546950 -0.001527 +v 0.265128 -0.538767 0.044730 +v 0.255956 -0.534068 0.044730 +v 0.265078 -0.530596 -0.001527 +v 0.269826 -0.529595 0.044730 +v 0.265078 -0.530596 -0.001527 +v 0.248725 -0.522220 -0.001527 +v 0.260655 -0.524897 0.044730 +v 0.269826 -0.529595 0.044730 +v 0.276284 -0.479418 -0.001527 +v 0.267544 -0.495580 -0.001527 +v 0.275438 -0.503633 0.044730 +v 0.280339 -0.494568 0.044730 +v 0.283706 -0.504320 -0.001527 +v 0.284502 -0.508535 0.044730 +v 0.283706 -0.504320 -0.001527 +v 0.292446 -0.488158 -0.001527 +v 0.289404 -0.499470 0.044730 +v 0.284502 -0.508535 0.044730 +v 0.302069 -0.569168 -0.001527 +v 0.310842 -0.553024 -0.001527 +v 0.302801 -0.545003 0.044730 +v 0.297881 -0.554057 0.044730 +v 0.294698 -0.544250 -0.001527 +v 0.293747 -0.540082 0.044730 +v 0.294698 -0.544250 -0.001527 +v 0.285925 -0.560394 -0.001527 +v 0.288826 -0.549137 0.044730 +v 0.293747 -0.540082 0.044730 +v 0.038421 -0.554150 0.112782 +v 0.098035 -0.559599 0.110861 +v 0.098035 -0.559599 0.150163 +v 0.038421 -0.554150 0.164664 +v 0.096671 -0.529226 0.150163 +v 0.039459 -0.511608 0.164664 +v 0.096671 -0.529226 0.107654 +v 0.039458 -0.511608 0.112782 +v 0.252342 -0.542666 0.111132 +v 0.253065 -0.503330 0.111132 +v 0.253065 -0.503330 0.166314 +v 0.252342 -0.542666 0.166314 +v 0.039458 -0.511608 0.112782 +v 0.038421 -0.554150 0.112782 +v 0.192004 -0.521330 0.157003 +v 0.253065 -0.503330 0.111132 +v 0.192004 -0.521330 0.110861 +v 0.194834 -0.554953 0.157003 +v 0.194834 -0.554953 0.110861 +v 0.252342 -0.542666 0.111132 +v 0.142571 -0.530412 0.154594 +v 0.142571 -0.530412 0.109098 +v 0.145344 -0.561827 0.110861 +v 0.145344 -0.561827 0.154594 +v -0.238997 0.577452 0.465286 +v -0.208140 0.592603 0.465286 +v -0.202793 0.587095 0.537060 +v -0.237909 0.569854 0.537060 +v -0.192081 0.622996 0.465286 +v -0.184518 0.621683 0.537060 +v -0.196954 0.657025 0.465286 +v -0.190064 0.660408 0.537060 +v -0.220898 0.681690 0.465286 +v -0.217312 0.688477 0.537060 +v -0.254767 0.687571 0.465286 +v -0.255855 0.695169 0.537060 +v -0.285624 0.672420 0.465286 +v -0.290971 0.677928 0.537060 +v -0.301683 0.642026 0.465286 +v -0.309246 0.643340 0.537060 +v -0.296810 0.607998 0.465286 +v -0.303700 0.604615 0.537060 +v -0.272866 0.583333 0.465286 +v -0.276452 0.576546 0.537060 +v -0.272866 0.583333 0.465286 +v -0.276452 0.576546 0.537060 +v -0.184518 0.621683 0.537060 +v -0.190064 0.660408 0.537060 +v -0.290971 0.677928 0.537060 +v -0.309246 0.643340 0.537060 +v -0.303700 0.604615 0.537060 +v -0.202793 0.587095 0.537060 +v -0.255855 0.695169 0.537060 +v -0.217312 0.688477 0.537060 +v -0.276452 0.576546 0.537060 +v -0.237909 0.569854 0.537060 +v -0.192081 0.622996 0.465286 +v -0.208140 0.592603 0.465286 +v -0.296810 0.607998 0.465286 +v -0.301683 0.642026 0.465286 +v -0.196954 0.657025 0.465286 +v -0.285624 0.672420 0.465286 +v -0.220898 0.681690 0.465286 +v -0.254767 0.687571 0.465286 +v -0.238997 0.577452 0.465286 +v -0.272866 0.583333 0.465286 +v -0.239613 0.581755 0.535867 +v -0.211168 0.595721 0.535866 +v -0.205640 0.590027 0.581732 +v -0.238488 0.573899 0.581732 +v -0.196364 0.623740 0.535866 +v -0.188545 0.622382 0.581732 +v -0.200856 0.655109 0.535866 +v -0.193733 0.658606 0.581732 +v -0.222929 0.677846 0.535867 +v -0.219222 0.684863 0.581732 +v -0.254151 0.683267 0.535867 +v -0.255276 0.691123 0.581732 +v -0.282596 0.669301 0.535867 +v -0.288124 0.674996 0.581732 +v -0.297400 0.641283 0.535867 +v -0.305219 0.642641 0.581732 +v -0.292908 0.609914 0.535867 +v -0.300031 0.606416 0.581732 +v -0.270835 0.587176 0.535867 +v -0.274543 0.580160 0.581732 +v -0.239613 0.581755 0.535867 +v -0.238488 0.573899 0.581732 +v -0.240848 0.594326 0.446762 +v -0.219771 0.604820 0.449198 +v -0.215916 0.600613 0.467826 +v -0.240580 0.588504 0.467826 +v -0.208728 0.625720 0.449198 +v -0.203081 0.624906 0.467826 +v -0.211936 0.649045 0.446762 +v -0.206976 0.652104 0.467826 +v -0.228170 0.665883 0.442820 +v -0.226113 0.671819 0.467826 +v -0.251229 0.669805 0.438878 +v -0.253184 0.676519 0.467826 +v -0.272305 0.659311 0.436441 +v -0.277848 0.664410 0.467826 +v -0.283348 0.638411 0.436441 +v -0.290683 0.640117 0.467826 +v -0.280140 0.615086 0.438878 +v -0.286788 0.612918 0.467826 +v -0.263906 0.598248 0.442820 +v -0.267651 0.593204 0.467826 +v -0.228634 0.597361 0.400502 +v -0.214664 0.605745 0.406961 +v -0.206615 0.620980 0.406961 +v -0.207561 0.637245 0.400502 +v -0.217141 0.648328 0.390050 +v -0.231696 0.649997 0.379598 +v -0.245666 0.641612 0.373139 +v -0.253715 0.626378 0.373139 +v -0.252769 0.610113 0.379598 +v -0.243189 0.599029 0.390050 +v -0.205890 0.594831 0.349725 +v -0.197550 0.600327 0.354526 +v -0.192495 0.609895 0.354526 +v -0.192654 0.619881 0.349725 +v -0.197968 0.626471 0.341957 +v -0.206406 0.627147 0.334188 +v -0.214746 0.621651 0.329387 +v -0.219801 0.612084 0.329387 +v -0.219641 0.602097 0.334188 +v -0.214328 0.595508 0.341957 +v -0.175231 0.591772 0.307707 +v -0.172703 0.596556 0.307707 +v -0.188148 0.617535 0.366699 +v -0.201265 0.592708 0.366699 +v -0.173591 0.600085 0.303093 +v -0.198080 0.638663 0.348718 +v -0.177007 0.598830 0.298478 +v -0.221131 0.634962 0.330738 +v -0.179534 0.594046 0.298478 +v -0.234249 0.610135 0.330738 +v -0.178647 0.590517 0.303093 +v -0.224316 0.589008 0.348718 +v -0.175231 0.591772 0.307707 +v -0.201265 0.592708 0.366699 +v -0.179534 0.594046 0.298478 +v -0.177007 0.598830 0.298478 +v -0.173591 0.600085 0.303093 +v -0.178647 0.590517 0.303093 +v -0.172703 0.596556 0.307707 +v -0.175231 0.591772 0.307707 +v -0.198080 0.638663 0.348718 +v -0.221131 0.634962 0.330738 +v -0.234249 0.610135 0.330738 +v -0.224316 0.589008 0.348718 +v -0.201265 0.592708 0.366699 +v -0.188148 0.617535 0.366699 +v -0.201484 -0.581366 0.465286 +v -0.194068 -0.547800 0.465286 +v -0.186427 -0.547059 0.537060 +v -0.194867 -0.585257 0.537060 +v -0.207797 -0.516285 0.465286 +v -0.202051 -0.511195 0.537060 +v -0.237428 -0.498859 0.465286 +v -0.235772 -0.491364 0.537060 +v -0.271643 -0.502177 0.465286 +v -0.274709 -0.495140 0.537060 +v -0.297373 -0.524973 0.465286 +v -0.303989 -0.521082 0.537060 +v -0.304789 -0.558539 0.465286 +v -0.312430 -0.559281 0.537060 +v -0.291060 -0.590054 0.465286 +v -0.296806 -0.595144 0.537060 +v -0.261429 -0.607480 0.465286 +v -0.263085 -0.614976 0.537060 +v -0.227214 -0.604162 0.465286 +v -0.224148 -0.611199 0.537060 +v -0.227214 -0.604162 0.465286 +v -0.224148 -0.611199 0.537060 +v -0.202051 -0.511195 0.537060 +v -0.235772 -0.491364 0.537060 +v -0.312430 -0.559281 0.537060 +v -0.296806 -0.595144 0.537060 +v -0.263085 -0.614976 0.537060 +v -0.186427 -0.547059 0.537060 +v -0.303989 -0.521082 0.537060 +v -0.274709 -0.495140 0.537060 +v -0.224148 -0.611199 0.537060 +v -0.194867 -0.585257 0.537060 +v -0.207797 -0.516285 0.465286 +v -0.194068 -0.547800 0.465286 +v -0.261429 -0.607480 0.465286 +v -0.291060 -0.590054 0.465286 +v -0.237428 -0.498859 0.465286 +v -0.304789 -0.558539 0.465286 +v -0.271643 -0.502177 0.465286 +v -0.297373 -0.524973 0.465286 +v -0.201484 -0.581366 0.465286 +v -0.227214 -0.604162 0.465286 +v -0.205231 -0.579162 0.535866 +v -0.198394 -0.548219 0.535866 +v -0.190495 -0.547453 0.581732 +v -0.198390 -0.583185 0.581732 +v -0.211050 -0.519168 0.535866 +v -0.205110 -0.513905 0.581732 +v -0.238366 -0.503103 0.535867 +v -0.236653 -0.495354 0.581732 +v -0.269907 -0.506163 0.535867 +v -0.273076 -0.498887 0.581732 +v -0.293626 -0.527177 0.535867 +v -0.300466 -0.523154 0.581732 +v -0.300463 -0.558120 0.535867 +v -0.308362 -0.558886 0.581732 +v -0.287807 -0.587172 0.535867 +v -0.293747 -0.592434 0.581732 +v -0.260491 -0.603236 0.535867 +v -0.262203 -0.610985 0.581732 +v -0.228950 -0.600177 0.535867 +v -0.225780 -0.607452 0.581732 +v -0.205231 -0.579162 0.535866 +v -0.198390 -0.583185 0.581732 +v -0.215824 -0.572282 0.446762 +v -0.210872 -0.549265 0.449198 +v -0.205179 -0.548878 0.467826 +v -0.211107 -0.575706 0.467826 +v -0.220313 -0.527594 0.449198 +v -0.216153 -0.523688 0.467826 +v -0.240541 -0.515546 0.446762 +v -0.239837 -0.509760 0.467826 +v -0.263829 -0.517723 0.442820 +v -0.267184 -0.512412 0.467826 +v -0.281283 -0.533295 0.438878 +v -0.287749 -0.530633 0.467826 +v -0.286234 -0.556312 0.436441 +v -0.293677 -0.557462 0.467826 +v -0.276793 -0.577983 0.436441 +v -0.282704 -0.582651 0.467826 +v -0.256566 -0.590031 0.438878 +v -0.259020 -0.596579 0.467826 +v -0.233278 -0.587853 0.442820 +v -0.231673 -0.593927 0.467826 +v -0.210575 -0.560845 0.400502 +v -0.208409 -0.544696 0.406961 +v -0.215290 -0.528901 0.406961 +v -0.228591 -0.519490 0.400502 +v -0.243229 -0.520060 0.390050 +v -0.253615 -0.530392 0.379598 +v -0.255781 -0.546540 0.373139 +v -0.248899 -0.562336 0.373139 +v -0.235599 -0.571747 0.379598 +v -0.220960 -0.571177 0.390050 +v -0.194405 -0.544650 0.349725 +v -0.193495 -0.534705 0.354526 +v -0.197817 -0.524784 0.354526 +v -0.205720 -0.518677 0.349725 +v -0.214185 -0.518717 0.341957 +v -0.219979 -0.524889 0.334188 +v -0.220889 -0.534835 0.329387 +v -0.216567 -0.544755 0.329387 +v -0.208664 -0.550862 0.334188 +v -0.200199 -0.550822 0.341957 +v -0.172883 -0.522602 0.307707 +v -0.175044 -0.517642 0.307707 +v -0.201075 -0.516619 0.366699 +v -0.189860 -0.542362 0.366699 +v -0.178355 -0.516133 0.303093 +v -0.223782 -0.511197 0.348718 +v -0.179506 -0.519586 0.298478 +v -0.235275 -0.531518 0.330738 +v -0.177345 -0.524546 0.298478 +v -0.224060 -0.557261 0.330738 +v -0.174033 -0.526055 0.303093 +v -0.201352 -0.562683 0.348718 +v -0.172883 -0.522602 0.307707 +v -0.189860 -0.542362 0.366699 +v -0.177345 -0.524546 0.298478 +v -0.179506 -0.519586 0.298478 +v -0.178355 -0.516133 0.303093 +v -0.174033 -0.526055 0.303093 +v -0.175044 -0.517642 0.307707 +v -0.172883 -0.522602 0.307707 +v -0.223782 -0.511197 0.348718 +v -0.235275 -0.531518 0.330738 +v -0.224060 -0.557261 0.330738 +v -0.201352 -0.562683 0.348718 +v -0.189860 -0.542362 0.366699 +v -0.201075 -0.516619 0.366699 +v -0.447426 -0.527494 -0.023026 +v -0.497054 -0.560465 -0.023026 +v -0.490319 -0.564554 0.140847 +v -0.443810 -0.533656 0.140847 +v -0.283243 -0.713133 -0.023026 +v -0.265381 -0.625157 -0.023026 +v -0.273208 -0.625179 0.140847 +v -0.289947 -0.712765 0.140847 +v -0.282737 -0.560465 -0.023026 +v -0.289472 -0.564554 0.140847 +v -0.332366 -0.527494 -0.023026 +v -0.335982 -0.533656 0.140847 +v -0.389896 -0.521362 -0.023026 +v -0.389896 -0.527909 0.140847 +v -0.348764 -0.573050 0.140847 +v -0.389896 -0.568791 0.140847 +v -0.389896 -0.577627 0.338447 +v -0.354534 -0.581289 0.338447 +v -0.318654 -0.592486 0.140847 +v -0.328648 -0.597997 0.338447 +v -0.307632 -0.632399 0.140847 +v -0.319173 -0.632311 0.338447 +v -0.318654 -0.700484 0.140847 +v -0.328648 -0.699983 0.338447 +v -0.431027 -0.573050 0.140847 +v -0.461138 -0.592486 0.140847 +v -0.451143 -0.597997 0.338447 +v -0.425257 -0.581289 0.338447 +v -0.461138 -0.592486 0.140847 +v -0.431027 -0.573050 0.140847 +v -0.307632 -0.632399 0.140847 +v -0.318654 -0.700484 0.140847 +v -0.318654 -0.592486 0.140847 +v -0.348764 -0.573050 0.140847 +v -0.389896 -0.568791 0.140847 +v -0.389896 -0.547006 0.921101 +v -0.334546 -0.552738 0.921101 +v -0.294027 -0.578892 0.921101 +v -0.279196 -0.632602 0.921101 +v -0.294027 -0.701718 0.921101 +v -0.460618 -0.632311 0.338447 +v -0.451143 -0.699983 0.338447 +v -0.485764 -0.701718 0.921101 +v -0.500595 -0.632602 0.921101 +v -0.485764 -0.578892 0.921101 +v -0.445245 -0.552738 0.921101 +v -0.294027 -0.701718 0.921101 +v -0.279196 -0.632602 0.921101 +v -0.500595 -0.632602 0.921101 +v -0.485764 -0.701718 0.921101 +v -0.485764 -0.578892 0.921101 +v -0.294027 -0.578892 0.921101 +v -0.447426 0.527494 -0.023026 +v -0.443810 0.533656 0.140847 +v -0.490319 0.564554 0.140847 +v -0.497054 0.560465 -0.023026 +v -0.283243 0.713133 -0.023026 +v -0.289947 0.712765 0.140847 +v -0.273208 0.625179 0.140847 +v -0.265381 0.625157 -0.023026 +v -0.289472 0.564554 0.140847 +v -0.282737 0.560465 -0.023026 +v -0.335982 0.533656 0.140847 +v -0.332366 0.527494 -0.023026 +v -0.389896 0.527909 0.140847 +v -0.389896 0.521362 -0.023026 +v -0.348764 0.573050 0.140847 +v -0.354534 0.581289 0.338447 +v -0.389896 0.577627 0.338447 +v -0.389896 0.568791 0.140847 +v -0.318654 0.592486 0.140847 +v -0.328648 0.597997 0.338447 +v -0.307632 0.632399 0.140847 +v -0.319173 0.632311 0.338447 +v -0.318654 0.700484 0.140847 +v -0.328648 0.699983 0.338447 +v -0.472159 0.632399 0.140847 +v -0.460618 0.632311 0.338447 +v -0.451143 0.699983 0.338447 +v -0.461138 0.700484 0.140744 +v -0.461138 0.592486 0.140847 +v -0.451143 0.597997 0.338447 +v -0.431027 0.573050 0.140847 +v -0.425257 0.581289 0.338447 +v -0.461138 0.592486 0.140847 +v -0.431027 0.573050 0.140847 +v -0.472159 0.632399 0.140847 +v -0.506584 0.625179 0.140744 +v -0.461138 0.700484 0.140744 +v -0.489845 0.712765 0.140744 +v -0.307632 0.632399 0.140847 +v -0.318654 0.700484 0.140847 +v -0.318654 0.592486 0.140847 +v -0.348764 0.573050 0.140847 +v -0.389896 0.568791 0.140847 +v -0.334546 0.552738 0.921101 +v -0.389896 0.547006 0.921101 +v -0.294027 0.578892 0.921101 +v -0.279196 0.632602 0.921101 +v -0.294027 0.701718 0.921101 +v -0.500595 0.632602 0.921101 +v -0.485764 0.701718 0.921101 +v -0.485764 0.578892 0.921101 +v -0.445245 0.552738 0.921101 +v -0.485764 0.701718 0.921101 +v -0.451143 0.699983 0.338447 +v -0.451143 0.699983 0.338447 +v -0.461138 0.700484 0.140744 +v -0.489845 0.712765 0.140744 +v -0.289947 0.712765 0.140847 +v -0.283243 0.713133 -0.023026 +v -0.496548 0.713133 -0.025216 +v -0.461138 0.700484 0.140744 +v -0.318654 0.700484 0.140847 +v -0.294027 0.701718 0.921101 +v -0.485764 0.701718 0.921101 +v -0.500595 0.632602 0.921101 +v -0.279196 0.632602 0.921101 +v -0.485764 0.578892 0.921101 +v -0.294027 0.578892 0.921101 +v 0.507325 -0.527494 -0.023026 +v 0.457697 -0.560465 -0.023026 +v 0.464432 -0.564554 0.140847 +v 0.510941 -0.533656 0.140847 +v 0.440341 -0.625157 -0.023026 +v 0.448167 -0.625179 0.140744 +v 0.458203 -0.713133 -0.023026 +v 0.464906 -0.712765 0.140744 +v 0.671508 -0.713133 -0.023026 +v 0.689370 -0.625157 -0.023026 +v 0.681543 -0.625179 0.140847 +v 0.664804 -0.712765 0.140847 +v 0.672014 -0.560465 -0.023026 +v 0.665279 -0.564554 0.140847 +v 0.622386 -0.527494 -0.023026 +v 0.618769 -0.533656 0.140847 +v 0.564855 -0.521362 -0.023026 +v 0.564855 -0.527909 0.140847 +v 0.605987 -0.573050 0.140847 +v 0.564855 -0.568791 0.140847 +v 0.564855 -0.577627 0.338447 +v 0.600217 -0.581289 0.338447 +v 0.636097 -0.592486 0.140847 +v 0.626103 -0.597997 0.338447 +v 0.647119 -0.632399 0.140847 +v 0.635578 -0.632311 0.338447 +v 0.636097 -0.700484 0.140847 +v 0.626103 -0.699983 0.338447 +v 0.482592 -0.632399 0.140847 +v 0.493613 -0.700484 0.140744 +v 0.503608 -0.699983 0.338447 +v 0.494133 -0.632311 0.338447 +v 0.493613 -0.592486 0.140847 +v 0.503608 -0.597997 0.338447 +v 0.523724 -0.573050 0.140847 +v 0.529494 -0.581289 0.338447 +v 0.493613 -0.592486 0.140847 +v 0.523724 -0.573050 0.140847 +v 0.482592 -0.632399 0.140847 +v 0.493613 -0.700484 0.140744 +v 0.647119 -0.632399 0.140847 +v 0.636097 -0.700484 0.140847 +v 0.636097 -0.592486 0.140847 +v 0.605987 -0.573050 0.140847 +v 0.564855 -0.568791 0.140847 +v 0.564855 -0.547006 0.921101 +v 0.620205 -0.552738 0.921101 +v 0.660724 -0.578892 0.921101 +v 0.675555 -0.632602 0.921101 +v 0.660724 -0.701718 0.921101 +v 0.468987 -0.701718 0.921101 +v 0.454156 -0.632602 0.921101 +v 0.468987 -0.578892 0.921101 +v 0.509506 -0.552738 0.921101 +v 0.660724 -0.701718 0.921101 +v 0.675555 -0.632602 0.921101 +v 0.454156 -0.632602 0.921101 +v 0.468987 -0.701718 0.921101 +v 0.468987 -0.578892 0.921101 +v 0.660724 -0.578892 0.921101 +v -0.287865 -0.712307 0.452463 +v -0.281151 -0.529473 0.452463 +v -0.281151 -0.529473 0.543283 +v -0.287865 -0.712307 0.543283 +v -0.297407 -0.711724 0.566384 +v -0.387829 -0.711724 0.566384 +v -0.387829 -0.711724 0.429362 +v -0.297407 -0.711724 0.429362 +v -0.292956 -0.504722 0.452463 +v -0.387502 -0.503862 0.452463 +v -0.387502 -0.503862 0.543283 +v -0.292956 -0.504722 0.543283 +v -0.484115 -0.711724 0.566384 +v -0.484115 -0.711724 0.429362 +v -0.484923 -0.504907 0.452463 +v -0.484923 -0.504907 0.543283 +v -0.291320 -0.536528 0.566384 +v -0.297407 -0.711724 0.566384 +v -0.302021 -0.514091 0.566384 +v -0.387725 -0.513312 0.566384 +v -0.476036 -0.514259 0.566384 +v -0.297407 -0.711724 0.429362 +v -0.291320 -0.536528 0.429362 +v -0.387725 -0.513312 0.429362 +v -0.476036 -0.514259 0.429362 +v -0.302021 -0.514091 0.429362 +v 0.665253 -0.712307 0.452463 +v 0.671967 -0.561513 0.452463 +v 0.671967 -0.561513 0.543283 +v 0.665253 -0.712307 0.543283 +v 0.655712 -0.711724 0.566384 +v 0.565289 -0.711724 0.566384 +v 0.459283 -0.712307 0.543283 +v 0.454486 -0.566306 0.543283 +v 0.454486 -0.566306 0.452463 +v 0.459283 -0.712307 0.452463 +v 0.565289 -0.711724 0.429362 +v 0.655712 -0.711724 0.429362 +v 0.660163 -0.536762 0.452463 +v 0.565616 -0.535902 0.452463 +v 0.565616 -0.535902 0.543283 +v 0.660163 -0.536762 0.543283 +v 0.469003 -0.711724 0.566384 +v 0.469003 -0.711724 0.429362 +v 0.468195 -0.536947 0.452463 +v 0.468195 -0.536947 0.543283 +v 0.661798 -0.568567 0.566384 +v 0.655712 -0.711724 0.566384 +v 0.469003 -0.711724 0.566384 +v 0.464654 -0.572912 0.566384 +v 0.651097 -0.546131 0.566384 +v 0.565393 -0.545352 0.566384 +v 0.477082 -0.546299 0.566384 +v 0.655712 -0.711724 0.429362 +v 0.661798 -0.568567 0.429362 +v 0.464654 -0.572912 0.429362 +v 0.469003 -0.711724 0.429362 +v 0.477082 -0.546299 0.429362 +v 0.565393 -0.545352 0.429362 +v 0.651097 -0.546131 0.429362 +v 0.565289 -0.711724 0.566384 +v 0.469003 -0.711724 0.566384 +v 0.469003 -0.711724 0.429362 +v 0.565289 -0.711724 0.429362 +v 0.655712 -0.711724 0.566384 +v 0.655712 -0.711724 0.429362 +v 0.459283 -0.712307 0.543283 +v 0.459283 -0.712307 0.452463 +v 0.665253 -0.712307 0.452463 +v 0.665253 -0.712307 0.543283 +v -0.287572 0.712307 0.452463 +v -0.287572 0.712307 0.543283 +v -0.280858 0.529473 0.543283 +v -0.280858 0.529473 0.452463 +v -0.297113 0.711724 0.566384 +v -0.387536 0.711724 0.566384 +v -0.387536 0.711724 0.429362 +v -0.297113 0.711724 0.429362 +v -0.292662 0.504722 0.452463 +v -0.292662 0.504722 0.543283 +v -0.387208 0.503862 0.543283 +v -0.387208 0.503862 0.452463 +v -0.483822 0.711724 0.566384 +v -0.483822 0.711724 0.429362 +v -0.484630 0.504907 0.543283 +v -0.484630 0.504907 0.452463 +v -0.297113 0.711724 0.566384 +v -0.291027 0.536528 0.566384 +v -0.301727 0.514091 0.566384 +v -0.387432 0.513312 0.566384 +v -0.475743 0.514259 0.566384 +v -0.291027 0.536528 0.429362 +v -0.297113 0.711724 0.429362 +v -0.475743 0.514259 0.429362 +v -0.387432 0.513312 0.429362 +v -0.301727 0.514091 0.429362 +v -0.387536 0.711724 0.566384 +v -0.387536 0.711724 0.429362 +v -0.483822 0.711724 0.429362 +v -0.483822 0.711724 0.566384 +v -0.297113 0.711724 0.566384 +v -0.297113 0.711724 0.429362 +v -0.493542 0.712307 0.543283 +v -0.493542 0.712307 0.452463 +v -0.287572 0.712307 0.543283 +v -0.287572 0.712307 0.452463 +v -0.356935 -0.438596 0.390241 +v -0.392690 -0.438596 0.396251 +v -0.395843 -0.438596 0.414817 +v -0.357632 -0.438596 0.415676 +v -0.434913 -0.438596 0.315227 +v -0.453264 -0.438596 0.315227 +v -0.356935 -0.464081 0.390241 +v -0.357632 -0.464081 0.415676 +v -0.395843 -0.464081 0.414817 +v -0.392690 -0.464081 0.396251 +v -0.453264 -0.464081 0.315227 +v -0.434913 -0.464081 0.315227 +v -0.356935 -0.464081 0.390241 +v -0.392690 -0.464081 0.396251 +v -0.392690 -0.438596 0.396251 +v -0.356935 -0.438596 0.390241 +v -0.357632 -0.464081 0.415676 +v -0.357632 -0.438596 0.415676 +v -0.427770 -0.464081 0.394532 +v -0.427770 -0.438596 0.394532 +v -0.434913 -0.464081 0.315227 +v -0.434913 -0.438596 0.315227 +v -0.453264 -0.464081 0.315227 +v -0.453264 -0.438596 0.315227 +v -0.392400 -0.440706 0.397413 +v -0.370854 -0.440706 0.393686 +v -0.373061 -0.441905 0.362676 +v -0.393228 -0.441905 0.365543 +v -0.396582 -0.443950 0.335854 +v -0.408561 -0.443408 0.347089 +v -0.438395 -0.445899 0.322336 +v -0.438179 -0.443341 0.336146 +v -0.392400 -0.461971 0.397413 +v -0.393228 -0.460773 0.365543 +v -0.373061 -0.460773 0.362676 +v -0.370854 -0.461971 0.393686 +v -0.408561 -0.459496 0.347089 +v -0.396582 -0.458953 0.335854 +v -0.438179 -0.458676 0.336146 +v -0.438395 -0.456778 0.322336 +v -0.370854 -0.461971 0.393686 +v -0.373061 -0.460773 0.362676 +v -0.373061 -0.441905 0.362676 +v -0.370854 -0.440706 0.393686 +v -0.393228 -0.460773 0.365543 +v -0.392400 -0.461971 0.397413 +v -0.392400 -0.440706 0.397413 +v -0.393228 -0.441905 0.365543 +v -0.396582 -0.458953 0.335854 +v -0.396582 -0.443950 0.335854 +v -0.408561 -0.459496 0.347089 +v -0.408561 -0.443408 0.347089 +v -0.438395 -0.456778 0.322336 +v -0.438395 -0.445899 0.322336 +v -0.438179 -0.458676 0.336146 +v -0.438179 -0.443341 0.336146 +v -0.328552 -0.502376 0.407789 +v -0.328552 -0.365226 0.418121 +v -0.328552 -0.365226 0.440254 +v -0.328552 -0.502376 0.446882 +v -0.453264 -0.365226 0.440254 +v -0.453264 -0.502376 0.446882 +v -0.453264 -0.365226 0.418121 +v -0.453264 -0.502376 0.407789 +v -0.453264 -0.502376 0.407789 +v -0.453264 -0.365226 0.418121 +v -0.328552 -0.365226 0.418121 +v -0.328552 -0.502376 0.407789 +v -0.328552 -0.225458 0.407813 +v -0.453264 -0.225458 0.407813 +v -0.453264 -0.225458 0.446857 +v -0.328552 -0.225458 0.446857 +v -0.453264 -0.502376 0.407789 +v -0.328552 -0.502376 0.407789 +v -0.453264 -0.225458 0.407813 +v -0.453264 -0.225458 0.407813 +v -0.328552 -0.225458 0.407813 +v -0.328552 -0.225458 0.407813 +v -0.356935 -0.257355 0.390241 +v -0.392690 -0.257355 0.396251 +v -0.395843 -0.257355 0.414817 +v -0.357632 -0.257355 0.415676 +v -0.434913 -0.257355 0.315227 +v -0.453264 -0.257355 0.315227 +v -0.356935 -0.282839 0.390241 +v -0.357632 -0.282839 0.415676 +v -0.395843 -0.282839 0.414817 +v -0.392690 -0.282839 0.396251 +v -0.453264 -0.282839 0.315227 +v -0.434913 -0.282839 0.315227 +v -0.356935 -0.282839 0.390241 +v -0.392690 -0.282839 0.396251 +v -0.392690 -0.257355 0.396251 +v -0.356935 -0.257355 0.390241 +v -0.357632 -0.282839 0.415676 +v -0.357632 -0.257355 0.415676 +v -0.427770 -0.282839 0.394532 +v -0.427770 -0.257355 0.394532 +v -0.434913 -0.282839 0.315227 +v -0.434913 -0.257355 0.315227 +v -0.453264 -0.282839 0.315227 +v -0.453264 -0.257355 0.315227 +v -0.392400 -0.259464 0.397413 +v -0.370854 -0.259464 0.393686 +v -0.373061 -0.260663 0.362676 +v -0.393228 -0.260663 0.365543 +v -0.396582 -0.262709 0.335854 +v -0.408561 -0.262166 0.347089 +v -0.438395 -0.264658 0.322336 +v -0.438179 -0.262099 0.336146 +v -0.392400 -0.280730 0.397413 +v -0.393228 -0.279531 0.365543 +v -0.373061 -0.279531 0.362676 +v -0.370854 -0.280730 0.393686 +v -0.408561 -0.278254 0.347089 +v -0.396582 -0.277712 0.335854 +v -0.438179 -0.277435 0.336146 +v -0.438395 -0.275536 0.322336 +v -0.370854 -0.280730 0.393686 +v -0.373061 -0.279531 0.362676 +v -0.373061 -0.260663 0.362676 +v -0.370854 -0.259464 0.393686 +v -0.393228 -0.279531 0.365543 +v -0.392400 -0.280730 0.397413 +v -0.392400 -0.259464 0.397413 +v -0.393228 -0.260663 0.365543 +v -0.396582 -0.277712 0.335854 +v -0.396582 -0.262709 0.335854 +v -0.408561 -0.278254 0.347089 +v -0.408561 -0.262166 0.347089 +v -0.438395 -0.275536 0.322336 +v -0.438395 -0.264658 0.322336 +v -0.438179 -0.277435 0.336146 +v -0.438179 -0.262099 0.336146 +v -0.356935 0.277542 0.392889 +v -0.392690 0.277542 0.397847 +v -0.395843 0.277542 0.413165 +v -0.357632 0.277542 0.413874 +v -0.434913 0.277542 0.331001 +v -0.453264 0.277542 0.331001 +v -0.356935 0.250185 0.392889 +v -0.357632 0.250185 0.413874 +v -0.395843 0.250185 0.413165 +v -0.392690 0.250185 0.397847 +v -0.453264 0.250185 0.331001 +v -0.434913 0.250185 0.331001 +v -0.356935 0.250185 0.392889 +v -0.392690 0.250185 0.397847 +v -0.392690 0.277542 0.397847 +v -0.356935 0.277542 0.392889 +v -0.357632 0.250185 0.413874 +v -0.357632 0.277542 0.413874 +v -0.427770 0.250185 0.396429 +v -0.427770 0.277542 0.396429 +v -0.434913 0.250185 0.331001 +v -0.434913 0.277542 0.331001 +v -0.453264 0.250185 0.331001 +v -0.453264 0.277542 0.331001 +v -0.392400 0.275278 0.398806 +v -0.370854 0.275278 0.395731 +v -0.373061 0.273991 0.370147 +v -0.393228 0.273991 0.372512 +v -0.396582 0.271795 0.348019 +v -0.408561 0.272377 0.357288 +v -0.438395 0.269702 0.336866 +v -0.438179 0.272449 0.348260 +v -0.392400 0.252449 0.398806 +v -0.393228 0.253736 0.372512 +v -0.373061 0.253736 0.370147 +v -0.370854 0.252449 0.395731 +v -0.408561 0.255107 0.357288 +v -0.396582 0.255689 0.348019 +v -0.438179 0.255986 0.348260 +v -0.438395 0.258025 0.336866 +v -0.370854 0.252449 0.395731 +v -0.373061 0.253736 0.370147 +v -0.373061 0.273991 0.370147 +v -0.370854 0.275278 0.395731 +v -0.393228 0.253736 0.372512 +v -0.392400 0.252449 0.398806 +v -0.392400 0.275278 0.398806 +v -0.393228 0.273991 0.372512 +v -0.396582 0.255689 0.348019 +v -0.396582 0.271795 0.348019 +v -0.408561 0.255107 0.357288 +v -0.408561 0.272377 0.357288 +v -0.438395 0.258025 0.336866 +v -0.438395 0.269702 0.336866 +v -0.438179 0.255986 0.348260 +v -0.438179 0.272449 0.348260 +v -0.328552 0.231556 0.407366 +v -0.328552 0.361479 0.415891 +v -0.328552 0.361479 0.434151 +v -0.328552 0.231556 0.439620 +v -0.453264 0.361479 0.434151 +v -0.453264 0.231556 0.439620 +v -0.453264 0.361479 0.415891 +v -0.453264 0.231556 0.407366 +v -0.453264 0.231556 0.407366 +v -0.453264 0.361479 0.415891 +v -0.328552 0.361479 0.415891 +v -0.328552 0.231556 0.407366 +v -0.328552 0.493882 0.407387 +v -0.453264 0.493882 0.407387 +v -0.453264 0.493882 0.439599 +v -0.328552 0.493882 0.439599 +v -0.453264 0.231556 0.407366 +v -0.328552 0.231556 0.407366 +v -0.453264 0.493882 0.407387 +v -0.453264 0.493882 0.407387 +v -0.328552 0.493882 0.407387 +v -0.328552 0.493882 0.407387 +v -0.356935 0.462431 0.392889 +v -0.392690 0.462431 0.397847 +v -0.395843 0.462431 0.413165 +v -0.357632 0.462431 0.413874 +v -0.434913 0.462431 0.331001 +v -0.453264 0.462431 0.331001 +v -0.356935 0.435082 0.392889 +v -0.357632 0.435082 0.413874 +v -0.395843 0.435082 0.413165 +v -0.392690 0.435082 0.397847 +v -0.453264 0.435082 0.331001 +v -0.434913 0.435082 0.331001 +v -0.356935 0.435082 0.392889 +v -0.392690 0.435082 0.397847 +v -0.392690 0.462431 0.397847 +v -0.356935 0.462431 0.392889 +v -0.357632 0.435082 0.413874 +v -0.357632 0.462431 0.413874 +v -0.427770 0.435082 0.396429 +v -0.427770 0.462431 0.396429 +v -0.434913 0.435082 0.331001 +v -0.434913 0.462431 0.331001 +v -0.453264 0.435082 0.331001 +v -0.453264 0.462431 0.331001 +v -0.392400 0.460167 0.398806 +v -0.370854 0.460167 0.395731 +v -0.373061 0.458881 0.370147 +v -0.393228 0.458881 0.372512 +v -0.396582 0.456685 0.348019 +v -0.408561 0.457267 0.357288 +v -0.438395 0.454593 0.336866 +v -0.438179 0.457339 0.348260 +v -0.392400 0.437346 0.398806 +v -0.393228 0.438632 0.372512 +v -0.373061 0.438632 0.370147 +v -0.370854 0.437346 0.395731 +v -0.408561 0.440002 0.357288 +v -0.396582 0.440584 0.348019 +v -0.438179 0.440881 0.348260 +v -0.438395 0.442919 0.336866 +v -0.370854 0.437346 0.395731 +v -0.373061 0.438632 0.370147 +v -0.373061 0.458881 0.370147 +v -0.370854 0.460167 0.395731 +v -0.393228 0.438632 0.372512 +v -0.392400 0.437346 0.398806 +v -0.392400 0.460167 0.398806 +v -0.393228 0.458881 0.372512 +v -0.396582 0.440584 0.348019 +v -0.396582 0.456685 0.348019 +v -0.408561 0.440002 0.357288 +v -0.408561 0.457267 0.357288 +v -0.438395 0.442919 0.336866 +v -0.438395 0.454593 0.336866 +v -0.438179 0.440881 0.348260 +v -0.438179 0.457339 0.348260 +v -0.295252 0.181062 0.154481 +v -0.304289 0.171602 0.154481 +v -0.298081 0.168869 0.208830 +v -0.291829 0.175414 0.208830 +v -0.305693 0.158160 0.154481 +v -0.299052 0.159568 0.208830 +v -0.298927 0.145868 0.154481 +v -0.294372 0.151064 0.208830 +v -0.286577 0.139423 0.154481 +v -0.285827 0.146605 0.208830 +v -0.273358 0.141286 0.154481 +v -0.276682 0.147894 0.208830 +v -0.273358 0.141286 0.154481 +v -0.264321 0.150746 0.154481 +v -0.270429 0.154439 0.208830 +v -0.276682 0.147894 0.208830 +v -0.262918 0.164188 0.154481 +v -0.269458 0.163739 0.208830 +v -0.269683 0.176480 0.154481 +v -0.274139 0.172243 0.208830 +v -0.282034 0.182925 0.154481 +v -0.282684 0.176703 0.208830 +v -0.269471 0.175511 0.230530 +v -0.263536 0.164246 0.225535 +v -0.265515 0.151991 0.221150 +v -0.274652 0.143427 0.219052 +v -0.274652 0.143427 0.219052 +v -0.287457 0.141825 0.220040 +v -0.299039 0.147797 0.223738 +v -0.304974 0.159062 0.228733 +v -0.302996 0.171317 0.233118 +v -0.293859 0.179881 0.235216 +v -0.281054 0.181483 0.234228 +v -0.299039 0.147797 0.223738 +v -0.287457 0.141825 0.220040 +v -0.269471 0.175511 0.230530 +v -0.281054 0.181483 0.234228 +v -0.271029 -0.172735 0.158262 +v -0.257922 -0.171859 0.158262 +v -0.260665 -0.165625 0.212836 +v -0.269733 -0.166231 0.212836 +v -0.247766 -0.162856 0.158262 +v -0.253638 -0.159396 0.212836 +v -0.244440 -0.149166 0.158262 +v -0.251338 -0.149924 0.212836 +v -0.249215 -0.136017 0.158262 +v -0.254641 -0.140827 0.212836 +v -0.260267 -0.128433 0.158262 +v -0.262288 -0.135580 0.212836 +v -0.260267 -0.128433 0.158262 +v -0.273374 -0.129309 0.158262 +v -0.271356 -0.136186 0.212836 +v -0.262288 -0.135580 0.212836 +v -0.283530 -0.138312 0.158262 +v -0.278383 -0.142415 0.212836 +v -0.286856 -0.152002 0.158262 +v -0.280684 -0.151887 0.212836 +v -0.282081 -0.165151 0.158262 +v -0.277380 -0.160984 0.212836 +v -0.286356 -0.151141 0.234626 +v -0.283112 -0.138774 0.229610 +v -0.273335 -0.131040 0.225208 +v -0.260761 -0.130895 0.223100 +v -0.260761 -0.130895 0.223100 +v -0.250192 -0.138393 0.224093 +v -0.245665 -0.150670 0.227806 +v -0.248910 -0.163037 0.232822 +v -0.258686 -0.170771 0.237225 +v -0.271260 -0.170916 0.239332 +v -0.281829 -0.163418 0.238339 +v -0.245665 -0.150670 0.227806 +v -0.250192 -0.138393 0.224093 +v -0.286356 -0.151141 0.234626 +v -0.281829 -0.163418 0.238339 +v -0.209010 0.173785 -0.000076 +v -0.209010 0.214239 -0.000076 +v -0.209010 0.234996 0.181010 +v -0.209010 0.187399 0.176927 +v -0.209010 0.187399 0.176927 +v -0.448328 0.234996 0.181010 +v -0.448328 0.187399 0.176928 +v -0.448328 0.214239 -0.000076 +v -0.448328 0.173785 -0.000076 +v -0.209010 0.173785 -0.000076 +v -0.209010 0.187399 0.176927 +v -0.448328 0.187399 0.176928 +v -0.209010 -0.181187 -0.000076 +v -0.209010 -0.194802 0.176927 +v -0.209010 -0.242399 0.181010 +v -0.209010 -0.221641 -0.000076 +v -0.209010 -0.194802 0.176927 +v -0.448328 -0.194802 0.176928 +v -0.448328 -0.242399 0.181010 +v -0.448328 -0.221641 -0.000076 +v -0.448328 -0.181187 -0.000076 +v -0.448328 -0.194802 0.176928 +v -0.209010 -0.194802 0.176927 +v -0.209010 -0.181187 -0.000076 +v -0.236799 -0.195177 0.159738 +v -0.236799 0.187208 0.160356 +v -0.449134 0.187208 0.160356 +v -0.449134 -0.195177 0.159738 +v -0.236799 -0.182929 0.000058 +v -0.236799 0.175948 0.000058 +v 0.016243 0.027980 0.016578 +v 0.009101 -0.030901 0.022569 +v -0.020266 -0.030428 0.084240 +v -0.010908 0.046722 0.076391 +v 0.038111 -0.082713 0.027840 +v 0.017745 -0.098317 0.091147 +v 0.092192 -0.107667 0.030378 +v 0.088606 -0.131013 0.094473 +v 0.150687 -0.096229 0.029215 +v 0.165252 -0.116026 0.092949 +v 0.191254 -0.052770 0.024793 +v 0.218405 -0.059083 0.087155 +v 0.198396 0.006111 0.018803 +v 0.227763 0.018068 0.079306 +v 0.169386 0.057923 0.013532 +v 0.189752 0.085957 0.072399 +v 0.115305 0.082876 0.010993 +v 0.118891 0.118652 0.069073 +v 0.056810 0.071439 0.012157 +v 0.042245 0.103666 0.070598 +v 0.016243 0.027980 0.016578 +v -0.010908 0.046722 0.076391 +v -0.007001 0.057504 0.200274 +v -0.016041 -0.017018 0.207856 +v 0.010006 -0.011885 0.207730 +v 0.017080 0.046433 0.201797 +v 0.020675 -0.082593 0.214527 +v 0.038739 -0.063202 0.212951 +v 0.089122 -0.114174 0.217740 +v 0.092303 -0.087916 0.215465 +v 0.163156 -0.099699 0.216267 +v 0.150239 -0.076588 0.214313 +v 0.214498 -0.044695 0.210672 +v 0.190417 -0.033544 0.209934 +v 0.223538 0.029827 0.203090 +v 0.197491 0.024774 0.204001 +v 0.186822 0.095402 0.196419 +v 0.168759 0.076091 0.198780 +v 0.118375 0.126983 0.193206 +v 0.115195 0.100805 0.196266 +v 0.044341 0.112508 0.194678 +v 0.057258 0.089477 0.197418 +v -0.007001 0.057504 0.200274 +v 0.017080 0.046433 0.201797 +v 0.010006 -0.015389 0.171680 +v 0.017080 0.043178 0.169198 +v 0.038739 -0.066924 0.173863 +v 0.092303 -0.091744 0.174915 +v 0.150239 -0.080368 0.174433 +v 0.179960 -0.032204 0.174535 +v 0.186180 0.019296 0.172353 +v 0.160915 0.064613 0.170433 +v 0.113813 0.086438 0.169508 +v 0.062868 0.076435 0.169932 +v 0.017080 0.043178 0.169198 +v 0.194491 0.097406 0.134516 +v 0.119725 0.131903 0.131007 +v 0.234597 0.025776 0.141804 +v 0.224723 -0.055626 0.150085 +v 0.168641 -0.115707 0.156198 +v 0.087772 -0.131519 0.157806 +v 0.013006 -0.097022 0.154297 +v -0.027100 -0.025393 0.147010 +v -0.017226 0.056010 0.138728 +v 0.038856 0.116091 0.132615 +v -0.017226 0.056010 0.138728 +v -0.172675 0.193249 -0.003610 +v -0.121540 0.097689 -0.003610 +v -0.121540 0.097689 0.061781 +v -0.172675 0.193249 0.061781 +v -0.165399 0.191045 0.069521 +v -0.119337 0.104966 0.069521 +v -0.073887 0.121388 0.069521 +v -0.126520 0.219748 0.069521 +v -0.077115 0.244384 0.061781 +v -0.025980 0.148824 0.061781 +v -0.025980 0.148824 -0.003610 +v -0.077115 0.244384 -0.003610 +v -0.071085 0.115920 -0.003610 +v -0.071085 0.115920 0.061781 +v -0.129515 0.225112 -0.003610 +v -0.172675 0.193249 -0.003610 +v -0.172675 0.193249 0.061781 +v -0.129515 0.225112 0.061781 +v -0.119337 0.104966 0.069521 +v -0.165399 0.191045 0.069521 +v -0.073887 0.121388 0.069521 +v -0.079319 0.237108 0.069521 +v -0.033257 0.151028 0.069521 +v -0.165399 0.191045 0.069521 +v -0.126520 0.219748 0.069521 +v -0.033257 0.151028 0.069521 +v -0.079319 0.237108 0.069521 +v -0.060320 0.218895 0.048261 +v -0.059301 0.148140 0.048261 +v 0.084736 0.150214 0.054316 +v 0.083717 0.220970 0.054316 +v -0.059301 0.148140 -0.006293 +v 0.084736 0.150214 -0.006293 +v 0.083717 0.220970 -0.006293 +v -0.060320 0.218895 -0.006293 +v 0.200144 0.151877 -0.006293 +v 0.200144 0.151877 0.048261 +v 0.199125 0.222632 0.048261 +v 0.199125 0.222632 -0.006293 +v 0.281552 0.153049 -0.006293 +v 0.281552 0.153049 0.048261 +v 0.280533 0.223804 0.048261 +v 0.280533 0.223804 -0.006293 +v -0.144132 -0.191441 0.042900 +v -0.073372 -0.192034 0.042900 +v -0.072165 -0.047986 0.042900 +v -0.142925 -0.047393 0.042900 +v -0.073372 -0.192034 -0.051327 +v -0.072165 -0.047986 -0.051327 +v -0.142925 -0.047393 -0.051327 +v -0.144132 -0.191441 -0.051327 +v -0.071197 0.067430 -0.051327 +v -0.071197 0.067430 0.057953 +v -0.141957 0.068023 0.057953 +v -0.141958 0.068023 -0.051327 +v -0.070515 0.148843 -0.051327 +v -0.070515 0.148843 0.042900 +v -0.141275 0.149436 0.042900 +v -0.141275 0.149436 -0.051327 +v -0.057198 -0.271295 -0.003610 +v -0.035310 -0.165147 -0.003610 +v -0.035310 -0.165147 0.061781 +v -0.057198 -0.271295 0.061781 +v -0.061377 -0.264944 0.069521 +v -0.041661 -0.169327 0.069521 +v -0.087090 -0.152849 0.069521 +v -0.109619 -0.262107 0.069521 +v -0.163346 -0.249407 0.061781 +v -0.141458 -0.143260 0.061781 +v -0.141458 -0.143260 -0.003610 +v -0.163346 -0.249407 -0.003610 +v -0.085743 -0.146855 -0.003610 +v -0.085743 -0.146855 0.061781 +v -0.110753 -0.268145 -0.003610 +v -0.057198 -0.271295 -0.003610 +v -0.057198 -0.271295 0.061781 +v -0.110753 -0.268145 0.061781 +v -0.041661 -0.169327 0.069521 +v -0.061377 -0.264944 0.069521 +v -0.087090 -0.152849 0.069521 +v -0.156995 -0.245228 0.069521 +v -0.137278 -0.149610 0.069521 +v -0.061377 -0.264944 0.069521 +v -0.109619 -0.262107 0.069521 +v -0.137278 -0.149610 0.069521 +v -0.156995 -0.245228 0.069521 +v 0.261248 -0.259379 0.048261 +v 0.261248 -0.188616 0.048261 +v 0.117195 -0.188616 0.056181 +v 0.117195 -0.259379 0.056181 +v 0.261248 -0.188616 -0.006293 +v 0.117195 -0.188616 -0.006293 +v 0.117195 -0.259379 -0.006293 +v 0.261248 -0.259379 -0.006293 +v 0.001775 -0.188616 -0.006293 +v 0.001775 -0.188616 0.048261 +v 0.001775 -0.259379 0.048261 +v 0.001775 -0.259379 -0.006293 +v -0.079641 -0.188616 -0.006293 +v -0.079641 -0.188616 0.048261 +v -0.079641 -0.259379 0.048261 +v -0.079641 -0.259379 -0.006293 +v 0.374763 -0.185931 -0.003610 +v 0.284750 -0.125565 -0.003610 +v 0.284750 -0.125565 0.061780 +v 0.374763 -0.185931 0.061780 +v 0.367304 -0.187402 0.069521 +v 0.286220 -0.133024 0.069521 +v 0.253802 -0.168862 0.069521 +v 0.346452 -0.230997 0.069521 +v 0.314397 -0.275944 0.061780 +v 0.224384 -0.215578 0.061780 +v 0.224384 -0.215578 -0.003610 +v 0.314397 -0.275944 -0.003610 +v 0.248761 -0.165350 -0.003610 +v 0.248761 -0.165350 0.061780 +v 0.351615 -0.234327 -0.003610 +v 0.374763 -0.185931 -0.003610 +v 0.374763 -0.185931 0.061780 +v 0.351615 -0.234327 0.061780 +v 0.286220 -0.133024 0.069521 +v 0.367304 -0.187402 0.069521 +v 0.253802 -0.168862 0.069521 +v 0.312927 -0.268485 0.069521 +v 0.231843 -0.214108 0.069521 +v 0.367304 -0.187402 0.069521 +v 0.346452 -0.230997 0.069521 +v 0.231843 -0.214108 0.069521 +v 0.312927 -0.268485 0.069521 +v 0.360806 0.150027 0.048261 +v 0.290054 0.151260 0.048261 +v 0.287543 0.007230 0.058608 +v 0.358295 0.005996 0.058608 +v 0.290054 0.151260 -0.006293 +v 0.287543 0.007230 0.004054 +v 0.358295 0.005996 -0.006293 +v 0.360806 0.150027 -0.006293 +v 0.285531 -0.108173 -0.006293 +v 0.285531 -0.108173 0.048261 +v 0.356283 -0.109406 0.048261 +v 0.356283 -0.109406 -0.006293 +v 0.284112 -0.189577 -0.006293 +v 0.284112 -0.189577 0.048261 +v 0.354864 -0.190810 0.048261 +v 0.354864 -0.190810 -0.006293 +v 0.307878 0.254125 -0.003610 +v 0.231977 0.176759 -0.003610 +v 0.231977 0.176759 0.061780 +v 0.307878 0.254125 0.061780 +v 0.307951 0.246522 0.069521 +v 0.239579 0.176832 0.069521 +v 0.268838 0.138371 0.069521 +v 0.346963 0.218003 0.069521 +v 0.385244 0.178223 0.061780 +v 0.309342 0.100858 0.061780 +v 0.309342 0.100858 -0.003610 +v 0.385244 0.178223 -0.003610 +v 0.264458 0.134063 -0.003610 +v 0.264458 0.134063 0.061780 +v 0.351187 0.222465 -0.003610 +v 0.307878 0.254125 -0.003610 +v 0.307878 0.254125 0.061780 +v 0.351187 0.222465 0.061780 +v 0.239579 0.176832 0.069521 +v 0.307951 0.246522 0.069521 +v 0.268838 0.138371 0.069521 +v 0.377641 0.178151 0.069521 +v 0.309270 0.108460 0.069521 +v 0.307951 0.246522 0.069521 +v 0.346963 0.218003 0.069521 +v 0.309270 0.108460 0.069521 +v 0.377641 0.178151 0.069521 +v 0.289197 -0.197716 -0.005561 +v 0.289197 -0.016541 0.012898 +v 0.108022 -0.016541 0.042422 +v 0.108022 -0.197716 0.023963 +v 0.289197 0.164634 -0.005561 +v 0.108022 0.164634 0.023963 +v -0.073152 -0.016541 0.012898 +v -0.073152 -0.197716 -0.005561 +v -0.073152 0.164634 -0.005561 +v -0.209994 -0.341899 -0.009065 +v -0.264484 -0.366517 -0.009065 +v -0.254033 -0.377229 0.038065 +v -0.206483 -0.356542 0.037992 +v -0.297523 -0.412223 -0.009065 +v -0.283238 -0.416462 0.037848 +v -0.297523 -0.412223 -0.009065 +v -0.310382 -0.471676 -0.009065 +v -0.295111 -0.467860 0.037409 +v -0.283238 -0.416462 0.037848 +v -0.286947 -0.524863 -0.009065 +v -0.275435 -0.514262 0.036835 +v -0.238469 -0.557289 -0.009065 +v -0.233792 -0.542967 0.036308 +v -0.182978 -0.554253 -0.009065 +v -0.185636 -0.541007 0.036046 +v -0.122531 -0.540392 -0.009065 +v -0.133051 -0.529720 0.035850 +v -0.088189 -0.493503 -0.009065 +v -0.102702 -0.489477 0.036071 +v -0.090370 -0.435811 -0.009065 +v -0.103892 -0.439424 0.036573 +v -0.122120 -0.384463 -0.009065 +v -0.130800 -0.394515 0.037174 +v -0.155885 -0.346771 -0.009065 +v -0.159622 -0.361422 0.037670 +v -0.116660 -0.428039 0.076684 +v -0.108154 -0.472094 0.075302 +v -0.128929 -0.512213 0.076209 +v -0.173629 -0.530079 0.079306 +v -0.215812 -0.539039 0.082360 +v -0.256820 -0.519921 0.085794 +v -0.281088 -0.481866 0.088273 +v -0.278272 -0.434662 0.088848 +v -0.278272 -0.434662 0.088848 +v -0.258356 -0.395608 0.087988 +v -0.219497 -0.370189 0.085462 +v -0.177436 -0.367469 0.082313 +v -0.147084 -0.392389 0.079591 +v -0.173629 -0.530079 0.079306 +v -0.128929 -0.512213 0.076209 +v -0.147084 -0.392389 0.079591 +v -0.177436 -0.367469 0.082313 +v -0.215812 -0.539039 0.082360 +v -0.219497 -0.370189 0.085462 +v -0.256820 -0.519921 0.085794 +v -0.258356 -0.395608 0.087988 +v -0.278272 -0.434662 0.088848 +v -0.281088 -0.481866 0.088273 +v -0.108154 -0.472094 0.075302 +v -0.116660 -0.428039 0.076684 +v -0.338018 -0.423677 0.053237 +v -0.318740 -0.440080 0.053435 +v -0.250402 -0.338065 0.042896 +v -0.269680 -0.321661 0.042699 +v -0.315717 -0.443183 0.009001 +v -0.247379 -0.341168 -0.001538 +v -0.315717 -0.443183 0.009001 +v -0.360678 -0.412731 0.014417 +v -0.292340 -0.310715 0.003878 +v -0.247379 -0.341168 -0.001538 +v -0.360678 -0.412731 0.014417 +v -0.315717 -0.443183 0.009001 +v -0.318740 -0.440080 0.053435 +v -0.338018 -0.423677 0.053237 +v -0.250402 -0.338065 0.042896 +v -0.247379 -0.341168 -0.001538 +v -0.292340 -0.310715 0.003878 +v -0.269680 -0.321661 0.042699 +v -0.118395 -0.338441 0.043288 +v -0.140599 -0.350356 0.045689 +v -0.070189 -0.451504 0.045725 +v -0.047985 -0.439589 0.043323 +v -0.145943 -0.357635 0.001967 +v -0.075534 -0.458782 0.002003 +v -0.145943 -0.357635 0.001967 +v -0.101261 -0.326303 0.002064 +v -0.030851 -0.427450 0.002099 +v -0.075534 -0.458782 0.002003 +v -0.101261 -0.326303 0.002064 +v -0.145943 -0.357635 0.001967 +v -0.140599 -0.350356 0.045689 +v -0.118395 -0.338441 0.043288 +v -0.070189 -0.451504 0.045725 +v -0.075534 -0.458782 0.002003 +v -0.030851 -0.427450 0.002099 +v -0.047985 -0.439589 0.043323 +v -0.277106 -0.328473 0.277824 +v -0.281152 -0.314653 0.265830 +v -0.273795 -0.323654 0.257849 +v -0.270722 -0.334248 0.267450 +v -0.268716 -0.302614 0.261203 +v -0.264047 -0.314355 0.254117 +v -0.252234 -0.304396 0.268569 +v -0.251227 -0.315649 0.259986 +v -0.248188 -0.318217 0.280563 +v -0.248154 -0.326243 0.269588 +v -0.260623 -0.330255 0.285191 +v -0.257902 -0.335542 0.273319 +v -0.260623 -0.330255 0.285191 +v -0.257902 -0.335542 0.273319 +v -0.268716 -0.302614 0.261203 +v -0.281152 -0.314653 0.265830 +v -0.248188 -0.318217 0.280563 +v -0.252234 -0.304396 0.268569 +v -0.277106 -0.328473 0.277824 +v -0.260623 -0.330255 0.285191 +v -0.211114 -0.475743 0.139207 +v -0.212990 -0.467921 0.126615 +v -0.202887 -0.460094 0.121365 +v -0.190907 -0.460088 0.128707 +v -0.189031 -0.467910 0.141299 +v -0.199135 -0.475737 0.146549 +v -0.207478 -0.450190 0.136479 +v -0.199570 -0.450186 0.141325 +v -0.190907 -0.460088 0.128707 +v -0.202887 -0.460094 0.121365 +v -0.214147 -0.455356 0.139944 +v -0.212990 -0.467921 0.126615 +v -0.212908 -0.460519 0.148256 +v -0.211114 -0.475743 0.139207 +v -0.205001 -0.460515 0.153102 +v -0.199135 -0.475737 0.146549 +v -0.198332 -0.455349 0.149636 +v -0.189031 -0.467910 0.141299 +v -0.198332 -0.455349 0.149636 +v -0.189031 -0.467910 0.141299 +v -0.224371 -0.407874 0.162898 +v -0.209165 -0.407867 0.172217 +v -0.194547 -0.446504 0.138605 +v -0.208332 -0.446510 0.130157 +v -0.237195 -0.417809 0.169562 +v -0.224371 -0.407874 0.162898 +v -0.208332 -0.446510 0.130157 +v -0.219958 -0.455517 0.136198 +v -0.234814 -0.427737 0.185545 +v -0.217799 -0.464518 0.150689 +v -0.219608 -0.427730 0.194864 +v -0.204014 -0.464512 0.159137 +v -0.206784 -0.417795 0.188200 +v -0.192388 -0.455504 0.153095 +v -0.223516 -0.411554 0.169220 +v -0.214189 -0.411550 0.174937 +v -0.199570 -0.450186 0.141325 +v -0.207478 -0.450190 0.136479 +v -0.231383 -0.417648 0.173308 +v -0.223516 -0.411554 0.169220 +v -0.207478 -0.450190 0.136479 +v -0.214147 -0.455356 0.139944 +v -0.229922 -0.423739 0.183113 +v -0.212908 -0.460519 0.148256 +v -0.220595 -0.423734 0.188829 +v -0.205001 -0.460515 0.153102 +v -0.212728 -0.417640 0.184741 +v -0.198332 -0.455349 0.149636 +v -0.239133 -0.346084 0.227197 +v -0.236610 -0.355140 0.236868 +v -0.223200 -0.389784 0.204686 +v -0.225101 -0.382466 0.194937 +v -0.250760 -0.345233 0.221380 +v -0.235382 -0.382115 0.189179 +v -0.259865 -0.353438 0.225234 +v -0.243762 -0.389084 0.193170 +v -0.257343 -0.362493 0.234904 +v -0.241861 -0.396403 0.202919 +v -0.245716 -0.363344 0.240721 +v -0.231580 -0.396753 0.208677 +v -0.245716 -0.363344 0.240721 +v -0.231580 -0.396753 0.208677 +v -0.212728 -0.417640 0.184741 +v -0.214189 -0.411550 0.174937 +v -0.223516 -0.411554 0.169220 +v -0.231383 -0.417648 0.173308 +v -0.229922 -0.423739 0.183113 +v -0.220595 -0.423734 0.188829 +v -0.220595 -0.423734 0.188829 +v -0.205257 -0.423302 0.119740 +v -0.204920 -0.439538 0.148943 +v -0.201125 -0.448590 0.140748 +v -0.199633 -0.436491 0.106472 +v -0.219647 -0.404714 0.073808 +v -0.208057 -0.409914 0.092423 +v -0.230088 -0.378793 0.091297 +v -0.217357 -0.387118 0.109451 +v -0.212795 -0.405330 0.136058 +v -0.209754 -0.428022 0.159454 +v -0.220544 -0.386856 0.152829 +v -0.216201 -0.412651 0.173401 +v -0.224811 -0.430238 0.117889 +v -0.219187 -0.443426 0.104620 +v -0.214782 -0.453434 0.139455 +v -0.218577 -0.444382 0.147649 +v -0.217900 -0.441431 0.076654 +v -0.227611 -0.416850 0.090571 +v -0.236911 -0.394054 0.107599 +v -0.232349 -0.412265 0.134205 +v -0.223412 -0.432866 0.158161 +v -0.248037 -0.369666 0.142316 +v -0.240098 -0.393791 0.150977 +v -0.229858 -0.417495 0.172107 +v -0.214782 -0.453434 0.139455 +v -0.219187 -0.443426 0.104620 +v -0.240098 -0.393791 0.150977 +v -0.229858 -0.417495 0.172107 +v -0.505807 -0.090672 0.485693 +v -0.492953 -0.087538 0.490711 +v -0.495398 -0.067237 0.483847 +v -0.509081 -0.070573 0.478504 +v -0.479533 -0.087323 0.486421 +v -0.481111 -0.067007 0.479279 +v -0.470672 -0.090109 0.474459 +v -0.471679 -0.069973 0.466545 +v -0.469756 -0.094832 0.459396 +v -0.470704 -0.075001 0.450510 +v -0.477134 -0.099688 0.446984 +v -0.478558 -0.080171 0.437298 +v -0.489988 -0.102822 0.441965 +v -0.492241 -0.083507 0.431955 +v -0.503408 -0.103037 0.446257 +v -0.506527 -0.083736 0.436523 +v -0.512268 -0.100252 0.458218 +v -0.515960 -0.080771 0.449256 +v -0.513184 -0.095528 0.473281 +v -0.516935 -0.075743 0.465292 +v -0.513184 -0.095528 0.473281 +v -0.516935 -0.075743 0.465292 +v -0.479533 -0.087323 0.486421 +v -0.492953 -0.087538 0.490711 +v -0.512268 -0.100252 0.458218 +v -0.503408 -0.103037 0.446257 +v -0.470672 -0.090109 0.474459 +v -0.489988 -0.102822 0.441965 +v -0.469756 -0.094832 0.459396 +v -0.477134 -0.099688 0.446984 +v -0.505807 -0.090672 0.485693 +v -0.513184 -0.095528 0.473281 +v -0.496415 -0.108124 0.496376 +v -0.487577 -0.103249 0.498064 +v -0.493531 -0.086789 0.486667 +v -0.504471 -0.089457 0.482396 +v -0.477874 -0.102650 0.494509 +v -0.482109 -0.086607 0.483015 +v -0.471012 -0.106555 0.487069 +v -0.474568 -0.088977 0.472835 +v -0.469612 -0.113475 0.478586 +v -0.473789 -0.092997 0.460015 +v -0.474209 -0.120763 0.472299 +v -0.480068 -0.097130 0.449451 +v -0.483047 -0.125639 0.470611 +v -0.491007 -0.099798 0.445180 +v -0.492750 -0.126238 0.474166 +v -0.502429 -0.099981 0.448832 +v -0.499612 -0.122333 0.481607 +v -0.509971 -0.097610 0.459012 +v -0.501012 -0.115414 0.490090 +v -0.510750 -0.093590 0.471833 +v -0.501012 -0.115414 0.490090 +v -0.510750 -0.093590 0.471833 +v -0.483976 -0.125287 0.518942 +v -0.478848 -0.120178 0.516992 +v -0.471946 -0.119212 0.514011 +v -0.465906 -0.122758 0.511138 +v -0.463036 -0.129461 0.509470 +v -0.464431 -0.136762 0.509646 +v -0.469559 -0.141871 0.511596 +v -0.476461 -0.142836 0.514577 +v -0.482501 -0.139292 0.517450 +v -0.485372 -0.132588 0.519118 +v -0.485372 -0.132588 0.519118 +v -0.472899 -0.125898 0.540137 +v -0.470245 -0.122734 0.537626 +v -0.466032 -0.121980 0.535474 +v -0.461871 -0.123922 0.534503 +v -0.459350 -0.127819 0.535084 +v -0.459431 -0.132183 0.536995 +v -0.462086 -0.135347 0.539506 +v -0.466298 -0.136101 0.541657 +v -0.470459 -0.134159 0.542628 +v -0.472981 -0.130262 0.542047 +v -0.472981 -0.130262 0.542047 +v -0.461465 -0.119445 0.558424 +v -0.459359 -0.119068 0.557348 +v -0.464576 -0.119615 0.529437 +v -0.475506 -0.121575 0.535020 +v -0.457572 -0.120466 0.557980 +v -0.456291 -0.128455 0.529400 +v -0.457572 -0.120466 0.557980 +v -0.457890 -0.122242 0.559687 +v -0.458937 -0.139254 0.534948 +v -0.456291 -0.128455 0.529400 +v -0.459996 -0.122619 0.560762 +v -0.469867 -0.141213 0.540531 +v -0.461784 -0.121221 0.560131 +v -0.478152 -0.132373 0.540567 +v -0.459996 -0.122619 0.560762 +v -0.457890 -0.122242 0.559687 +v -0.457572 -0.120466 0.557980 +v -0.461784 -0.121221 0.560131 +v -0.459359 -0.119068 0.557348 +v -0.461465 -0.119445 0.558424 +v -0.456291 -0.128455 0.529400 +v -0.458937 -0.139254 0.534948 +v -0.469867 -0.141213 0.540531 +v -0.478152 -0.132373 0.540567 +v -0.475506 -0.121575 0.535020 +v -0.464576 -0.119615 0.529437 +v -0.509409 0.078652 0.480392 +v -0.512683 0.058553 0.473204 +v -0.499000 0.055217 0.478546 +v -0.496555 0.075518 0.485411 +v -0.484714 0.054988 0.473978 +v -0.483135 0.075303 0.481120 +v -0.475282 0.057953 0.461245 +v -0.474275 0.078089 0.469158 +v -0.474306 0.062981 0.445209 +v -0.473358 0.082812 0.454095 +v -0.482160 0.068151 0.431997 +v -0.480736 0.087668 0.441684 +v -0.495843 0.071487 0.426654 +v -0.493590 0.090802 0.436665 +v -0.510130 0.071716 0.431223 +v -0.507010 0.091018 0.440956 +v -0.519562 0.068751 0.443956 +v -0.515871 0.088232 0.452918 +v -0.520537 0.063723 0.459991 +v -0.516787 0.083508 0.467981 +v -0.516787 0.083508 0.467981 +v -0.520537 0.063723 0.459991 +v -0.483135 0.075303 0.481120 +v -0.507010 0.091018 0.440956 +v -0.515871 0.088232 0.452918 +v -0.496555 0.075518 0.485411 +v -0.474275 0.078089 0.469158 +v -0.493590 0.090802 0.436665 +v -0.473358 0.082812 0.454095 +v -0.480736 0.087668 0.441684 +v -0.516787 0.083508 0.467981 +v -0.509409 0.078652 0.480392 +v -0.500017 0.096104 0.491076 +v -0.508073 0.077437 0.477095 +v -0.497134 0.074770 0.481367 +v -0.491180 0.091229 0.492764 +v -0.485712 0.074586 0.477715 +v -0.481476 0.090630 0.489208 +v -0.478171 0.076957 0.467534 +v -0.474615 0.094536 0.481769 +v -0.477391 0.080978 0.454714 +v -0.473215 0.101455 0.473285 +v -0.483670 0.085110 0.444151 +v -0.477812 0.108743 0.466999 +v -0.494610 0.087778 0.439879 +v -0.486650 0.113619 0.465311 +v -0.506032 0.087961 0.443531 +v -0.496353 0.114218 0.468866 +v -0.513573 0.085590 0.453712 +v -0.503215 0.110313 0.476306 +v -0.514353 0.081570 0.466532 +v -0.504614 0.103394 0.484789 +v -0.504614 0.103394 0.484789 +v -0.514353 0.081570 0.466532 +v -0.482450 0.108159 0.511691 +v -0.487578 0.113267 0.513642 +v -0.475548 0.107192 0.508710 +v -0.469508 0.110738 0.505837 +v -0.466638 0.117441 0.504170 +v -0.468033 0.124742 0.504345 +v -0.473161 0.129851 0.506296 +v -0.480064 0.130816 0.509277 +v -0.486103 0.127272 0.512150 +v -0.488974 0.120568 0.513817 +v -0.488974 0.120568 0.513817 +v -0.473847 0.110715 0.532325 +v -0.476501 0.113878 0.534836 +v -0.469634 0.109960 0.530174 +v -0.465473 0.111902 0.529203 +v -0.462952 0.115799 0.529784 +v -0.463034 0.120163 0.531694 +v -0.465688 0.123327 0.534205 +v -0.469900 0.124081 0.536357 +v -0.474062 0.122139 0.537328 +v -0.476583 0.118243 0.536747 +v -0.476583 0.118243 0.536747 +v -0.465067 0.107425 0.553124 +v -0.479109 0.109555 0.529720 +v -0.468179 0.107595 0.524136 +v -0.462961 0.107048 0.552048 +v -0.459893 0.116435 0.524100 +v -0.461174 0.108446 0.552679 +v -0.461174 0.108446 0.552679 +v -0.459893 0.116435 0.524100 +v -0.462539 0.127234 0.529647 +v -0.461493 0.110222 0.554386 +v -0.473469 0.129193 0.535231 +v -0.463599 0.110599 0.555462 +v -0.481754 0.120353 0.535266 +v -0.465386 0.109201 0.554831 +v -0.463599 0.110599 0.555462 +v -0.465386 0.109201 0.554831 +v -0.461174 0.108446 0.552679 +v -0.461493 0.110222 0.554386 +v -0.462961 0.107048 0.552048 +v -0.465067 0.107425 0.553124 +v -0.459893 0.116435 0.524100 +v -0.481754 0.120353 0.535266 +v -0.473469 0.129193 0.535231 +v -0.462539 0.127234 0.529647 +v -0.468179 0.107595 0.524136 +v -0.479109 0.109555 0.529720 +v -0.264880 0.651371 0.580126 +v -0.265111 0.652853 0.613381 +v -0.238290 0.605908 0.601110 +v -0.251497 0.627397 0.557140 +v -0.255723 0.637583 0.644775 +v -0.244514 0.618396 0.652901 +v -0.263938 0.651914 0.580108 +v -0.250562 0.627936 0.557122 +v -0.237321 0.606467 0.601091 +v -0.264148 0.653408 0.613363 +v -0.243516 0.618971 0.652882 +v -0.254736 0.638152 0.644756 +v -0.230585 -0.562461 0.569611 +v -0.230227 -0.562564 0.596719 +v -0.271922 -0.549382 0.585481 +v -0.251390 -0.555889 0.550264 +v -0.244822 -0.557939 0.621864 +v -0.262247 -0.552426 0.627968 +v -0.230852 -0.563306 0.569611 +v -0.251655 -0.556727 0.550264 +v -0.272197 -0.550251 0.585481 +v -0.230500 -0.563428 0.596719 +v -0.262529 -0.553321 0.627968 +v -0.245101 -0.558824 0.621864 +v -0.278327 0.151241 0.236079 +v -0.278220 0.151048 0.252211 +v -0.290627 0.173922 0.245523 +v -0.284518 0.162654 0.224566 +v -0.277261 0.151819 0.236079 +v -0.283451 0.163233 0.224566 +v -0.289568 0.174496 0.245523 +v -0.277159 0.151623 0.252211 +v -0.269008 -0.142349 0.234220 +v -0.269087 -0.142211 0.245822 +v -0.259984 -0.158564 0.241012 +v -0.264466 -0.150508 0.225940 +v -0.269770 -0.142773 0.234220 +v -0.265229 -0.150933 0.225940 +v -0.260742 -0.158985 0.241012 +v -0.269845 -0.142633 0.245822 +v 0.127796 -0.493533 0.145224 +v 0.116767 -0.502496 0.145224 +v 0.125729 -0.513526 0.145224 +v 0.136759 -0.504563 0.145224 +v -0.575491 -0.721043 0.001923 +v -0.575491 -0.721043 0.001923 +v -0.114645 -0.721043 0.001923 +v 0.319177 -0.721043 0.001923 +v 0.741905 -0.721043 0.001923 +v 0.741905 -0.721043 0.001923 +v 0.464906 -0.712765 0.140744 +v -0.289947 -0.712765 0.140847 +v 0.664804 -0.712765 0.140847 +v 0.448167 -0.625179 0.140744 +v -0.273208 -0.625179 0.140847 +v 0.681543 -0.625179 0.140847 +v -0.185947 -0.618911 0.264762 +v -0.187438 -0.616327 0.314538 +v -0.330770 -0.616018 0.246266 +v -0.330770 -0.616018 0.316683 +v 0.075552 -0.615534 0.248478 +v 0.079190 -0.614170 0.299157 +v 0.359678 -0.611262 0.314656 +v 0.349125 -0.610981 0.262758 +v 0.510377 -0.608245 0.243607 +v 0.510377 -0.608245 0.322434 +v 0.086177 -0.601870 0.107347 +v 0.086177 -0.601870 0.152700 +v 0.086177 -0.601870 0.152700 +v 0.222300 -0.596550 0.152919 +v 0.293424 -0.596288 0.831581 +v -0.300480 -0.596288 0.851846 +v 0.058102 -0.596288 0.851846 +v 0.473809 -0.596288 0.851846 +v -0.157246 -0.596288 0.836647 +v 0.188087 -0.593086 0.152919 +v 0.188087 -0.593086 0.152919 +v 0.151411 -0.590904 0.160294 +v 0.118307 -0.589580 0.152700 +v 0.118307 -0.589580 0.152700 +v 0.063742 -0.588814 0.152700 +v 0.119065 -0.584458 0.160294 +v 0.119065 -0.584458 0.160294 +v -0.315313 -0.581021 0.366718 +v -0.321318 -0.581021 0.497917 +v 0.245786 -0.579001 0.152919 +v 0.245786 -0.579001 0.152919 +v 0.186388 -0.578329 0.160294 +v 0.186388 -0.578329 0.160294 +v -0.334654 -0.573301 0.608309 +v 0.118340 -0.572183 0.144772 +v 0.302069 -0.569168 -0.001527 +v 0.286996 -0.566730 0.057697 +v 0.055611 -0.565524 0.144772 +v -0.490319 -0.564554 0.140847 +v -0.289472 -0.564554 0.140847 +v 0.464432 -0.564554 0.140847 +v 0.665279 -0.564554 0.140847 +v -0.201352 -0.562683 0.348718 +v 0.145344 -0.561827 0.154594 +v 0.285925 -0.560394 -0.001527 +v 0.116544 -0.560137 0.149178 +v 0.098035 -0.559599 0.150163 +v 0.312471 -0.559137 0.057697 +v 0.261922 -0.557900 0.057697 +v -0.224060 -0.557261 0.330738 +v 0.184260 -0.556156 0.144899 +v 0.194834 -0.554953 0.157003 +v 0.038421 -0.554150 0.164664 +v 0.038421 -0.554150 0.164664 +v 0.184027 -0.554069 0.149178 +v 0.297881 -0.554057 0.044730 +v 0.310842 -0.553024 -0.001527 +v 0.288826 -0.549137 0.044730 +v 0.256702 -0.546950 -0.001527 +v 0.112737 -0.546372 0.128785 +v 0.477082 -0.546299 0.429362 +v 0.477082 -0.546299 0.566384 +v 0.651097 -0.546131 0.429362 +v 0.651097 -0.546131 0.566384 +v 0.302801 -0.545003 0.044730 +v 0.243482 -0.544751 0.144899 +v -0.290416 -0.544425 0.729348 +v 0.117825 -0.542935 -0.004393 +v 0.252342 -0.542666 0.166314 +v 0.252342 -0.542666 0.166314 +v -0.215812 -0.539039 0.082360 +v 0.265128 -0.538767 0.044730 +v 0.240348 -0.538573 -0.001527 +v 0.328617 -0.538020 0.057697 +v 0.468195 -0.536947 0.452463 +v 0.468195 -0.536947 0.543283 +v 0.660163 -0.536762 0.452463 +v 0.660163 -0.536762 0.543283 +v 0.246828 -0.536018 0.057697 +v 0.255956 -0.534068 0.044730 +v -0.443810 -0.533656 0.140847 +v -0.335982 -0.533656 0.140847 +v 0.510941 -0.533656 0.140847 +v 0.618769 -0.533656 0.140847 +v 0.059663 -0.533471 0.128785 +v 0.074403 -0.532362 -0.004393 +v 0.199045 -0.532142 -0.004393 +v -0.235275 -0.531518 0.330738 +v -0.458150 -0.531147 0.366718 +v -0.315313 -0.531147 0.366718 +v 0.142571 -0.530412 0.154594 +v 0.096671 -0.529226 0.150163 +v -0.389896 -0.527909 0.140847 +v 0.564855 -0.527909 0.140847 +v 0.215155 -0.527625 0.128785 +v 0.327503 -0.526804 -0.001527 +v -0.174033 -0.526055 0.303093 +v 0.117155 -0.525831 -0.004393 +v 0.260655 -0.524897 0.044730 +v -0.177345 -0.524546 0.298478 +v 0.112698 -0.524359 0.128785 +v 0.315982 -0.523593 0.044730 +v 0.132678 -0.523374 0.181759 +v 0.248725 -0.522220 -0.001527 +v 0.116913 -0.521745 0.181759 +v 0.192004 -0.521330 0.157003 +v -0.179506 -0.519586 0.298478 +v 0.161196 -0.519548 0.128785 +v -0.175044 -0.517642 0.307707 +v -0.201075 -0.516619 0.366699 +v 0.156483 -0.516238 -0.004393 +v -0.178355 -0.516133 0.303093 +v 0.321484 -0.514879 0.044730 +v -0.302021 -0.514091 0.429362 +v -0.302021 -0.514091 0.566384 +v 0.144978 -0.513379 0.181759 +v 0.144978 -0.513379 0.181759 +v -0.128929 -0.512213 0.076209 +v 0.039459 -0.511608 0.164664 +v 0.039459 -0.511608 0.164664 +v 0.329268 -0.511445 0.057697 +v 0.214520 -0.511403 0.128785 +v 0.337313 -0.511268 -0.001527 +v -0.223782 -0.511197 0.348718 +v 0.106918 -0.509445 0.181759 +v 0.247479 -0.509443 0.057697 +v 0.312771 -0.509377 0.044730 +v 0.199004 -0.508932 -0.004393 +v -0.292956 -0.504722 0.452463 +v -0.292956 -0.504722 0.543283 +v 0.275438 -0.503633 0.044730 +v 0.253065 -0.503330 0.166314 +v 0.253065 -0.503330 0.166314 +v -0.453264 -0.502376 0.446882 +v -0.453264 -0.502376 0.446882 +v -0.328552 -0.502376 0.446882 +v -0.328552 -0.502376 0.446882 +v 0.321777 -0.501458 -0.001527 +v 0.289404 -0.499470 0.044730 +v 0.146608 -0.497614 0.181759 +v 0.267544 -0.495580 -0.001527 +v 0.280339 -0.494568 0.044730 +v 0.108547 -0.493680 0.181759 +v 0.314173 -0.489563 0.057697 +v 0.263625 -0.488326 0.057697 +v 0.292446 -0.488158 -0.001527 +v 0.136612 -0.485314 0.181759 +v 0.120847 -0.483685 0.181759 +v -0.281088 -0.481866 0.088273 +v 0.289100 -0.480732 0.057697 +v 0.276284 -0.479418 -0.001527 +v -0.211114 -0.475743 0.139207 +v -0.199135 -0.475737 0.146549 +v -0.108154 -0.472094 0.075302 +v -0.244178 -0.471045 0.832424 +v -0.244178 -0.471045 0.832424 +v -0.212990 -0.467921 0.126615 +v 0.133073 -0.464880 0.155591 +v 0.105557 -0.464577 0.138312 +v -0.217799 -0.464518 0.150689 +v -0.217799 -0.464518 0.150689 +v -0.204014 -0.464512 0.159137 +v -0.204014 -0.464512 0.159137 +v -0.434913 -0.464081 0.315227 +v -0.356935 -0.464081 0.390241 +v -0.427770 -0.464081 0.394532 +v 0.105951 -0.463304 0.133906 +v -0.212908 -0.460519 0.148256 +v -0.205001 -0.460515 0.153102 +v -0.202887 -0.460094 0.121365 +v -0.190907 -0.460088 0.128707 +v 0.173755 -0.457917 0.138312 +v 0.047579 -0.457113 0.133906 +v 0.159353 -0.457047 0.155591 +v 0.107224 -0.455824 0.157125 +v -0.219958 -0.455517 0.136198 +v -0.219958 -0.455517 0.136198 +v -0.192388 -0.455504 0.153095 +v -0.192388 -0.455504 0.153095 +v -0.214147 -0.455356 0.139944 +v -0.070189 -0.451504 0.045725 +v 0.173953 -0.451037 0.134033 +v -0.207478 -0.450190 0.136479 +v -0.199570 -0.450186 0.141325 +v -0.201125 -0.448590 0.140748 +v -0.208332 -0.446510 0.130157 +v -0.208332 -0.446510 0.130157 +v -0.194547 -0.446504 0.138605 +v -0.194547 -0.446504 0.138605 +v -0.318740 -0.440080 0.053435 +v -0.047985 -0.439589 0.043323 +v 0.235011 -0.439582 0.134033 +v -0.434913 -0.438596 0.315227 +v -0.356935 -0.438596 0.390241 +v -0.427770 -0.438596 0.394532 +v 0.136715 -0.438507 0.165099 +v -0.207289 -0.436671 0.059471 +v -0.207289 -0.436671 0.059471 +v -0.199633 -0.436491 0.106472 +v -0.238969 -0.435946 0.791554 +v 0.176025 -0.435316 0.157125 +v 0.146663 -0.434677 0.159163 +v -0.198346 -0.434496 0.078506 +v 0.091678 -0.433336 0.159608 +v 0.131609 -0.432074 0.174924 +v 0.143154 -0.431304 0.156346 +v -0.234814 -0.427737 0.185545 +v -0.234814 -0.427737 0.185545 +v -0.219608 -0.427730 0.194864 +v -0.219608 -0.427730 0.194864 +v -0.030851 -0.427450 0.002099 +v 0.139958 -0.425184 0.181631 +v 0.151504 -0.424414 0.163052 +v -0.229922 -0.423739 0.183113 +v -0.338018 -0.423677 0.053237 +v 0.136450 -0.421811 0.178814 +v 0.335532 -0.420725 -0.002659 +v 0.146398 -0.417981 0.172877 +v -0.237195 -0.417809 0.169562 +v -0.237195 -0.417809 0.169562 +v -0.206784 -0.417795 0.188200 +v -0.206784 -0.417795 0.188200 +v -0.231383 -0.417648 0.173308 +v -0.212728 -0.417640 0.184741 +v 0.131015 -0.417450 0.175660 +v 0.313096 -0.417097 0.085495 +v 0.143841 -0.413626 0.170259 +v -0.360678 -0.412731 0.014417 +v -0.216201 -0.412651 0.173401 +v -0.223516 -0.411554 0.169220 +v -0.214189 -0.411550 0.174937 +v 0.176722 -0.407987 0.159608 +v -0.224371 -0.407874 0.162898 +v -0.224371 -0.407874 0.162898 +v -0.209165 -0.407867 0.172217 +v -0.209165 -0.407867 0.172217 +v 0.311503 -0.407666 -0.002659 +v 0.121093 -0.407592 0.178361 +v 0.124789 -0.406490 0.184426 +v 0.092375 -0.406007 0.162091 +v 0.351016 -0.405795 0.085495 +v -0.219647 -0.404714 0.073808 +v 0.275775 -0.403953 0.085495 +v 0.143051 -0.401047 0.161494 +v 0.146747 -0.399945 0.167559 +v 0.329298 -0.398234 0.066195 +v 0.348591 -0.396695 -0.002659 +v -0.241861 -0.396403 0.202919 +v 0.024037 -0.395128 0.154833 +v 0.024037 -0.395128 0.154833 +v 0.123998 -0.393911 0.175660 +v -0.426738 -0.391170 0.484555 +v 0.315821 -0.390910 0.066195 +v 0.136825 -0.390087 0.170259 +v -0.223200 -0.389784 0.204686 +v 0.083348 -0.389559 0.148428 +v -0.411402 -0.389488 0.456599 +v -0.243762 -0.389084 0.193170 +v 0.268004 -0.387654 -0.002659 +v -0.429029 -0.386891 0.517152 +v -0.220544 -0.386856 0.152829 +v 0.161176 -0.385499 0.162091 +v 0.336623 -0.384757 0.066195 +v 0.109047 -0.384276 0.163625 +v 0.130917 -0.383064 0.152636 +v -0.225101 -0.382466 0.194937 +v -0.387130 -0.382297 0.440775 +v -0.235382 -0.382115 0.189179 +v 0.096051 -0.381670 0.128785 +v -0.230088 -0.378793 0.091297 +v 0.101109 -0.378134 -0.004393 +v -0.417661 -0.377799 0.545656 +v 0.177267 -0.377689 0.154924 +v 0.135327 -0.376442 0.163625 +v 0.280547 -0.375474 0.066195 +v 0.243663 -0.375185 -0.002659 +v 0.375049 -0.374362 0.085495 +v -0.176609 -0.373210 0.900818 +v -0.176609 -0.373210 0.900818 +v -0.319472 -0.371829 0.496722 +v -0.360427 -0.371523 0.441323 +v -0.360427 -0.371523 0.441323 +v 0.253308 -0.371383 0.085495 +v 0.042922 -0.368585 0.128785 +v 0.266895 -0.368481 0.066195 +v 0.182380 -0.367513 -0.004393 +v -0.177436 -0.367469 0.082313 +v 0.057472 -0.366839 -0.004393 +v -0.326164 -0.366707 0.475067 +v 0.238693 -0.366589 0.157797 +v 0.238693 -0.366589 0.157797 +v -0.395681 -0.366329 0.562428 +v -0.453264 -0.365226 0.440254 +v -0.328552 -0.365226 0.440254 +v 0.198565 -0.363244 0.128785 +v -0.228483 -0.362730 0.144168 +v -0.257343 -0.362493 0.234904 +v 0.075052 -0.361303 0.148428 +v -0.322270 -0.360971 0.501280 +v 0.037224 -0.360889 0.144772 +v 0.100281 -0.360500 -0.004393 +v -0.338447 -0.360053 0.458095 +v 0.095970 -0.359515 0.128785 +v -0.176609 -0.359250 0.848096 +v 0.022894 -0.359032 0.154833 +v 0.022894 -0.359032 0.154833 +v 0.373391 -0.357668 -0.002659 +v -0.328962 -0.355849 0.479625 +v -0.368978 -0.355555 0.562976 +v -0.236610 -0.355140 0.236868 +v 0.122523 -0.354845 0.152636 +v 0.273888 -0.354829 0.066195 +v 0.144384 -0.354426 0.128785 +v -0.259865 -0.353438 0.225234 +v 0.356243 -0.352888 0.066195 +v 0.139764 -0.351426 -0.004393 +v 0.093980 -0.351118 0.149178 +v -0.327079 -0.350961 0.486599 +v 0.256132 -0.350844 -0.002659 +v -0.243401 -0.350576 0.137634 +v -0.243401 -0.350576 0.137634 +v -0.140599 -0.350356 0.045689 +v -0.316348 -0.350083 0.473251 +v -0.307422 -0.348749 0.487407 +v -0.344706 -0.348364 0.547152 +v -0.322320 -0.347066 0.478987 +v -0.329370 -0.346682 0.519196 +v 0.197779 -0.346518 0.128785 +v -0.239133 -0.346084 0.227197 +v 0.169733 -0.346062 0.154924 +v -0.313394 -0.345731 0.493142 +v -0.250760 -0.345233 0.221380 +v 0.034755 -0.344658 0.149888 +v 0.034755 -0.344658 0.149888 +v 0.093361 -0.344161 0.144772 +v 0.182295 -0.344155 -0.004393 +v -0.301320 -0.340945 0.474375 +v -0.301320 -0.340945 0.474375 +v -0.305419 -0.340295 0.476550 +v -0.313931 -0.340125 0.464035 +v -0.313931 -0.340125 0.464035 +v 0.364432 -0.339918 0.066195 +v -0.313042 -0.339289 0.470052 +v -0.304843 -0.338568 0.483644 +v -0.118395 -0.338441 0.043288 +v -0.300395 -0.338232 0.485780 +v -0.300395 -0.338232 0.485780 +v -0.250402 -0.338065 0.042896 +v 0.161651 -0.336739 0.149178 +v -0.318446 -0.335895 0.475271 +v -0.322877 -0.335294 0.472893 +v -0.322877 -0.335294 0.472893 +v -0.310247 -0.335173 0.488864 +v 0.161260 -0.334844 0.144899 +v 0.376017 -0.334806 0.085495 +v 0.387992 -0.334543 -0.002659 +v -0.270722 -0.334248 0.267450 +v -0.309387 -0.333431 0.494623 +v -0.309387 -0.333431 0.494623 +v -0.320643 -0.332003 0.487932 +v -0.320643 -0.332003 0.487932 +v 0.254276 -0.331826 0.085495 +v 0.351462 -0.331729 0.066195 +v 0.058206 -0.330401 0.149888 +v -0.277106 -0.328473 0.277824 +v 0.216432 -0.328119 0.144899 +v 0.226012 -0.326800 0.157797 +v 0.226012 -0.326800 0.157797 +v -0.101261 -0.326303 0.002064 +v -0.248154 -0.326243 0.269588 +v 0.089083 -0.325584 0.149888 +v 0.089083 -0.325584 0.149888 +v -0.273795 -0.323654 0.257849 +v -0.312300 -0.323448 0.460510 +v 0.295893 -0.323178 0.066195 +v -0.320385 -0.323012 0.469524 +v -0.269680 -0.321661 0.042699 +v -0.444034 -0.320509 0.473706 +v 0.364867 -0.319941 -0.002659 +v -0.300993 -0.319833 0.468534 +v 0.087578 -0.319203 0.156351 +v 0.087578 -0.319203 0.156351 +v -0.431639 -0.319164 0.451021 +v -0.307735 -0.318939 0.488458 +v -0.248188 -0.318217 0.280563 +v -0.300092 -0.317875 0.479089 +v -0.445872 -0.317026 0.500172 +v 0.316681 -0.316982 0.066195 +v -0.251227 -0.315649 0.259986 +v 0.156860 -0.315354 0.150074 +v 0.156860 -0.315354 0.150074 +v -0.281152 -0.314653 0.265830 +v -0.264047 -0.314355 0.254117 +v -0.412011 -0.313353 0.438195 +v 0.284143 -0.311192 -0.002659 +v -0.292340 -0.310715 0.003878 +v 0.303189 -0.309686 0.066195 +v -0.436663 -0.309650 0.523326 +v 0.212467 -0.309309 0.150074 +v 0.212467 -0.309309 0.150074 +v -0.327300 -0.307523 0.466312 +v 0.117136 -0.306193 0.156351 +v 0.183450 -0.306128 0.150074 +v 0.154635 -0.305797 0.156351 +v 0.154635 -0.305797 0.156351 +v -0.390407 -0.304632 0.438664 +v -0.390407 -0.304632 0.438664 +v -0.252234 -0.304396 0.268569 +v -0.321016 -0.303958 0.456112 +v -0.268716 -0.302614 0.261203 +v 0.353550 -0.302235 0.085495 +v 0.278310 -0.300394 0.085495 +v -0.418873 -0.300357 0.536965 +v 0.321209 -0.300143 -0.002659 +v -0.309153 -0.299285 0.464178 +v -0.315653 -0.299264 0.484534 +v -0.339477 -0.295782 0.463620 +v -0.339477 -0.295782 0.463620 +v -0.372617 -0.295339 0.452303 +v -0.451661 -0.295335 0.469319 +v -0.439918 -0.294061 0.447825 +v -0.336953 -0.292064 0.480608 +v -0.336953 -0.292064 0.480608 +v -0.453403 -0.292035 0.494395 +v -0.336269 -0.291807 0.465214 +v -0.397269 -0.291636 0.537434 +v 0.316229 -0.289091 0.085495 +v -0.333510 -0.288895 0.450943 +v -0.333510 -0.288895 0.450943 +v -0.421320 -0.288555 0.435672 +v -0.363407 -0.287963 0.475458 +v 0.297152 -0.287135 -0.002659 +v -0.332869 -0.287078 0.457267 +v -0.369719 -0.286886 0.469766 +v -0.377640 -0.285825 0.524608 +v -0.444677 -0.285046 0.516333 +v -0.365246 -0.284480 0.501923 +v -0.434913 -0.282839 0.315227 +v -0.356935 -0.282839 0.390241 +v -0.427770 -0.282839 0.394532 +v -0.329726 -0.282446 0.478837 +v -0.351822 -0.281886 0.466983 +v -0.351822 -0.281886 0.466983 +v -0.328405 -0.281374 0.485313 +v -0.328405 -0.281374 0.485313 +v -0.373319 -0.280824 0.463280 +v -0.400850 -0.280292 0.436117 +v -0.400850 -0.280292 0.436117 +v -0.350648 -0.280157 0.474883 +v -0.327140 -0.278937 0.462623 +v -0.326285 -0.277722 0.470906 +v -0.351947 -0.276974 0.461263 +v -0.323707 -0.276657 0.459579 +v -0.323707 -0.276657 0.459579 +v -0.370365 -0.276471 0.483171 +v -0.427821 -0.276241 0.529257 +v 0.314397 -0.275944 -0.003610 +v 0.314397 -0.275944 0.061780 +v -0.322363 -0.274522 0.472659 +v -0.349579 -0.273411 0.477077 +v -0.383994 -0.271487 0.449040 +v -0.373965 -0.270408 0.476684 +v -0.375147 -0.270390 0.471478 +v -0.350569 -0.269455 0.465282 +v 0.312927 -0.268485 0.069521 +v -0.349658 -0.268478 0.471374 +v -0.407352 -0.267978 0.529701 +v -0.375268 -0.264498 0.470978 +v -0.388754 -0.262472 0.517548 +v -0.377010 -0.261198 0.496054 +v -0.079641 -0.259379 0.048261 +v 0.001775 -0.259379 0.048261 +v 0.261248 -0.259379 0.048261 +v 0.117195 -0.259379 0.056181 +v -0.434913 -0.257355 0.315227 +v -0.356935 -0.257355 0.390241 +v -0.427770 -0.257355 0.394532 +v -0.447635 -0.254362 0.656174 +v -0.417421 -0.254362 0.656174 +v -0.417421 -0.254362 0.656174 +v -0.163346 -0.249407 -0.003610 +v -0.163346 -0.249407 0.061781 +v -0.417421 -0.248290 0.649664 +v -0.448569 -0.247081 0.737319 +v -0.411461 -0.247081 0.737319 +v -0.156995 -0.245228 0.069521 +v -0.417421 -0.245183 0.717619 +v -0.448328 -0.242399 0.181010 +v -0.209010 -0.242399 0.181010 +v -0.209010 -0.242399 0.181010 +v -0.453264 -0.225458 0.446857 +v -0.453264 -0.225458 0.446857 +v -0.328552 -0.225458 0.446857 +v -0.328552 -0.225458 0.446857 +v -0.209010 -0.221641 -0.000076 +v 0.224384 -0.215578 -0.003610 +v 0.224384 -0.215578 0.061780 +v 0.231843 -0.214108 0.069521 +v -0.417421 -0.213995 0.684178 +v -0.409266 -0.202253 0.447416 +v -0.448569 -0.200853 0.608645 +v -0.411461 -0.200853 0.608645 +v -0.408631 -0.197887 0.343416 +v -0.236799 -0.195177 0.159738 +v -0.073372 -0.192034 0.042900 +v -0.144132 -0.191441 0.042900 +v 0.354864 -0.190810 0.048261 +v 0.284112 -0.189577 0.048261 +v -0.079641 -0.188616 0.048261 +v 0.001775 -0.188616 0.048261 +v 0.261248 -0.188616 0.048261 +v 0.117195 -0.188616 0.056181 +v -0.418841 -0.187839 0.155999 +v -0.418841 -0.185604 0.619447 +v -0.418841 -0.183765 0.405468 +v -0.337435 -0.176479 0.329128 +v -0.337435 -0.176479 0.329128 +v -0.448569 -0.173571 0.699646 +v -0.411461 -0.173571 0.699646 +v -0.337435 -0.173274 0.293854 +v -0.573651 -0.172251 0.629386 +v -0.447121 -0.172251 0.629386 +v -0.448569 -0.170962 0.670042 +v -0.411461 -0.170962 0.670042 +v -0.041661 -0.169327 0.069521 +v -0.456184 -0.167725 0.421160 +v -0.448569 -0.166506 0.772849 +v -0.411461 -0.166506 0.772849 +v -0.035310 -0.165147 -0.003610 +v -0.035310 -0.165147 0.061781 +v -0.456184 -0.164699 0.373593 +v -0.331314 -0.162781 0.326087 +v -0.337435 -0.158964 0.259908 +v -0.573651 -0.158077 -0.000154 +v -0.355117 -0.150433 0.373239 +v -0.320009 -0.150433 0.373239 +v -0.418841 -0.150307 0.407394 +v -0.137278 -0.149610 0.069521 +v -0.408631 -0.146232 0.350403 +v -0.418841 -0.144497 0.155600 +v -0.418841 -0.144312 0.623881 +v -0.349879 -0.143295 0.321760 +v -0.324990 -0.143295 0.321760 +v -0.324990 -0.143295 0.321760 +v -0.141458 -0.143260 -0.003610 +v -0.141458 -0.143260 0.061781 +v -0.469867 -0.141213 0.540531 +v -0.355117 -0.140534 0.395124 +v -0.320009 -0.140534 0.395124 +v -0.337435 -0.140354 0.244318 +v -0.448569 -0.140056 0.718761 +v -0.411461 -0.140056 0.718761 +v -0.353414 -0.139709 0.314261 +v -0.321455 -0.139709 0.314261 +v -0.321455 -0.139709 0.314261 +v -0.458937 -0.139254 0.534948 +v -0.353511 -0.138527 0.366454 +v -0.321615 -0.138527 0.366454 +v -0.409266 -0.138009 0.440060 +v -0.337563 -0.135585 0.406067 +v 0.286220 -0.133024 0.069521 +v -0.478152 -0.132373 0.540567 +v -0.353511 -0.131133 0.386968 +v -0.321615 -0.131133 0.386968 +v -0.337563 -0.127435 0.397225 +v 0.284750 -0.125565 -0.003610 +v 0.284750 -0.125565 0.061780 +v -0.394483 -0.125277 0.215549 +v -0.394483 -0.125277 0.215549 +v -0.274017 -0.124209 0.215549 +v -0.274017 -0.124209 0.215549 +v -0.459996 -0.122619 0.560762 +v -0.457890 -0.122242 0.559687 +v -0.448569 -0.121763 0.661191 +v -0.411461 -0.121763 0.661191 +v -0.475506 -0.121575 0.535020 +v -0.461784 -0.121221 0.560131 +v -0.325500 -0.121004 0.215549 +v -0.337563 -0.120799 0.345554 +v -0.337563 -0.120799 0.345554 +v -0.464576 -0.119615 0.529437 +v -0.461465 -0.119445 0.558424 +v -0.352729 -0.119152 0.356044 +v -0.352729 -0.119152 0.356044 +v -0.322398 -0.119152 0.356044 +v -0.322398 -0.119152 0.356044 +v -0.459359 -0.119068 0.557348 +v -0.346812 -0.118510 0.360137 +v -0.328314 -0.118510 0.360136 +v -0.330610 -0.116841 0.347841 +v -0.346812 -0.116500 0.372933 +v -0.328314 -0.116500 0.372933 +v -0.337435 -0.116048 0.234843 +v -0.352729 -0.115858 0.377025 +v -0.352729 -0.115858 0.377025 +v -0.322398 -0.115858 0.377025 +v -0.322398 -0.115858 0.377025 +v -0.337563 -0.115496 0.379331 +v -0.337563 -0.114210 0.387516 +v -0.337563 -0.114210 0.387516 +v 0.089122 -0.114174 0.217740 +v 0.356283 -0.109406 0.048261 +v 0.285531 -0.108173 0.048261 +v -0.361301 -0.100242 0.332992 +v -0.313826 -0.100242 0.332992 +v 0.163156 -0.099699 0.216267 +v -0.343686 -0.092311 0.377306 +v -0.332030 -0.092311 0.377306 +v -0.347241 -0.089578 0.401930 +v -0.328476 -0.089578 0.401930 +v 0.092303 -0.087916 0.215465 +v -0.337435 -0.085052 0.239781 +v -0.361301 -0.084424 0.370030 +v -0.313826 -0.084424 0.370030 +v -0.353414 -0.083704 0.292965 +v -0.321455 -0.083704 0.292965 +v -0.321455 -0.083704 0.292965 +v -0.326202 -0.082855 0.371622 +v -0.386786 -0.082836 0.199666 +v -0.281039 -0.082836 0.199666 +v 0.020675 -0.082593 0.214527 +v -0.325500 -0.082481 0.206902 +v 0.150239 -0.080368 0.174433 +v -0.330610 -0.076846 0.325114 +v -0.273006 -0.076783 0.206902 +v -0.273006 -0.076783 0.206902 +v 0.150239 -0.076588 0.214313 +v 0.150239 -0.076588 0.214313 +v -0.337563 -0.075774 0.317737 +v -0.337563 -0.075774 0.317737 +v -0.319093 -0.073770 0.394205 +v -0.324990 -0.073597 0.275141 +v -0.343686 -0.073398 0.365938 +v -0.332030 -0.073398 0.365938 +v -0.395157 -0.073222 0.206902 +v -0.395157 -0.073222 0.206902 +v -0.322398 -0.070233 0.326274 +v -0.322398 -0.070233 0.326274 +v -0.352729 -0.070233 0.326274 +v -0.352729 -0.070233 0.326274 +v -0.346812 -0.068071 0.329605 +v -0.328314 -0.068071 0.329605 +v 0.141871 -0.067865 0.267983 +v 0.038739 -0.063202 0.212951 +v 0.168646 -0.062247 0.267170 +v -0.346812 -0.061313 0.340018 +v -0.328314 -0.061313 0.340018 +v -0.343555 -0.059984 0.266330 +v -0.331314 -0.059984 0.266330 +v -0.331314 -0.059984 0.266330 +v -0.352729 -0.059151 0.343349 +v -0.352729 -0.059151 0.343349 +v -0.322398 -0.059151 0.343349 +v -0.322398 -0.059151 0.343349 +v -0.347241 -0.057963 0.386481 +v -0.328476 -0.057963 0.386481 +v -0.337563 -0.057934 0.345225 +v -0.337435 -0.055125 0.252007 +v -0.337435 -0.055125 0.252007 +v -0.322968 -0.054386 0.270191 +v -0.322968 -0.054386 0.270191 +v -0.337563 -0.053610 0.351886 +v -0.337563 -0.053610 0.351886 +v -0.322968 -0.052750 0.301897 +v -0.322968 -0.052750 0.301897 +v -0.321874 -0.051569 0.191459 +v -0.326348 -0.048713 0.277540 +v -0.072165 -0.047986 0.042900 +v 0.123871 -0.047969 0.273397 +v -0.142925 -0.047393 0.042900 +v -0.326325 -0.045416 0.231339 +v 0.214498 -0.044695 0.210672 +v -0.348386 -0.038814 0.305780 +v -0.326740 -0.038814 0.305780 +v 0.177422 -0.036733 0.271772 +v 0.190417 -0.033544 0.209934 +v -0.348386 -0.032710 0.319273 +v -0.326740 -0.032710 0.319273 +v -0.326325 -0.030656 0.230408 +v -0.337563 -0.029659 0.326020 +v 0.135999 -0.029571 0.151956 +v -0.434423 -0.026875 0.437641 +v 0.152199 -0.026172 0.151464 +v -0.445048 -0.025567 0.484215 +v -0.564585 -0.025189 0.484996 +v -0.326348 -0.025067 0.277540 +v -0.448282 -0.023882 0.507913 +v -0.561014 -0.023528 0.508837 +v -0.426600 -0.021946 0.394045 +v -0.426600 -0.021946 0.394045 +v -0.321874 -0.021273 0.189244 +v -0.454235 -0.020678 0.529610 +v -0.554436 -0.020371 0.530419 +v -0.322968 -0.019309 0.274988 +v -0.322968 -0.019309 0.274988 +v 0.125108 -0.017533 0.155232 +v -0.463093 -0.017464 0.548734 +v -0.545012 -0.017201 0.549451 +v -0.016041 -0.017018 0.207856 +v 0.159422 -0.016837 0.277186 +v -0.474635 -0.015181 0.564200 +v -0.533123 -0.014989 0.564771 +v -0.380872 -0.014709 0.191148 +v -0.487893 -0.014072 0.574195 +v -0.518949 -0.013936 0.574853 +v -0.503183 -0.013678 0.578140 +v -0.322968 -0.013537 0.288986 +v -0.322968 -0.013537 0.288986 +v 0.010006 -0.011885 0.207730 +v 0.157509 -0.010735 0.154248 +v -0.276384 -0.008655 0.191148 +v -0.346776 -0.006534 0.294361 +v -0.328351 -0.006534 0.294361 +v -0.438617 -0.006191 0.381588 +v -0.425094 -0.005993 0.384050 +v -0.425094 -0.005993 0.384050 +v -0.346776 -0.003103 0.306540 +v -0.328351 -0.003103 0.306540 +v -0.337563 -0.001388 0.312629 +v -0.448569 -0.000534 0.687263 +v -0.411461 -0.000534 0.687263 +v -0.176609 0.000000 0.920199 +v -0.448569 0.000381 0.754349 +v -0.411461 0.000381 0.754349 +v 0.146618 0.001303 0.157524 +v -0.573651 0.001530 0.713748 +v -0.447121 0.001530 0.713748 +v -0.502162 0.005192 0.577600 +v -0.486844 0.005319 0.573640 +v -0.517902 0.005407 0.574299 +v -0.473494 0.005911 0.563596 +v 0.358295 0.005996 0.058608 +v -0.531981 0.006112 0.564167 +v 0.287543 0.007230 0.058608 +v -0.461744 0.007451 0.548021 +v -0.543663 0.007734 0.548737 +v -0.452587 0.009780 0.528738 +v -0.552785 0.010139 0.529545 +v -0.427058 0.010334 0.393120 +v -0.427058 0.010334 0.393120 +v -0.446340 0.012005 0.506886 +v -0.559070 0.012401 0.507808 +v -0.442980 0.012645 0.483121 +v -0.562516 0.013054 0.483901 +v -0.435045 0.016967 0.436385 +v -0.349478 0.019621 0.285460 +v -0.325649 0.019621 0.285460 +v -0.349478 0.022175 0.301950 +v -0.325649 0.022175 0.301950 +v -0.337563 0.023452 0.310195 +v 0.197491 0.024774 0.204001 +v 0.223538 0.029827 0.203090 +v -0.281929 0.036991 0.190067 +v -0.386786 0.043401 0.190067 +v -0.322968 0.044584 0.244861 +v -0.322968 0.044584 0.244861 +v -0.322968 0.046407 0.268930 +v -0.322968 0.046407 0.268930 +v 0.017080 0.046433 0.201797 +v 0.017080 0.046433 0.201797 +v -0.321874 0.048453 0.190311 +v -0.326348 0.048498 0.251539 +v -0.347898 0.050474 0.281229 +v -0.327229 0.050474 0.281229 +v -0.337563 0.051528 0.267524 +v -0.337563 0.051528 0.267524 +v -0.347898 0.052690 0.295533 +v -0.327229 0.052690 0.295533 +v -0.352161 0.052928 0.277678 +v -0.352161 0.052928 0.277678 +v -0.322966 0.052928 0.277678 +v -0.322966 0.052928 0.277678 +v -0.337563 0.053798 0.302685 +v -0.352120 0.055725 0.297919 +v -0.352120 0.055725 0.297919 +v -0.323006 0.055725 0.297919 +v -0.323006 0.055725 0.297919 +v -0.337563 0.057120 0.307988 +v -0.337563 0.057120 0.307988 +v -0.007001 0.057504 0.200274 +v -0.007001 0.057504 0.200274 +v -0.326325 0.059011 0.224149 +v -0.071197 0.067430 0.057953 +v -0.141957 0.068023 0.057953 +v -0.326325 0.075773 0.223588 +v 0.168759 0.076091 0.198780 +v -0.321874 0.077050 0.194269 +v -0.326348 0.080353 0.249187 +v -0.272669 0.084176 0.206902 +v -0.272669 0.084176 0.206902 +v -0.393471 0.085244 0.206902 +v -0.393471 0.085244 0.206902 +v -0.322968 0.087109 0.262334 +v -0.322968 0.087109 0.262334 +v -0.322968 0.088392 0.247061 +v -0.322968 0.088392 0.247061 +v -0.331039 0.088806 0.206902 +v -0.386786 0.088875 0.199176 +v -0.281039 0.088875 0.199176 +v 0.057258 0.089477 0.197418 +v -0.349750 0.092754 0.271268 +v -0.325376 0.092754 0.271268 +v -0.325404 0.095138 0.288162 +v -0.349723 0.095138 0.288162 +v 0.186822 0.095402 0.196419 +v -0.337563 0.096328 0.296573 +v -0.121540 0.097689 -0.003610 +v -0.121540 0.097689 0.061781 +v 0.115195 0.100805 0.196266 +v 0.309342 0.100858 -0.003610 +v 0.309342 0.100858 0.061780 +v -0.119337 0.104966 0.069521 +v -0.462961 0.107048 0.552048 +v -0.465067 0.107425 0.553124 +v -0.468179 0.107595 0.524136 +v 0.309270 0.108460 0.069521 +v -0.465386 0.109201 0.554831 +v -0.479109 0.109555 0.529720 +v -0.461493 0.110222 0.554386 +v -0.463599 0.110599 0.555462 +v 0.044341 0.112508 0.194678 +v -0.333398 0.119893 0.213027 +v -0.481754 0.120353 0.535266 +v -0.448569 0.121505 0.652002 +v -0.411461 0.121505 0.652002 +v -0.397516 0.124879 0.213027 +v -0.397516 0.124879 0.213027 +v -0.409266 0.125617 0.440177 +v 0.118375 0.126983 0.193206 +v -0.274354 0.127016 0.213027 +v -0.274354 0.127016 0.213027 +v -0.462539 0.127234 0.529647 +v -0.473469 0.129193 0.535231 +v -0.337563 0.130993 0.243671 +v -0.337563 0.130993 0.243671 +v -0.357530 0.132978 0.257537 +v -0.357530 0.132978 0.257537 +v -0.317597 0.132978 0.257536 +v -0.317597 0.132978 0.257536 +v -0.420734 0.133152 0.158119 +v -0.408631 0.133840 0.350520 +v -0.337563 0.134184 0.252177 +v -0.448569 0.135465 0.729690 +v -0.411461 0.135465 0.729690 +v -0.351127 0.135638 0.261564 +v -0.323999 0.135638 0.261564 +v -0.317635 0.136945 0.285207 +v -0.317635 0.136945 0.285207 +v -0.357492 0.136945 0.285207 +v -0.357492 0.136945 0.285207 +v -0.351127 0.138546 0.280338 +v -0.323999 0.138546 0.280338 +v -0.337563 0.138924 0.298993 +v -0.337563 0.138924 0.298993 +v -0.420734 0.139397 0.623881 +v -0.420734 0.144015 0.400649 +v -0.059301 0.148140 0.048261 +v -0.025980 0.148824 -0.003610 +v -0.025980 0.148824 0.061781 +v -0.070515 0.148843 0.042900 +v -0.141275 0.149436 0.042900 +v 0.360806 0.150027 0.048261 +v 0.084736 0.150214 0.054316 +v -0.337563 0.150965 0.238514 +v -0.337563 0.150965 0.238514 +v -0.337563 0.150965 0.238514 +v -0.033257 0.151028 0.069521 +v 0.290054 0.151260 0.048261 +v -0.573651 0.151382 -0.000154 +v 0.200144 0.151877 0.048261 +v 0.281552 0.153049 0.048261 +v -0.357733 0.153127 0.252472 +v -0.357733 0.153127 0.252472 +v -0.357733 0.153127 0.252472 +v -0.317393 0.153127 0.252472 +v -0.317393 0.153127 0.252472 +v -0.317393 0.153127 0.252472 +v -0.357733 0.157451 0.280389 +v -0.357733 0.157451 0.280389 +v -0.357733 0.157451 0.280389 +v -0.317393 0.157451 0.280389 +v -0.317393 0.157451 0.280389 +v -0.317393 0.157451 0.280389 +v -0.456184 0.158984 0.385251 +v -0.337563 0.159613 0.294348 +v -0.337563 0.159613 0.294348 +v -0.456184 0.159770 0.416030 +v -0.337563 0.162246 0.244616 +v -0.351836 0.163776 0.254493 +v -0.323290 0.163776 0.254493 +v -0.573651 0.164474 0.619081 +v -0.447121 0.164474 0.619081 +v -0.351836 0.166836 0.274248 +v -0.323290 0.166836 0.274248 +v -0.448569 0.168495 0.670555 +v -0.411461 0.168495 0.670555 +v -0.448569 0.170319 0.699099 +v -0.411461 0.170319 0.699099 +v -0.420734 0.171165 0.398454 +v 0.231977 0.176759 -0.003610 +v 0.231977 0.176759 0.061780 +v -0.420734 0.176813 0.158518 +v 0.239579 0.176832 0.069521 +v 0.377641 0.178151 0.069521 +v 0.385244 0.178223 -0.003610 +v 0.385244 0.178223 0.061780 +v -0.420734 0.180689 0.619447 +v -0.448569 0.183746 0.775239 +v -0.411461 0.183746 0.775239 +v -0.408631 0.185495 0.343534 +v -0.236799 0.187208 0.160356 +v -0.409266 0.189861 0.447533 +v -0.448569 0.202230 0.614738 +v -0.411461 0.202230 0.614738 +v -0.209010 0.214239 -0.000076 +v -0.417421 0.216328 0.692649 +v -0.060320 0.218895 0.048261 +v 0.083717 0.220970 0.054316 +v 0.199125 0.222632 0.048261 +v 0.280533 0.223804 0.048261 +v -0.453264 0.231556 0.439620 +v -0.453264 0.231556 0.439620 +v -0.328552 0.231556 0.439620 +v -0.328552 0.231556 0.439620 +v -0.448328 0.234996 0.181010 +v -0.209010 0.234996 0.181010 +v -0.209010 0.234996 0.181010 +v -0.079319 0.237108 0.069521 +v -0.077115 0.244384 -0.003610 +v -0.077115 0.244384 0.061781 +v -0.417421 0.247516 0.726090 +v -0.369223 0.249701 0.539975 +v -0.434913 0.250185 0.331001 +v -0.356935 0.250185 0.392889 +v -0.427770 0.250185 0.396429 +v -0.448569 0.250444 0.747076 +v -0.411461 0.250444 0.747076 +v -0.360410 0.250475 0.102648 +v -0.417421 0.250623 0.658135 +v -0.447635 0.256695 0.664645 +v -0.417421 0.256695 0.664645 +v -0.417421 0.256695 0.664645 +v -0.388293 0.257418 0.602502 +v -0.384375 0.266441 0.538006 +v -0.370636 0.267443 0.545475 +v -0.403129 0.274433 0.585444 +v -0.350460 0.275970 0.503023 +v -0.394160 0.276745 0.592785 +v -0.434913 0.277542 0.331001 +v -0.356935 0.277542 0.392889 +v -0.427770 0.277542 0.396429 +v -0.373184 0.283125 0.503630 +v -0.361731 0.286772 0.514832 +v 0.184580 0.289839 0.008489 +v -0.340449 0.293949 0.473544 +v -0.446095 0.294556 0.102648 +v -0.429935 0.294774 0.652229 +v -0.411003 0.302276 0.649562 +v -0.411003 0.302276 0.649562 +v -0.358251 0.303948 0.477395 +v -0.344513 0.304950 0.484864 +v -0.418078 0.308704 0.626391 +v -0.418078 0.308704 0.626391 +v -0.404339 0.309706 0.633860 +v -0.404339 0.309706 0.633860 +v 0.133519 0.325597 0.055359 +v 0.133519 0.325597 0.055359 +v -0.412666 0.335410 0.652529 +v 0.129778 0.337160 0.151157 +v 0.129778 0.337160 0.151157 +v -0.337195 0.340276 0.445303 +v -0.416400 0.342731 0.626770 +v -0.358985 0.343152 0.458250 +v -0.402661 0.343732 0.634239 +v -0.345247 0.344154 0.465719 +v 0.115625 0.346246 0.054439 +v 0.115625 0.346246 0.131554 +v -0.176609 0.359250 0.848096 +v -0.453264 0.361479 0.434151 +v -0.328552 0.361479 0.434151 +v -0.409818 0.365747 0.641387 +v -0.409818 0.365747 0.641387 +v -0.411237 0.365796 0.663236 +v -0.411237 0.365796 0.663236 +v -0.424311 0.368196 0.639710 +v -0.424311 0.368196 0.639710 +v -0.437540 0.370240 0.660192 +v -0.370268 0.373002 0.542059 +v -0.176609 0.373210 0.900818 +v -0.176609 0.373210 0.900818 +v -0.374701 0.375703 0.553807 +v -0.266479 0.398144 0.055359 +v -0.266479 0.398144 0.055359 +v -0.351293 0.400130 0.470936 +v -0.337555 0.401132 0.478405 +v -0.260499 0.407943 0.151157 +v -0.260499 0.407943 0.151157 +v -0.249346 0.412439 0.054440 +v -0.249346 0.412439 0.131554 +v -0.329714 0.412834 0.460264 +v -0.409958 0.416769 0.618384 +v -0.396219 0.417771 0.625853 +v -0.401163 0.427555 0.639222 +v -0.434913 0.435082 0.331001 +v -0.356935 0.435082 0.392889 +v -0.427770 0.435082 0.396429 +v -0.361022 0.435885 0.499096 +v -0.347283 0.436886 0.506565 +v -0.395875 0.438057 0.585830 +v -0.382137 0.439059 0.593298 +v -0.151840 0.442825 0.176347 +v -0.151840 0.442825 0.176347 +v -0.242863 0.446929 0.784232 +v -0.376749 0.448804 0.544444 +v -0.342704 0.449744 0.496645 +v -0.363011 0.449805 0.551913 +v -0.383103 0.454857 0.597471 +v -0.239245 0.458678 0.193445 +v -0.239245 0.458678 0.193445 +v -0.434913 0.462431 0.331001 +v -0.356935 0.462431 0.392889 +v -0.427770 0.462431 0.396429 +v -0.361655 0.465788 0.550345 +v -0.244261 0.482028 0.825101 +v -0.244261 0.482028 0.825101 +v -0.453264 0.493882 0.439599 +v -0.453264 0.493882 0.439599 +v -0.328552 0.493882 0.439599 +v -0.328552 0.493882 0.439599 +v -0.292662 0.504722 0.452463 +v -0.292662 0.504722 0.543283 +v -0.301727 0.514091 0.429362 +v -0.301727 0.514091 0.566384 +v -0.389896 0.527909 0.140847 +v -0.458150 0.531147 0.366718 +v -0.315313 0.531147 0.366718 +v -0.443810 0.533656 0.140847 +v -0.335982 0.533656 0.140847 +v -0.290416 0.544425 0.729348 +v -0.490319 0.564554 0.140847 +v -0.289472 0.564554 0.140847 +v 0.177965 0.566483 0.151157 +v 0.177965 0.566483 0.151157 +v 0.118020 0.567224 0.074088 +v -0.125064 0.570251 0.176347 +v -0.125064 0.570251 0.176347 +v -0.334654 0.573301 0.608309 +v 0.186922 0.579744 0.055359 +v 0.186922 0.579744 0.055359 +v -0.315313 0.581021 0.366718 +v -0.321318 0.581021 0.497917 +v -0.212470 0.586103 0.193445 +v -0.212470 0.586103 0.193445 +v -0.224316 0.589008 0.348718 +v -0.178647 0.590517 0.303093 +v -0.179534 0.594046 0.298478 +v -0.030698 0.594196 0.074088 +v -0.172703 0.596556 0.307707 +v -0.177007 0.598830 0.298478 +v -0.173591 0.600085 0.303093 +v -0.234249 0.610135 0.330738 +v -0.188148 0.617535 0.366699 +v -0.273208 0.625179 0.140847 +v -0.204283 0.626893 0.054440 +v -0.204283 0.626893 0.131554 +v -0.221131 0.634962 0.330738 +v 0.121516 0.635767 0.058063 +v -0.212311 0.637266 0.151157 +v -0.212311 0.637266 0.151157 +v 0.111844 0.637521 -0.003114 +v -0.198080 0.638663 0.348718 +v 0.134023 0.643383 0.076372 +v 0.134023 0.643383 0.076372 +v -0.213076 0.652290 0.055359 +v -0.213076 0.652290 0.055359 +v 0.003482 0.657175 -0.003114 +v -0.006190 0.658929 0.058063 +v -0.014695 0.670356 0.076372 +v -0.014695 0.670356 0.076372 +v -0.328648 0.699983 0.338447 +v -0.318654 0.700484 0.140847 +v -0.294027 0.701718 0.921101 +v -0.489845 0.712765 0.140744 +v -0.289947 0.712765 0.140847 +v -0.289947 0.712765 0.140847 +v -0.575491 0.739535 0.001923 +v -0.575491 0.739535 0.001923 +v -0.114645 0.739535 0.001923 +v 0.319177 0.739535 0.001923 +v 0.741905 0.739535 0.001923 +v 0.741905 0.739535 0.001923 +vt 0.198708 0.637534 +vt 0.234555 0.810452 +vt 0.237885 0.660782 +vt 0.156512 0.657538 +vt 0.157310 0.809737 +vt 0.032586 0.305514 +vt 0.138994 0.214943 +vt 0.032703 0.214805 +vt 0.344498 0.305514 +vt 0.344615 0.215210 +vt 0.226915 0.215057 +vt 0.344863 0.024180 +vt 0.227035 0.122413 +vt 0.344735 0.122566 +vt 0.555366 0.620808 +vt 0.525425 0.621990 +vt 0.545979 0.640150 +vt 0.555366 0.620808 +vt 0.545979 0.640150 +vt 0.525425 0.621990 +vt 0.703497 0.632040 +vt 0.703766 0.644967 +vt 0.709725 0.620711 +vt 0.751722 0.631037 +vt 0.745762 0.655292 +vt 0.751990 0.643963 +vt 0.408401 0.317210 +vt 0.426405 0.315345 +vt 0.390399 0.315345 +vt 0.408401 0.317210 +vt 0.426405 0.315345 +vt 0.390399 0.315345 +vt 0.408393 0.317216 +vt 0.426397 0.315351 +vt 0.390392 0.315351 +vt 0.627038 0.072824 +vt 0.629668 0.078340 +vt 0.650736 0.078532 +vt 0.675500 0.071756 +vt 0.672445 0.078298 +vt 0.600993 0.074672 +vt 0.579813 0.068877 +vt 0.582426 0.074473 +vt 0.621262 0.069791 +vt 0.619012 0.074508 +vt 0.627038 0.072824 +vt 0.629668 0.078340 +vt 0.650736 0.078532 +vt 0.675500 0.071756 +vt 0.672445 0.078298 +vt 0.600993 0.074672 +vt 0.579813 0.068877 +vt 0.582426 0.074473 +vt 0.621262 0.069791 +vt 0.619012 0.074508 +vt 0.627038 0.072824 +vt 0.650736 0.078532 +vt 0.629668 0.078340 +vt 0.675500 0.071756 +vt 0.672445 0.078298 +vt 0.600993 0.074672 +vt 0.582426 0.074473 +vt 0.579813 0.068877 +vt 0.621262 0.069791 +vt 0.619012 0.074508 +vt 0.220644 0.128904 +vt 0.207065 0.139746 +vt 0.220956 0.139618 +vt 0.220638 0.128912 +vt 0.220949 0.139623 +vt 0.207062 0.139750 +vt 0.220644 0.128904 +vt 0.207065 0.139746 +vt 0.220956 0.139618 +vt 0.220638 0.128912 +vt 0.220949 0.139623 +vt 0.207062 0.139750 +vt 0.220644 0.128904 +vt 0.207065 0.139746 +vt 0.220956 0.139618 +vt 0.220644 0.128904 +vt 0.220956 0.139618 +vt 0.207065 0.139746 +vt 0.220644 0.128904 +vt 0.207065 0.139746 +vt 0.220956 0.139618 +vt 0.220644 0.128904 +vt 0.220956 0.139618 +vt 0.207065 0.139746 +vt 0.949122 0.597231 +vt 0.955406 0.598935 +vt 0.961638 0.596347 +vt 0.961430 0.578168 +vt 0.955147 0.576465 +vt 0.948914 0.579054 +vt 0.949123 0.597232 +vt 0.955406 0.598935 +vt 0.961638 0.596348 +vt 0.961430 0.578168 +vt 0.955147 0.576465 +vt 0.948914 0.579054 +vt 0.860312 0.451857 +vt 0.874741 0.453387 +vt 0.868700 0.443409 +vt 0.537019 0.284964 +vt 0.536350 0.273283 +vt 0.546464 0.281809 +vt 0.537019 0.284964 +vt 0.536350 0.273283 +vt 0.546464 0.281809 +vt 0.537019 0.284964 +vt 0.546464 0.281809 +vt 0.536350 0.273283 +vt 0.204156 0.857615 +vt 0.271518 0.856214 +vt 0.271518 0.901396 +vt 0.204156 0.899995 +vt 0.010645 0.858310 +vt 0.204156 0.857615 +vt 0.204156 0.899995 +vt 0.010645 0.899297 +vt 0.204156 0.857615 +vt 0.010645 0.858310 +vt 0.010645 0.899297 +vt 0.204156 0.899995 +vt 0.008767 0.853584 +vt 0.152514 0.854868 +vt 0.147622 0.650113 +vt 0.012735 0.644234 +vt 0.147622 0.650113 +vt 0.152514 0.854868 +vt 0.008767 0.853584 +vt 0.012735 0.644234 +vt 0.059247 0.588517 +vt 0.087227 0.575408 +vt 0.204111 0.622597 +vt 0.204330 0.573554 +vt 0.087227 0.575408 +vt 0.009995 0.569599 +vt 0.316824 0.570065 +vt 0.316985 0.334568 +vt 0.010155 0.334103 +vt 0.566967 0.211539 +vt 0.566967 0.239347 +vt 0.629407 0.242384 +vt 0.629108 0.214280 +vt 0.705424 0.239521 +vt 0.705742 0.213331 +vt 0.773908 0.241927 +vt 0.774203 0.215096 +vt 0.822129 0.240247 +vt 0.822129 0.214523 +vt 0.514444 0.402537 +vt 0.514444 0.415372 +vt 0.526844 0.415372 +vt 0.526844 0.402537 +vt 0.551999 0.402537 +vt 0.551999 0.415372 +vt 0.564669 0.415372 +vt 0.564669 0.402537 +vt 0.481995 0.432843 +vt 0.471706 0.449305 +vt 0.481995 0.454792 +vt 0.492285 0.449305 +vt 0.492285 0.438331 +vt 0.627840 0.440285 +vt 0.649325 0.454437 +vt 0.638135 0.450043 +vt 0.627840 0.440285 +vt 0.638135 0.450043 +vt 0.649325 0.454437 +vt 0.587934 0.407259 +vt 0.582871 0.420766 +vt 0.588185 0.439122 +vt 0.595805 0.411663 +vt 0.582871 0.420766 +vt 0.576238 0.424739 +vt 0.583448 0.435461 +vt 0.588185 0.439122 +vt 0.645320 0.565656 +vt 0.663068 0.565657 +vt 0.663068 0.557037 +vt 0.628080 0.565656 +vt 0.645320 0.565656 +vt 0.645320 0.557037 +vt 0.611505 0.565656 +vt 0.628080 0.565656 +vt 0.628080 0.557037 +vt 0.611503 0.557037 +vt 0.595075 0.565662 +vt 0.611505 0.565656 +vt 0.611503 0.557037 +vt 0.595073 0.557045 +vt 0.579433 0.565670 +vt 0.595075 0.565662 +vt 0.595073 0.557045 +vt 0.579431 0.557052 +vt 0.663068 0.565657 +vt 0.682203 0.565656 +vt 0.682203 0.557036 +vt 0.663068 0.557037 +vt 0.680069 0.478679 +vt 0.687342 0.468265 +vt 0.658207 0.468260 +vt 0.665470 0.478685 +vt 0.665506 0.457893 +vt 0.680029 0.457886 +vt 0.616080 0.372041 +vt 0.619967 0.373248 +vt 0.622910 0.364541 +vt 0.619586 0.360479 +vt 0.576422 0.367054 +vt 0.572607 0.369039 +vt 0.574931 0.380349 +vt 0.579220 0.380289 +vt 0.618617 0.383510 +vt 0.573607 0.390062 +vt 0.578360 0.393861 +vt 0.614474 0.383641 +vt 0.615443 0.396067 +vt 0.620348 0.393075 +vt 0.619586 0.360479 +vt 0.619967 0.373248 +vt 0.616080 0.372041 +vt 0.573305 0.354868 +vt 0.576423 0.367054 +vt 0.572607 0.369039 +vt 0.569637 0.359136 +vt 0.618617 0.383510 +vt 0.614475 0.383641 +vt 0.579220 0.380289 +vt 0.574931 0.380349 +vt 0.620348 0.393075 +vt 0.615443 0.396067 +vt 0.578360 0.393861 +vt 0.573607 0.390062 +vt 0.573306 0.354868 +vt 0.569637 0.359136 +vt 0.595079 0.577424 +vt 0.611505 0.565656 +vt 0.595075 0.565662 +vt 0.611507 0.577419 +vt 0.628080 0.577419 +vt 0.628080 0.565656 +vt 0.611505 0.565656 +vt 0.628080 0.577419 +vt 0.645320 0.577419 +vt 0.645320 0.565656 +vt 0.628080 0.565656 +vt 0.645320 0.577419 +vt 0.663068 0.577419 +vt 0.663068 0.565657 +vt 0.645320 0.565656 +vt 0.663068 0.577419 +vt 0.682203 0.565656 +vt 0.663068 0.565657 +vt 0.579439 0.577431 +vt 0.595079 0.577424 +vt 0.595075 0.565662 +vt 0.475770 0.455325 +vt 0.466987 0.462784 +vt 0.468340 0.475726 +vt 0.478477 0.481208 +vt 0.347338 0.540059 +vt 0.364235 0.537567 +vt 0.361352 0.520540 +vt 0.342683 0.476976 +vt 0.361217 0.475862 +vt 0.362972 0.459025 +vt 0.344748 0.457135 +vt 0.364235 0.537567 +vt 0.347338 0.540059 +vt 0.344424 0.520271 +vt 0.361352 0.520540 +vt 0.361217 0.475862 +vt 0.344748 0.457135 +vt 0.362972 0.459025 +vt 0.220222 0.595179 +vt 0.232442 0.591968 +vt 0.233884 0.586760 +vt 0.219438 0.583879 +vt 0.233884 0.586760 +vt 0.235697 0.577649 +vt 0.221250 0.574774 +vt 0.222594 0.604159 +vt 0.234799 0.600948 +vt 0.232442 0.591968 +vt 0.220222 0.595179 +vt 0.210959 0.595820 +vt 0.220222 0.595179 +vt 0.219438 0.583879 +vt 0.210177 0.584519 +vt 0.308714 0.586081 +vt 0.310371 0.601710 +vt 0.315830 0.600895 +vt 0.317127 0.586207 +vt 0.317127 0.586207 +vt 0.315830 0.600895 +vt 0.325129 0.601731 +vt 0.326425 0.587016 +vt 0.299412 0.587062 +vt 0.301074 0.602722 +vt 0.310371 0.601710 +vt 0.308714 0.586081 +vt 0.310371 0.601710 +vt 0.311744 0.611057 +vt 0.317252 0.610242 +vt 0.315830 0.600895 +vt 0.308859 0.577039 +vt 0.317127 0.586207 +vt 0.317253 0.577163 +vt 0.358855 0.609095 +vt 0.358383 0.584027 +vt 0.338193 0.584865 +vt 0.338663 0.609932 +vt 0.414243 0.614163 +vt 0.418771 0.594355 +vt 0.399013 0.589480 +vt 0.394498 0.609284 +vt 0.748398 0.675457 +vt 0.748784 0.691477 +vt 0.659783 0.688498 +vt 0.660428 0.678715 +vt 0.578565 0.691342 +vt 0.579945 0.676595 +vt 0.748398 0.675457 +vt 0.660428 0.678715 +vt 0.659783 0.688498 +vt 0.579945 0.676595 +vt 0.578565 0.691342 +vt 0.735680 0.392351 +vt 0.834453 0.392351 +vt 0.835030 0.382989 +vt 0.735271 0.377828 +vt 0.735271 0.377828 +vt 0.835030 0.382989 +vt 0.836912 0.346779 +vt 0.737131 0.341597 +vt 0.735672 0.428636 +vt 0.834459 0.428636 +vt 0.834453 0.392351 +vt 0.735680 0.392351 +vt 0.358854 0.609097 +vt 0.338661 0.609932 +vt 0.338191 0.584864 +vt 0.358382 0.584027 +vt 0.414245 0.614164 +vt 0.394499 0.609285 +vt 0.399014 0.589479 +vt 0.418774 0.594355 +vt 0.139115 0.122299 +vt 0.032824 0.122161 +vt 0.367259 0.122595 +vt 0.367259 0.024180 +vt 0.344863 0.024180 +vt 0.344735 0.122566 +vt 0.367259 0.215239 +vt 0.344615 0.215210 +vt 0.367259 0.305514 +vt 0.344498 0.305514 +vt 0.010555 0.024180 +vt 0.010428 0.122132 +vt 0.032824 0.122161 +vt 0.032951 0.024180 +vt 0.010307 0.214776 +vt 0.032703 0.214805 +vt 0.032586 0.305514 +vt 0.032951 0.024180 +vt 0.032980 0.001349 +vt 0.032951 0.024180 +vt 0.344863 0.024180 +vt 0.344892 0.001754 +vt 0.032586 0.305514 +vt 0.032557 0.327476 +vt 0.344469 0.327881 +vt 0.344498 0.305514 +vt 0.362282 0.405026 +vt 0.362002 0.420574 +vt 0.366540 0.420627 +vt 0.366819 0.405137 +vt 0.362002 0.420574 +vt 0.330516 0.419972 +vt 0.344622 0.438430 +vt 0.364777 0.424145 +vt 0.373688 0.436665 +vt 0.364777 0.424145 +vt 0.344622 0.438430 +vt 0.353504 0.450978 +vt 0.330767 0.404645 +vt 0.330516 0.419972 +vt 0.362002 0.420574 +vt 0.362282 0.405026 +vt 0.362282 0.405026 +vt 0.366819 0.405137 +vt 0.366541 0.420627 +vt 0.362002 0.420574 +vt 0.362002 0.420574 +vt 0.364778 0.424144 +vt 0.344622 0.438430 +vt 0.330516 0.419972 +vt 0.373688 0.436665 +vt 0.353504 0.450978 +vt 0.344622 0.438430 +vt 0.364778 0.424144 +vt 0.330767 0.404645 +vt 0.362282 0.405026 +vt 0.362002 0.420574 +vt 0.330516 0.419972 +vt 0.579622 0.625485 +vt 0.557362 0.640988 +vt 0.564761 0.662583 +vt 0.580476 0.661685 +vt 0.535133 0.601239 +vt 0.526845 0.603327 +vt 0.515615 0.633980 +vt 0.533779 0.656167 +vt 0.579622 0.625485 +vt 0.580476 0.661685 +vt 0.564761 0.662583 +vt 0.557362 0.640988 +vt 0.526845 0.603327 +vt 0.533779 0.656167 +vt 0.515615 0.633980 +vt 0.523988 0.718247 +vt 0.550740 0.718669 +vt 0.576483 0.581689 +vt 0.554962 0.581699 +vt 0.554955 0.597452 +vt 0.576476 0.597484 +vt 0.588662 0.581696 +vt 0.576483 0.581689 +vt 0.576476 0.597484 +vt 0.588654 0.597490 +vt 0.678338 0.581744 +vt 0.669282 0.581740 +vt 0.669273 0.597537 +vt 0.678328 0.597542 +vt 0.636647 0.581726 +vt 0.608401 0.581707 +vt 0.608393 0.597502 +vt 0.636638 0.597515 +vt 0.608401 0.581707 +vt 0.588662 0.581696 +vt 0.588654 0.597490 +vt 0.608393 0.597502 +vt 0.554962 0.581699 +vt 0.487466 0.581644 +vt 0.487458 0.597440 +vt 0.554955 0.597452 +vt 0.554962 0.581699 +vt 0.576483 0.581689 +vt 0.576476 0.597484 +vt 0.554955 0.597452 +vt 0.669282 0.581740 +vt 0.678338 0.581744 +vt 0.678328 0.597542 +vt 0.669273 0.597537 +vt 0.588662 0.581696 +vt 0.608401 0.581707 +vt 0.608393 0.597502 +vt 0.588654 0.597490 +vt 0.608401 0.581707 +vt 0.636647 0.581726 +vt 0.636638 0.597515 +vt 0.608393 0.597502 +vt 0.769639 0.651693 +vt 0.776566 0.655127 +vt 0.776876 0.635825 +vt 0.767555 0.635563 +vt 0.786196 0.636039 +vt 0.769050 0.656354 +vt 0.776390 0.660423 +vt 0.776566 0.655127 +vt 0.769639 0.651693 +vt 0.776390 0.660423 +vt 0.783467 0.656971 +vt 0.783360 0.652036 +vt 0.776566 0.655127 +vt 0.783360 0.652036 +vt 0.789129 0.652754 +vt 0.791961 0.636729 +vt 0.786196 0.636039 +vt 0.763891 0.652210 +vt 0.769639 0.651693 +vt 0.767555 0.635563 +vt 0.761781 0.636010 +vt 0.721785 0.662257 +vt 0.745028 0.619977 +vt 0.733703 0.613746 +vt 0.720782 0.614015 +vt 0.710460 0.656026 +vt 0.734706 0.661988 +vt 0.600539 0.939346 +vt 0.600318 0.907033 +vt 0.611602 0.906953 +vt 0.611815 0.939264 +vt 0.600539 0.939346 +vt 0.611815 0.939264 +vt 0.611602 0.906953 +vt 0.600318 0.907033 +vt 0.918026 0.263616 +vt 0.931187 0.286410 +vt 0.957508 0.286196 +vt 0.970667 0.263616 +vt 0.957508 0.240822 +vt 0.931187 0.240822 +vt 0.239664 0.713314 +vt 0.258710 0.746302 +vt 0.296801 0.745992 +vt 0.315846 0.713314 +vt 0.296801 0.680327 +vt 0.258710 0.680327 +vt 0.621440 0.720752 +vt 0.616770 0.720752 +vt 0.616770 0.727266 +vt 0.621440 0.727266 +vt 0.982500 0.722041 +vt 0.989364 0.722142 +vt 0.988048 0.694953 +vt 0.981184 0.694852 +vt 0.995131 0.718586 +vt 0.994168 0.698683 +vt 0.975416 0.698408 +vt 0.976380 0.718311 +vt 0.972290 0.704667 +vt 0.998258 0.712327 +vt 0.997905 0.705042 +vt 0.632629 0.660273 +vt 0.632629 0.652215 +vt 0.585126 0.652215 +vt 0.632629 0.652215 +vt 0.632629 0.644505 +vt 0.585126 0.644505 +vt 0.585126 0.652215 +vt 0.632629 0.644505 +vt 0.632629 0.636445 +vt 0.585126 0.636445 +vt 0.585126 0.644505 +vt 0.632629 0.628080 +vt 0.632629 0.620657 +vt 0.585126 0.620657 +vt 0.585126 0.628079 +vt 0.632629 0.620657 +vt 0.632629 0.612305 +vt 0.585126 0.612305 +vt 0.585126 0.620657 +vt 0.664117 0.425566 +vt 0.656733 0.437835 +vt 0.664181 0.450016 +vt 0.679015 0.449938 +vt 0.686402 0.437669 +vt 0.678953 0.425479 +vt 0.862652 0.294818 +vt 0.900958 0.295147 +vt 0.901080 0.287611 +vt 0.862738 0.287145 +vt 0.862738 0.287145 +vt 0.900850 0.261062 +vt 0.862513 0.260394 +vt 0.862513 0.260394 +vt 0.900850 0.261062 +vt 0.901105 0.248424 +vt 0.862745 0.247734 +vt 0.908542 0.288975 +vt 0.913220 0.263350 +vt 0.900850 0.261062 +vt 0.901080 0.287611 +vt 0.850116 0.262865 +vt 0.855231 0.288633 +vt 0.862738 0.287145 +vt 0.862513 0.260394 +vt 0.968933 0.438529 +vt 0.968933 0.541315 +vt 0.990302 0.541315 +vt 0.990302 0.438529 +vt 0.990302 0.377804 +vt 0.990301 0.275017 +vt 0.968932 0.275017 +vt 0.968933 0.377804 +vt 0.968933 0.377804 +vt 0.968933 0.438529 +vt 0.990302 0.438529 +vt 0.990302 0.377804 +vt 0.838109 0.242946 +vt 0.882559 0.242946 +vt 0.882627 0.220025 +vt 0.838109 0.220025 +vt 0.838109 0.220025 +vt 0.882627 0.220025 +vt 0.882559 0.214516 +vt 0.838109 0.214516 +vt 0.761114 0.125281 +vt 0.793028 0.125281 +vt 0.793028 0.108849 +vt 0.761162 0.108849 +vt 0.888136 0.242947 +vt 0.888136 0.220025 +vt 0.882627 0.220025 +vt 0.882559 0.242946 +vt 0.755083 0.109138 +vt 0.731835 0.108988 +vt 0.729677 0.121890 +vt 0.757076 0.122066 +vt 0.919081 0.230139 +vt 0.919296 0.175990 +vt 0.893660 0.179994 +vt 0.893562 0.225961 +vt 0.891819 0.169066 +vt 0.893660 0.179994 +vt 0.919296 0.175990 +vt 0.917552 0.164869 +vt 0.893562 0.225961 +vt 0.891845 0.236798 +vt 0.917357 0.240962 +vt 0.919081 0.230139 +vt 0.743574 0.104480 +vt 0.850272 0.102825 +vt 0.850272 0.088665 +vt 0.743574 0.088665 +vt 0.743574 0.088665 +vt 0.850272 0.088665 +vt 0.850272 0.020501 +vt 0.743574 0.020501 +vt 0.743574 0.020501 +vt 0.850272 0.020501 +vt 0.850272 0.003030 +vt 0.865709 0.090825 +vt 0.865709 0.015405 +vt 0.850272 0.020501 +vt 0.850272 0.088665 +vt 0.728224 0.016685 +vt 0.727304 0.092105 +vt 0.743574 0.088665 +vt 0.743574 0.020501 +vt 0.983460 0.080071 +vt 0.883113 0.080071 +vt 0.883113 0.088298 +vt 0.983460 0.088298 +vt 0.883113 0.088298 +vt 0.883113 0.147522 +vt 0.983460 0.147522 +vt 0.983460 0.147522 +vt 0.883113 0.147522 +vt 0.883113 0.154776 +vt 0.983460 0.155066 +vt 0.873752 0.076169 +vt 0.992940 0.076169 +vt 0.992940 0.005826 +vt 0.873752 0.005826 +vt 0.991462 0.147522 +vt 0.991462 0.088298 +vt 0.983460 0.088298 +vt 0.983460 0.147522 +vt 0.952457 0.996821 +vt 0.970560 0.997140 +vt 0.970981 0.973276 +vt 0.955902 0.974128 +vt 0.624658 0.959808 +vt 0.613835 0.988165 +vt 0.623014 0.991721 +vt 0.633890 0.963368 +vt 0.639268 0.971669 +vt 0.632533 0.989195 +vt 0.615092 0.962349 +vt 0.608834 0.970042 +vt 0.608284 0.979956 +vt 0.223918 0.910653 +vt 0.233000 0.910653 +vt 0.233000 0.907305 +vt 0.223918 0.907305 +vt 0.242220 0.910653 +vt 0.242220 0.907305 +vt 0.251161 0.910653 +vt 0.251160 0.907305 +vt 0.260035 0.910653 +vt 0.260035 0.907305 +vt 0.268544 0.910653 +vt 0.268544 0.907305 +vt 0.277163 0.910653 +vt 0.277163 0.907305 +vt 0.207906 0.910653 +vt 0.215683 0.910653 +vt 0.215683 0.907305 +vt 0.207906 0.907305 +vt 0.853675 0.858557 +vt 0.855302 0.845863 +vt 0.843172 0.844352 +vt 0.841518 0.857027 +vt 0.649959 0.965912 +vt 0.696430 0.965912 +vt 0.696430 0.952047 +vt 0.649959 0.952047 +vt 0.696430 0.972673 +vt 0.649959 0.972673 +vt 0.649959 0.984788 +vt 0.696430 0.984788 +vt 0.649959 0.984788 +vt 0.649959 0.991922 +vt 0.696430 0.991922 +vt 0.696430 0.984788 +vt 0.696430 0.972673 +vt 0.696430 0.965912 +vt 0.649959 0.965912 +vt 0.649959 0.972673 +vt 0.958798 0.528001 +vt 0.958798 0.513416 +vt 0.892225 0.513416 +vt 0.892225 0.528002 +vt 0.892225 0.495377 +vt 0.892225 0.507565 +vt 0.958798 0.507565 +vt 0.958798 0.495376 +vt 0.958798 0.507565 +vt 0.892225 0.507565 +vt 0.892225 0.513416 +vt 0.958798 0.513416 +vt 0.892225 0.495377 +vt 0.958798 0.495376 +vt 0.958798 0.490659 +vt 0.892225 0.490659 +vt 0.650085 0.965852 +vt 0.696430 0.965852 +vt 0.696430 0.952047 +vt 0.650085 0.952047 +vt 0.696430 0.972605 +vt 0.650085 0.972605 +vt 0.650085 0.984705 +vt 0.696430 0.984705 +vt 0.650085 0.984705 +vt 0.650085 0.991922 +vt 0.696430 0.991922 +vt 0.696430 0.984705 +vt 0.696430 0.972605 +vt 0.696430 0.965852 +vt 0.650085 0.965852 +vt 0.650085 0.972605 +vt 0.958798 0.528001 +vt 0.958798 0.513415 +vt 0.892225 0.513415 +vt 0.892225 0.528001 +vt 0.892225 0.495377 +vt 0.892225 0.507565 +vt 0.958798 0.507565 +vt 0.958798 0.495376 +vt 0.958798 0.507565 +vt 0.892225 0.507565 +vt 0.892225 0.513415 +vt 0.958798 0.513415 +vt 0.892225 0.495377 +vt 0.958798 0.495376 +vt 0.958798 0.490658 +vt 0.892225 0.490658 +vt 0.592711 0.965417 +vt 0.588222 0.951603 +vt 0.550219 0.951608 +vt 0.545739 0.965419 +vt 0.550215 0.979216 +vt 0.588215 0.979224 +vt 0.576476 0.987751 +vt 0.561961 0.987757 +vt 0.576475 0.943077 +vt 0.561967 0.943074 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.792431 0.659122 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.795301 0.685331 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.773357 0.675835 +vt 0.772017 0.680774 +vt 0.797702 0.676526 +vt 0.795820 0.667591 +vt 0.772294 0.670822 +vt 0.773350 0.675834 +vt 0.795820 0.667591 +vt 0.792437 0.659110 +vt 0.770398 0.666069 +vt 0.791458 0.693615 +vt 0.795308 0.685336 +vt 0.772010 0.680776 +vt 0.769848 0.685420 +vt 0.795308 0.685336 +vt 0.797702 0.676526 +vt 0.773350 0.675834 +vt 0.772010 0.680776 +vt 0.797702 0.676526 +vt 0.795820 0.667591 +vt 0.772294 0.670822 +vt 0.773350 0.675834 +vt 0.795820 0.667591 +vt 0.792437 0.659111 +vt 0.770398 0.666069 +vt 0.791457 0.693615 +vt 0.795308 0.685336 +vt 0.772010 0.680776 +vt 0.769848 0.685420 +vt 0.795308 0.685336 +vt 0.797702 0.676526 +vt 0.773350 0.675834 +vt 0.772010 0.680776 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.792431 0.659122 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.797692 0.676526 +vt 0.773357 0.675835 +vt 0.772017 0.680774 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.792431 0.659122 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.795301 0.685331 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.797692 0.676526 +vt 0.773357 0.675835 +vt 0.592711 0.965417 +vt 0.588222 0.951603 +vt 0.550219 0.951608 +vt 0.545739 0.965419 +vt 0.550215 0.979216 +vt 0.588215 0.979224 +vt 0.576476 0.987751 +vt 0.561961 0.987757 +vt 0.576475 0.943077 +vt 0.561967 0.943074 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.792431 0.659122 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.797692 0.676526 +vt 0.773357 0.675835 +vt 0.772017 0.680774 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.795301 0.685331 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.797692 0.676526 +vt 0.773357 0.675835 +vt 0.772017 0.680774 +vt 0.797692 0.676526 +vt 0.795813 0.667596 +vt 0.772302 0.670825 +vt 0.773357 0.675835 +vt 0.795813 0.667596 +vt 0.792431 0.659122 +vt 0.770406 0.666076 +vt 0.772302 0.670825 +vt 0.791452 0.693604 +vt 0.795301 0.685331 +vt 0.772017 0.680774 +vt 0.769856 0.685414 +vt 0.795301 0.685331 +vt 0.797692 0.676526 +vt 0.773357 0.675835 +vt 0.772017 0.680774 +vt 0.743085 0.844945 +vt 0.745467 0.860837 +vt 0.760808 0.858542 +vt 0.758528 0.842570 +vt 0.853675 0.858558 +vt 0.855302 0.845863 +vt 0.843172 0.844352 +vt 0.841518 0.857027 +vt 0.452325 0.997102 +vt 0.468568 0.991563 +vt 0.467918 0.946644 +vt 0.451523 0.941579 +vt 0.435280 0.947116 +vt 0.435936 0.992037 +vt 0.478205 0.960378 +vt 0.478449 0.977536 +vt 0.425400 0.961144 +vt 0.425649 0.978301 +vt 0.397306 0.942556 +vt 0.382211 0.947218 +vt 0.381609 0.988578 +vt 0.396562 0.993678 +vt 0.412259 0.947656 +vt 0.411657 0.989014 +vt 0.421357 0.960570 +vt 0.421130 0.976369 +vt 0.372738 0.959864 +vt 0.372511 0.975662 +vt 0.798102 0.885738 +vt 0.814208 0.917624 +vt 0.826405 0.906006 +vt 0.789242 0.887569 +vt 0.786081 0.886458 +vt 0.767554 0.919929 +vt 0.782798 0.925228 +vt 0.173513 0.155390 +vt 0.183231 0.155676 +vt 0.188423 0.147431 +vt 0.168910 0.146914 +vt 0.183467 0.139131 +vt 0.174377 0.138546 +vt 0.194991 0.179274 +vt 0.207891 0.172147 +vt 0.207779 0.158104 +vt 0.194765 0.151186 +vt 0.181864 0.158313 +vt 0.181977 0.172356 +vt 0.452325 0.997102 +vt 0.468568 0.991563 +vt 0.467918 0.946644 +vt 0.451523 0.941579 +vt 0.435280 0.947116 +vt 0.435936 0.992037 +vt 0.478205 0.960378 +vt 0.478449 0.977536 +vt 0.425400 0.961144 +vt 0.425649 0.978301 +vt 0.397306 0.942556 +vt 0.381609 0.988578 +vt 0.396562 0.993678 +vt 0.412259 0.947656 +vt 0.411657 0.989014 +vt 0.421357 0.960570 +vt 0.382211 0.947218 +vt 0.372738 0.959864 +vt 0.372511 0.975662 +vt 0.798102 0.885738 +vt 0.795787 0.887974 +vt 0.814208 0.917624 +vt 0.826405 0.906006 +vt 0.789242 0.887569 +vt 0.786081 0.886458 +vt 0.767554 0.919929 +vt 0.782798 0.925228 +vt 0.173513 0.155390 +vt 0.183231 0.155676 +vt 0.188423 0.147431 +vt 0.168910 0.146914 +vt 0.183467 0.139131 +vt 0.194991 0.179274 +vt 0.194765 0.151186 +vt 0.181864 0.158313 +vt 0.456386 0.334431 +vt 0.433241 0.334431 +vt 0.433241 0.347763 +vt 0.351838 0.334431 +vt 0.325524 0.334431 +vt 0.325524 0.347763 +vt 0.351838 0.347763 +vt 0.371053 0.334431 +vt 0.371053 0.347763 +vt 0.390364 0.334431 +vt 0.390364 0.347763 +vt 0.412002 0.334431 +vt 0.412002 0.347763 +vt 0.377220 0.266889 +vt 0.372396 0.289371 +vt 0.444407 0.289371 +vt 0.439584 0.266889 +vt 0.439584 0.306837 +vt 0.377220 0.306837 +vt 0.371053 0.334431 +vt 0.390363 0.347763 +vt 0.390363 0.334431 +vt 0.456386 0.334431 +vt 0.456386 0.347763 +vt 0.478889 0.347763 +vt 0.478889 0.334431 +vt 0.433241 0.334431 +vt 0.433241 0.347763 +vt 0.412002 0.334431 +vt 0.412002 0.347763 +vt 0.559262 0.348354 +vt 0.505244 0.347769 +vt 0.505244 0.397436 +vt 0.559262 0.397062 +vt 0.439584 0.266889 +vt 0.377220 0.266889 +vt 0.372396 0.289371 +vt 0.444407 0.289371 +vt 0.377220 0.306837 +vt 0.439584 0.306837 +vt 0.456379 0.334437 +vt 0.433234 0.334437 +vt 0.433234 0.347769 +vt 0.351830 0.334437 +vt 0.325517 0.334437 +vt 0.325517 0.347769 +vt 0.351830 0.347769 +vt 0.371046 0.334437 +vt 0.390356 0.334437 +vt 0.371046 0.347769 +vt 0.390356 0.347769 +vt 0.411994 0.334437 +vt 0.411994 0.347769 +vt 0.377213 0.266895 +vt 0.372389 0.289377 +vt 0.444399 0.289377 +vt 0.439576 0.266895 +vt 0.439576 0.306843 +vt 0.377213 0.306843 +vt 0.628535 0.029757 +vt 0.650762 0.029757 +vt 0.600970 0.032956 +vt 0.619981 0.032956 +vt 0.674432 0.029758 +vt 0.580727 0.032956 +vt 0.628535 0.029757 +vt 0.650762 0.029757 +vt 0.600970 0.032956 +vt 0.619981 0.032956 +vt 0.674432 0.029758 +vt 0.580727 0.032956 +vt 0.628535 0.029757 +vt 0.650762 0.029757 +vt 0.600970 0.032956 +vt 0.619981 0.032956 +vt 0.674432 0.029758 +vt 0.580727 0.032956 +vt 0.174822 0.136832 +vt 0.189025 0.136979 +vt 0.191327 0.128441 +vt 0.176133 0.126594 +vt 0.212013 0.185213 +vt 0.222181 0.184952 +vt 0.174829 0.136837 +vt 0.176141 0.126603 +vt 0.191329 0.128449 +vt 0.189029 0.136985 +vt 0.222174 0.184944 +vt 0.212009 0.185205 +vt 0.223976 0.196470 +vt 0.213034 0.197378 +vt 0.213019 0.206849 +vt 0.223957 0.207798 +vt 0.186358 0.196200 +vt 0.152191 0.196168 +vt 0.152185 0.207900 +vt 0.186344 0.207939 +vt 0.152191 0.196168 +vt 0.143715 0.195955 +vt 0.143715 0.208114 +vt 0.152185 0.207900 +vt 0.029076 0.989527 +vt 0.085869 0.982982 +vt 0.085950 0.973428 +vt 0.028546 0.972752 +vt 0.029073 0.919083 +vt 0.086440 0.919348 +vt 0.086530 0.909799 +vt 0.029941 0.902334 +vt 0.160624 0.973789 +vt 0.161108 0.920146 +vt 0.144866 0.920019 +vt 0.144381 0.973663 +vt 0.012803 0.918944 +vt 0.012275 0.972612 +vt 0.028546 0.972752 +vt 0.029073 0.919083 +vt 0.144866 0.920019 +vt 0.144329 0.903285 +vt 0.143542 0.990387 +vt 0.144381 0.973663 +vt 0.174822 0.136832 +vt 0.189025 0.136979 +vt 0.191327 0.128441 +vt 0.176133 0.126594 +vt 0.212013 0.185213 +vt 0.222181 0.184952 +vt 0.174829 0.136837 +vt 0.176141 0.126603 +vt 0.191329 0.128449 +vt 0.189029 0.136985 +vt 0.222174 0.184944 +vt 0.212009 0.185205 +vt 0.223976 0.196470 +vt 0.213034 0.197378 +vt 0.213019 0.206849 +vt 0.223956 0.207798 +vt 0.186358 0.196200 +vt 0.152191 0.196168 +vt 0.152185 0.207900 +vt 0.186344 0.207939 +vt 0.152191 0.196168 +vt 0.143715 0.195955 +vt 0.143715 0.208114 +vt 0.152185 0.207900 +vt 0.174822 0.136832 +vt 0.189025 0.136979 +vt 0.191327 0.128441 +vt 0.176133 0.126594 +vt 0.212009 0.185205 +vt 0.174822 0.136832 +vt 0.176133 0.126594 +vt 0.191327 0.128441 +vt 0.189025 0.136979 +vt 0.212009 0.185205 +vt 0.223974 0.196470 +vt 0.213034 0.197378 +vt 0.213019 0.206849 +vt 0.223956 0.207798 +vt 0.186358 0.196200 +vt 0.152191 0.196168 +vt 0.152185 0.207900 +vt 0.186344 0.207939 +vt 0.152191 0.196168 +vt 0.143715 0.195955 +vt 0.143715 0.208114 +vt 0.152185 0.207900 +vt 0.029076 0.989527 +vt 0.085869 0.982982 +vt 0.085950 0.973428 +vt 0.028546 0.972752 +vt 0.029073 0.919083 +vt 0.086440 0.919348 +vt 0.086530 0.909799 +vt 0.029941 0.902335 +vt 0.160624 0.973789 +vt 0.161108 0.920146 +vt 0.144866 0.920019 +vt 0.144381 0.973663 +vt 0.012803 0.918944 +vt 0.012275 0.972612 +vt 0.028546 0.972752 +vt 0.029073 0.919083 +vt 0.144866 0.920019 +vt 0.144329 0.903285 +vt 0.143542 0.990387 +vt 0.144381 0.973663 +vt 0.174822 0.136832 +vt 0.189025 0.136979 +vt 0.191327 0.128441 +vt 0.176133 0.126594 +vt 0.212009 0.185205 +vt 0.174822 0.136832 +vt 0.176133 0.126594 +vt 0.191327 0.128441 +vt 0.189025 0.136979 +vt 0.212009 0.185205 +vt 0.186358 0.196200 +vt 0.152191 0.196168 +vt 0.152185 0.207900 +vt 0.186344 0.207939 +vt 0.152191 0.196168 +vt 0.143715 0.195955 +vt 0.143715 0.208114 +vt 0.152185 0.207900 +vt 0.945111 0.584944 +vt 0.945189 0.591887 +vt 0.965441 0.590457 +vt 0.965362 0.583513 +vt 0.945111 0.584944 +vt 0.945189 0.591887 +vt 0.965441 0.590458 +vt 0.965362 0.583513 +vt 0.432887 0.915098 +vt 0.447248 0.915094 +vt 0.448154 0.849959 +vt 0.431404 0.851894 +vt 0.448393 0.833024 +vt 0.448154 0.849959 +vt 0.533533 0.849959 +vt 0.533772 0.833024 +vt 0.535639 0.764845 +vt 0.450253 0.764845 +vt 0.450110 0.828183 +vt 0.535500 0.828183 +vt 0.432886 0.915347 +vt 0.431404 0.851905 +vt 0.448154 0.849959 +vt 0.448393 0.833024 +vt 0.533772 0.833024 +vt 0.533533 0.849959 +vt 0.448154 0.849959 +vt 0.447248 0.915094 +vt 0.448154 0.849959 +vt 0.533533 0.849959 +vt 0.532626 0.915094 +vt 0.535638 0.764845 +vt 0.535498 0.828183 +vt 0.450110 0.828183 +vt 0.450254 0.764845 +vt 0.549546 0.839804 +vt 0.686557 0.839804 +vt 0.686557 0.766420 +vt 0.549546 0.766420 +vt 0.549546 0.839804 +vt 0.551589 0.891219 +vt 0.684735 0.891406 +vt 0.686557 0.839804 +vt 0.728195 0.378410 +vt 0.728242 0.345495 +vt 0.712121 0.343125 +vt 0.712069 0.380736 +vt 0.695325 0.345451 +vt 0.695278 0.378366 +vt 0.940809 0.297498 +vt 0.899813 0.300379 +vt 0.899998 0.325679 +vt 0.900832 0.373884 +vt 0.939885 0.344344 +vt 0.900142 0.343649 +vt 0.868001 0.372721 +vt 0.868660 0.345654 +vt 0.866602 0.297789 +vt 0.843504 0.298977 +vt 0.844879 0.325713 +vt 0.868319 0.324892 +vt 0.844917 0.372430 +vt 0.845249 0.345712 +vt 0.899813 0.300379 +vt 0.866602 0.297789 +vt 0.868319 0.324892 +vt 0.899998 0.325679 +vt 0.868001 0.372721 +vt 0.900142 0.343649 +vt 0.868660 0.345654 +vt 0.843504 0.298977 +vt 0.844879 0.325713 +vt 0.844917 0.372430 +vt 0.845249 0.345712 +vt 0.728195 0.378410 +vt 0.728242 0.345495 +vt 0.712121 0.343125 +vt 0.712069 0.380736 +vt 0.695325 0.345451 +vt 0.695278 0.378366 +vt 0.940809 0.297498 +vt 0.899813 0.300379 +vt 0.899998 0.325679 +vt 0.939386 0.324138 +vt 0.900832 0.373884 +vt 0.939885 0.344344 +vt 0.900142 0.343649 +vt 0.866602 0.297789 +vt 0.868319 0.324892 +vt 0.868001 0.372721 +vt 0.868660 0.345654 +vt 0.728195 0.378410 +vt 0.728242 0.345495 +vt 0.712121 0.343125 +vt 0.712069 0.380736 +vt 0.695325 0.345451 +vt 0.695278 0.378366 +vt 0.940809 0.297498 +vt 0.899813 0.300379 +vt 0.899998 0.325679 +vt 0.939386 0.324138 +vt 0.900832 0.373884 +vt 0.941715 0.371086 +vt 0.939885 0.344344 +vt 0.900142 0.343649 +vt 0.866602 0.297789 +vt 0.868319 0.324892 +vt 0.868001 0.372721 +vt 0.868660 0.345654 +vt 0.843504 0.298977 +vt 0.844879 0.325713 +vt 0.844917 0.372430 +vt 0.845249 0.345712 +vt 0.728195 0.378410 +vt 0.728242 0.345495 +vt 0.712121 0.343125 +vt 0.712069 0.380736 +vt 0.695325 0.345451 +vt 0.695278 0.378366 +vt 0.944090 0.643423 +vt 0.949905 0.657973 +vt 0.988907 0.652063 +vt 0.997019 0.642184 +vt 0.941174 0.629693 +vt 0.996136 0.628493 +vt 0.947399 0.616345 +vt 0.987859 0.615844 +vt 0.975149 0.609363 +vt 0.959784 0.608446 +vt 0.977305 0.661967 +vt 0.913207 0.453729 +vt 0.911983 0.462700 +vt 0.956080 0.463603 +vt 0.957304 0.454633 +vt 0.911983 0.462700 +vt 0.956794 0.479568 +vt 0.956080 0.463603 +vt 0.913946 0.417646 +vt 0.913480 0.437172 +vt 0.957577 0.438075 +vt 0.958044 0.418549 +vt 0.913480 0.437172 +vt 0.913207 0.453729 +vt 0.957304 0.454633 +vt 0.957577 0.438075 +vt 0.913207 0.453729 +vt 0.911983 0.462700 +vt 0.956080 0.463603 +vt 0.911983 0.462700 +vt 0.912697 0.478665 +vt 0.956794 0.479568 +vt 0.956080 0.463603 +vt 0.913946 0.417646 +vt 0.913480 0.437172 +vt 0.957577 0.438075 +vt 0.958044 0.418549 +vt 0.913480 0.437172 +vt 0.957304 0.454633 +vt 0.957577 0.438075 +vt 0.852377 0.444507 +vt 0.844290 0.440132 +vt 0.843951 0.458750 +vt 0.836033 0.445066 +vt 0.835864 0.454375 +vt 0.993792 0.684717 +vt 0.994203 0.671255 +vt 0.983798 0.664368 +vt 0.972933 0.670948 +vt 0.972512 0.684500 +vt 0.982962 0.691383 +vt 0.726423 0.719640 +vt 0.736393 0.719640 +vt 0.736392 0.711134 +vt 0.726423 0.711134 +vt 0.717259 0.719640 +vt 0.726423 0.719640 +vt 0.726423 0.711134 +vt 0.717259 0.711134 +vt 0.706925 0.719640 +vt 0.717259 0.719640 +vt 0.717259 0.711134 +vt 0.706925 0.711134 +vt 0.696485 0.719640 +vt 0.706925 0.719640 +vt 0.706925 0.711134 +vt 0.696485 0.711134 +vt 0.685626 0.719640 +vt 0.696485 0.719640 +vt 0.696485 0.711134 +vt 0.685627 0.711134 +vt 0.736393 0.719640 +vt 0.746240 0.719640 +vt 0.746240 0.711134 +vt 0.736392 0.711134 +vt 0.962377 0.382209 +vt 0.953389 0.409837 +vt 0.962378 0.409832 +vt 0.917808 0.382206 +vt 0.908728 0.382209 +vt 0.908733 0.409840 +vt 0.917813 0.409832 +vt 0.926084 0.382207 +vt 0.917808 0.382206 +vt 0.917813 0.409832 +vt 0.926087 0.409835 +vt 0.934492 0.382204 +vt 0.926084 0.382207 +vt 0.926087 0.409835 +vt 0.934492 0.409835 +vt 0.943949 0.382205 +vt 0.934492 0.382204 +vt 0.934492 0.409835 +vt 0.943950 0.409833 +vt 0.953388 0.382203 +vt 0.943949 0.382205 +vt 0.943950 0.409833 +vt 0.953389 0.409837 +vt 0.765355 0.668489 +vt 0.766762 0.663419 +vt 0.756110 0.656121 +vt 0.752188 0.659469 +vt 0.761434 0.671836 +vt 0.750782 0.664539 +vt 0.756496 0.672182 +vt 0.752426 0.669395 +vt 0.765117 0.658563 +vt 0.761048 0.655775 +vt 0.755030 0.690070 +vt 0.755121 0.691118 +vt 0.767342 0.693549 +vt 0.766882 0.688114 +vt 0.752680 0.687988 +vt 0.753539 0.688588 +vt 0.761753 0.678759 +vt 0.757282 0.675638 +vt 0.929129 0.616217 +vt 0.921653 0.618887 +vt 0.920002 0.626975 +vt 0.935022 0.621201 +vt 0.925710 0.632243 +vt 0.933476 0.629371 +vt 0.857028 0.645947 +vt 0.846384 0.658935 +vt 0.853634 0.664879 +vt 0.862578 0.661358 +vt 0.864277 0.651892 +vt 0.765355 0.668489 +vt 0.752188 0.659469 +vt 0.756110 0.656121 +vt 0.766762 0.663419 +vt 0.761434 0.671836 +vt 0.750782 0.664539 +vt 0.756496 0.672182 +vt 0.761048 0.655775 +vt 0.765117 0.658563 +vt 0.755030 0.690070 +vt 0.766882 0.688114 +vt 0.767342 0.693549 +vt 0.755121 0.691118 +vt 0.752680 0.687988 +vt 0.757282 0.675638 +vt 0.761753 0.678759 +vt 0.753539 0.688588 +vt 0.929129 0.616217 +vt 0.935022 0.621201 +vt 0.920002 0.626975 +vt 0.921653 0.618887 +vt 0.925710 0.632243 +vt 0.933476 0.629371 +vt 0.857028 0.645947 +vt 0.846384 0.658935 +vt 0.848080 0.649470 +vt 0.864277 0.651892 +vt 0.862578 0.661358 +vt 0.853634 0.664879 +vt 0.836061 0.189941 +vt 0.871098 0.177117 +vt 0.853693 0.205576 +vt 0.835760 0.168035 +vt 0.848132 0.147715 +vt 0.862902 0.142782 +vt 0.836061 0.189941 +vt 0.853693 0.205576 +vt 0.871098 0.177117 +vt 0.835760 0.168035 +vt 0.862902 0.142782 +vt 0.848132 0.147715 +vt 0.852146 0.130615 +vt 0.836061 0.189941 +vt 0.835760 0.168035 +vt 0.871098 0.177117 +vt 0.848132 0.147715 +vt 0.862902 0.142782 +vt 0.836061 0.189941 +vt 0.871098 0.177117 +vt 0.835760 0.168035 +vt 0.862902 0.142782 +vt 0.848132 0.147715 +vt 0.852146 0.130615 +vt 0.529300 0.311967 +vt 0.529108 0.297958 +vt 0.551706 0.303766 +vt 0.540575 0.321965 +vt 0.529300 0.311967 +vt 0.540575 0.321965 +vt 0.551706 0.303766 +vt 0.529108 0.297958 +vt 0.546464 0.281809 +vt 0.537019 0.284964 +vt 0.529300 0.311967 +vt 0.529108 0.297958 +vt 0.551706 0.303766 +vt 0.540575 0.321965 +vt 0.529300 0.311967 +vt 0.540575 0.321965 +vt 0.551706 0.303766 +vt 0.529108 0.297958 +vt 0.527892 0.933630 +vt 0.538348 0.933583 +vt 0.538309 0.923126 +vt 0.527846 0.923165 +vt 0.627840 0.440285 +vt 0.625545 0.417834 +vt 0.616979 0.448089 +vt 0.588185 0.439122 +vt 0.594928 0.445071 +vt 0.595805 0.411663 +vt 0.627840 0.440285 +vt 0.616979 0.448089 +vt 0.625545 0.417834 +vt 0.588185 0.439122 +vt 0.595805 0.411663 +vt 0.594928 0.445071 +vt 0.655666 0.463990 +vt 0.654573 0.448402 +vt 0.649325 0.454437 +vt 0.565258 0.430230 +vt 0.560053 0.438792 +vt 0.569873 0.436974 +vt 0.474983 0.279034 +vt 0.497509 0.277984 +vt 0.487295 0.270060 +vt 0.476619 0.318946 +vt 0.486572 0.327711 +vt 0.494340 0.318109 +vt 0.413139 0.551358 +vt 0.417025 0.526779 +vt 0.430646 0.563410 +vt 0.389300 0.557957 +vt 0.388884 0.402444 +vt 0.421084 0.413119 +vt 0.396349 0.432831 +vt 0.413139 0.551358 +vt 0.430646 0.563410 +vt 0.417025 0.526779 +vt 0.389300 0.557957 +vt 0.388884 0.402444 +vt 0.396349 0.432831 +vt 0.421084 0.413119 +vt 0.468690 0.743511 +vt 0.475418 0.747458 +vt 0.478038 0.731446 +vt 0.510176 0.746045 +vt 0.501252 0.732821 +vt 0.502587 0.749301 +vt 0.506222 0.709553 +vt 0.498085 0.704042 +vt 0.499863 0.717505 +vt 0.474427 0.709006 +vt 0.480238 0.716706 +vt 0.482262 0.703522 +vt 0.502117 0.686692 +vt 0.495074 0.681746 +vt 0.496119 0.691673 +vt 0.477232 0.686534 +vt 0.483963 0.691341 +vt 0.484430 0.681347 +vt 0.500697 0.658278 +vt 0.494735 0.654680 +vt 0.494075 0.664108 +vt 0.478454 0.657938 +vt 0.485060 0.663744 +vt 0.484474 0.654310 +vt 0.500532 0.639841 +vt 0.496369 0.635093 +vt 0.494899 0.644346 +vt 0.478967 0.639371 +vt 0.484513 0.643967 +vt 0.483350 0.634710 +vt 0.503024 0.617634 +vt 0.498736 0.615408 +vt 0.497418 0.625613 +vt 0.477373 0.617081 +vt 0.482697 0.625220 +vt 0.481834 0.614997 +vt 0.481508 0.413066 +vt 0.480532 0.414847 +vt 0.480974 0.416919 +vt 0.564173 0.517083 +vt 0.559639 0.500179 +vt 0.530028 0.514377 +vt 0.551360 0.487118 +vt 0.532862 0.478079 +vt 0.523434 0.483948 +vt 0.510684 0.484103 +vt 0.498154 0.500666 +vt 0.495473 0.519836 +vt 0.501886 0.533329 +vt 0.509988 0.544475 +vt 0.525011 0.551055 +vt 0.546770 0.546941 +vt 0.559945 0.535375 +vt 0.534909 0.661859 +vt 0.534258 0.665116 +vt 0.551174 0.674648 +vt 0.532890 0.668571 +vt 0.532254 0.671591 +vt 0.532811 0.675943 +vt 0.534498 0.679799 +vt 0.552799 0.652439 +vt 0.550855 0.652380 +vt 0.547589 0.652918 +vt 0.543878 0.653910 +vt 0.540716 0.655090 +vt 0.539240 0.656581 +vt 0.536769 0.659202 +vt 0.877978 0.856483 +vt 0.877232 0.872658 +vt 0.889929 0.851614 +vt 0.905011 0.870715 +vt 0.902126 0.972930 +vt 0.877310 0.972490 +vt 0.890365 0.983221 +vt 0.878460 0.981310 +vt 0.905096 0.852899 +vt 0.901777 0.982274 +vt 0.723741 0.946973 +vt 0.722927 0.960191 +vt 0.736016 0.945534 +vt 0.736322 0.974965 +vt 0.725525 0.973947 +vt 0.828994 0.946923 +vt 0.845428 0.959954 +vt 0.843442 0.947405 +vt 0.831004 0.976284 +vt 0.844607 0.974824 +vt 0.970981 0.973276 +vt 0.972286 0.964119 +vt 0.955902 0.974128 +vt 0.943732 0.957997 +vt 0.944710 0.863614 +vt 0.970146 0.858760 +vt 0.955654 0.852027 +vt 0.968477 0.850066 +vt 0.945665 0.969435 +vt 0.945065 0.855897 +vt 0.260362 0.824402 +vt 0.258718 0.830026 +vt 0.255089 0.827156 +vt 0.256301 0.820871 +vt 0.250601 0.822925 +vt 0.248926 0.828532 +vt 0.252981 0.832101 +vt 0.252928 0.820876 +vt 0.254644 0.815113 +vt 0.248278 0.816496 +vt 0.250476 0.811502 +vt 0.244596 0.813614 +vt 0.242846 0.819357 +vt 0.247009 0.823010 +vt 0.275191 0.846095 +vt 0.272207 0.849169 +vt 0.274373 0.844567 +vt 0.276356 0.841025 +vt 0.274536 0.839067 +vt 0.271571 0.842145 +vt 0.270407 0.847178 +vt 0.259081 0.843251 +vt 0.262060 0.840121 +vt 0.259253 0.837672 +vt 0.263258 0.834998 +vt 0.261475 0.833043 +vt 0.258515 0.836177 +vt 0.257318 0.841262 +vt 0.503285 0.920274 +vt 0.497208 0.920274 +vt 0.502118 0.935389 +vt 0.492432 0.920274 +vt 0.486946 0.920274 +vt 0.492081 0.935389 +vt 0.524836 0.920274 +vt 0.519326 0.920274 +vt 0.524730 0.935389 +vt 0.480603 0.979707 +vt 0.491431 0.994171 +vt 0.506829 0.968376 +vt 0.508694 0.999504 +vt 0.525797 0.993671 +vt 0.536202 0.978901 +vt 0.535943 0.960833 +vt 0.525109 0.946372 +vt 0.507847 0.941039 +vt 0.490749 0.946871 +vt 0.480338 0.961641 +vt 0.480603 0.979707 +vt 0.491431 0.994171 +vt 0.506829 0.968376 +vt 0.508694 0.999504 +vt 0.525797 0.993671 +vt 0.536202 0.978901 +vt 0.535943 0.960833 +vt 0.525109 0.946372 +vt 0.507847 0.941039 +vt 0.490749 0.946871 +vt 0.480338 0.961641 +vt 0.684567 0.662749 +vt 0.696486 0.646341 +vt 0.665273 0.636200 +vt 0.696486 0.626060 +vt 0.684567 0.609652 +vt 0.665273 0.603384 +vt 0.648314 0.612855 +vt 0.637833 0.627283 +vt 0.637833 0.645118 +vt 0.648314 0.659545 +vt 0.665273 0.665057 +vt 0.850508 0.375082 +vt 0.838249 0.383533 +vt 0.850252 0.386839 +vt 0.842025 0.128282 +vt 0.850396 0.112569 +vt 0.852146 0.130615 +vt 0.842025 0.128282 +vt 0.850396 0.112569 +vt 0.842025 0.128282 +vt 0.850396 0.112569 +vt 0.852146 0.130615 +vt 0.842025 0.128282 +vt 0.850396 0.112569 +vt 0.536350 0.273283 +vt 0.271518 0.856214 +vt 0.204156 0.857615 +vt 0.204156 0.899995 +vt 0.271518 0.901396 +vt 0.235704 0.841928 +vt 0.234555 0.810452 +vt 0.157310 0.809737 +vt 0.156016 0.842307 +vt 0.059247 0.588517 +vt 0.838848 0.293986 +vt 0.836522 0.271306 +vt 0.789349 0.276038 +vt 0.788994 0.292912 +vt 0.836522 0.271306 +vt 0.836139 0.250269 +vt 0.790060 0.252294 +vt 0.789349 0.276038 +vt 0.839620 0.315037 +vt 0.838848 0.293986 +vt 0.788994 0.292912 +vt 0.790838 0.315774 +vt 0.703195 0.252538 +vt 0.701350 0.278026 +vt 0.702717 0.294367 +vt 0.705239 0.318423 +vt 0.701350 0.278026 +vt 0.702717 0.294367 +vt 0.609743 0.278209 +vt 0.612827 0.250235 +vt 0.566104 0.247960 +vt 0.561762 0.274868 +vt 0.613589 0.295274 +vt 0.561153 0.299301 +vt 0.565614 0.326142 +vt 0.617149 0.323913 +vt 0.609743 0.278209 +vt 0.561762 0.274868 +vt 0.561153 0.299301 +vt 0.613589 0.295274 +vt 0.566967 0.211539 +vt 0.629108 0.214280 +vt 0.629533 0.183466 +vt 0.566967 0.182011 +vt 0.566967 0.126163 +vt 0.566967 0.155223 +vt 0.630310 0.156081 +vt 0.631134 0.127271 +vt 0.705742 0.213331 +vt 0.705984 0.185397 +vt 0.706103 0.159074 +vt 0.706733 0.130212 +vt 0.774203 0.215096 +vt 0.774444 0.185479 +vt 0.774579 0.158897 +vt 0.775057 0.130741 +vt 0.822129 0.214523 +vt 0.822129 0.186534 +vt 0.822129 0.160647 +vt 0.822129 0.132483 +vt 0.564669 0.402537 +vt 0.564669 0.415372 +vt 0.577174 0.415372 +vt 0.577174 0.402537 +vt 0.502859 0.402537 +vt 0.502859 0.415372 +vt 0.514444 0.415372 +vt 0.514444 0.402537 +vt 0.526844 0.402537 +vt 0.526844 0.415372 +vt 0.539672 0.415372 +vt 0.539672 0.402537 +vt 0.539672 0.402537 +vt 0.539672 0.415372 +vt 0.551999 0.415372 +vt 0.551999 0.402537 +vt 0.471706 0.438331 +vt 0.636580 0.476711 +vt 0.635402 0.463953 +vt 0.618635 0.472311 +vt 0.617759 0.484532 +vt 0.586407 0.477005 +vt 0.589872 0.463947 +vt 0.577521 0.450616 +vt 0.570367 0.459338 +vt 0.603285 0.468937 +vt 0.600916 0.483027 +vt 0.606649 0.448516 +vt 0.610875 0.414923 +vt 0.655666 0.463990 +vt 0.649325 0.454437 +vt 0.569873 0.436974 +vt 0.560053 0.438792 +vt 0.583448 0.435461 +vt 0.636580 0.476711 +vt 0.617759 0.484532 +vt 0.618635 0.472311 +vt 0.635402 0.463953 +vt 0.586407 0.477005 +vt 0.570367 0.459338 +vt 0.577521 0.450616 +vt 0.589872 0.463947 +vt 0.600916 0.483027 +vt 0.603285 0.468937 +vt 0.606649 0.448516 +vt 0.610875 0.414923 +vt 0.649325 0.454437 +vt 0.655666 0.463990 +vt 0.560053 0.438792 +vt 0.569873 0.436974 +vt 0.583448 0.435461 +vt 0.644722 0.427325 +vt 0.626988 0.414531 +vt 0.625545 0.417834 +vt 0.627840 0.440285 +vt 0.651492 0.439741 +vt 0.638135 0.450043 +vt 0.576238 0.424739 +vt 0.583448 0.435461 +vt 0.645320 0.557037 +vt 0.628080 0.557037 +vt 0.526991 0.426368 +vt 0.517179 0.429381 +vt 0.520509 0.440363 +vt 0.526439 0.438091 +vt 0.517179 0.429381 +vt 0.508314 0.436417 +vt 0.515598 0.445643 +vt 0.520509 0.440363 +vt 0.508314 0.436417 +vt 0.501521 0.444148 +vt 0.512137 0.450798 +vt 0.515598 0.445643 +vt 0.550834 0.446378 +vt 0.544670 0.438003 +vt 0.536515 0.446600 +vt 0.539503 0.452135 +vt 0.544670 0.438003 +vt 0.536437 0.430110 +vt 0.532131 0.440845 +vt 0.536515 0.446600 +vt 0.536437 0.430110 +vt 0.526991 0.426368 +vt 0.526439 0.438091 +vt 0.532131 0.440845 +vt 0.596075 0.350114 +vt 0.595279 0.364093 +vt 0.616080 0.372041 +vt 0.619586 0.360479 +vt 0.595279 0.364093 +vt 0.596663 0.387825 +vt 0.614474 0.383641 +vt 0.616080 0.372041 +vt 0.596663 0.387825 +vt 0.596749 0.401610 +vt 0.615443 0.396067 +vt 0.614474 0.383641 +vt 0.596075 0.350114 +vt 0.595279 0.364093 +vt 0.576423 0.367054 +vt 0.573305 0.354868 +vt 0.595279 0.364093 +vt 0.596662 0.387825 +vt 0.579220 0.380289 +vt 0.576423 0.367054 +vt 0.596662 0.387825 +vt 0.596749 0.401610 +vt 0.578360 0.393861 +vt 0.579220 0.380289 +vt 0.663136 0.518737 +vt 0.663623 0.527478 +vt 0.682644 0.526379 +vt 0.682199 0.518654 +vt 0.663623 0.527478 +vt 0.664859 0.537528 +vt 0.683664 0.535253 +vt 0.682644 0.526379 +vt 0.664859 0.537528 +vt 0.665810 0.546416 +vt 0.684821 0.542976 +vt 0.683664 0.535253 +vt 0.665566 0.491283 +vt 0.664716 0.500080 +vt 0.683415 0.502134 +vt 0.684459 0.494459 +vt 0.664716 0.500080 +vt 0.663572 0.510028 +vt 0.682527 0.510949 +vt 0.683415 0.502134 +vt 0.663572 0.510028 +vt 0.663136 0.518737 +vt 0.682199 0.518654 +vt 0.682527 0.510949 +vt 0.650936 0.398976 +vt 0.674530 0.408171 +vt 0.677767 0.395266 +vt 0.652159 0.388592 +vt 0.650936 0.398976 +vt 0.648781 0.407089 +vt 0.670365 0.420597 +vt 0.674530 0.408171 +vt 0.648387 0.353084 +vt 0.650319 0.360342 +vt 0.670686 0.351762 +vt 0.666825 0.341071 +vt 0.650319 0.360342 +vt 0.651689 0.369751 +vt 0.674400 0.363557 +vt 0.670686 0.351762 +vt 0.651689 0.369751 +vt 0.652289 0.378723 +vt 0.676921 0.372844 +vt 0.674400 0.363557 +vt 0.652289 0.378723 +vt 0.652159 0.388592 +vt 0.677767 0.395266 +vt 0.676921 0.372844 +vt 0.592214 0.524960 +vt 0.590939 0.534915 +vt 0.621449 0.540027 +vt 0.620558 0.528554 +vt 0.590939 0.534915 +vt 0.589752 0.547128 +vt 0.622143 0.550196 +vt 0.621449 0.540027 +vt 0.594670 0.490345 +vt 0.594752 0.498591 +vt 0.622521 0.497268 +vt 0.623368 0.487949 +vt 0.594752 0.498591 +vt 0.594036 0.507860 +vt 0.621199 0.507995 +vt 0.622521 0.497268 +vt 0.594036 0.507860 +vt 0.593124 0.516304 +vt 0.620347 0.518145 +vt 0.621199 0.507995 +vt 0.592214 0.524960 +vt 0.620558 0.528554 +vt 0.620347 0.518145 +vt 0.593124 0.516304 +vt 0.622910 0.364541 +vt 0.576422 0.367054 +vt 0.579220 0.380289 +vt 0.579220 0.380289 +vt 0.578360 0.393861 +vt 0.619586 0.360479 +vt 0.616080 0.372041 +vt 0.616080 0.372041 +vt 0.614475 0.383641 +vt 0.614475 0.383641 +vt 0.615443 0.396067 +vt 0.576422 0.367054 +vt 0.573306 0.354868 +vt 0.504364 0.430179 +vt 0.515502 0.422763 +vt 0.495900 0.438403 +vt 0.504364 0.430179 +vt 0.549155 0.432091 +vt 0.556986 0.441053 +vt 0.538674 0.423660 +vt 0.549155 0.432091 +vt 0.538674 0.423660 +vt 0.527252 0.419817 +vt 0.515502 0.422763 +vt 0.527252 0.419817 +vt 0.611507 0.577419 +vt 0.682203 0.577419 +vt 0.579433 0.565670 +vt 0.631173 0.386461 +vt 0.628519 0.386594 +vt 0.627696 0.394707 +vt 0.630349 0.395717 +vt 0.677767 0.395266 +vt 0.674530 0.408171 +vt 0.678766 0.408335 +vt 0.682670 0.395377 +vt 0.625912 0.401585 +vt 0.628684 0.404191 +vt 0.670365 0.420597 +vt 0.675939 0.418930 +vt 0.629771 0.355089 +vt 0.627119 0.357395 +vt 0.628511 0.363821 +vt 0.631029 0.362969 +vt 0.666825 0.341071 +vt 0.670686 0.351762 +vt 0.674262 0.351414 +vt 0.671635 0.342403 +vt 0.628946 0.371478 +vt 0.631482 0.371692 +vt 0.674400 0.363557 +vt 0.678063 0.361880 +vt 0.628892 0.378943 +vt 0.631482 0.378980 +vt 0.676921 0.372844 +vt 0.682244 0.374159 +vt 0.645908 0.527751 +vt 0.646756 0.537356 +vt 0.646756 0.537356 +vt 0.647554 0.545266 +vt 0.647633 0.492680 +vt 0.646885 0.500323 +vt 0.646885 0.500323 +vt 0.646005 0.509698 +vt 0.646005 0.509698 +vt 0.645609 0.518685 +vt 0.645609 0.518685 +vt 0.645908 0.527751 +vt 0.631173 0.386461 +vt 0.630349 0.395717 +vt 0.630349 0.395717 +vt 0.628684 0.404191 +vt 0.629771 0.355089 +vt 0.631029 0.362969 +vt 0.631029 0.362969 +vt 0.631482 0.371692 +vt 0.631482 0.371692 +vt 0.631482 0.378980 +vt 0.631482 0.378980 +vt 0.631173 0.386461 +vt 0.487257 0.473748 +vt 0.485903 0.460807 +vt 0.449069 0.329959 +vt 0.448603 0.316962 +vt 0.448603 0.316962 +vt 0.476619 0.318946 +vt 0.474983 0.279034 +vt 0.448902 0.277481 +vt 0.448902 0.277481 +vt 0.450991 0.265335 +vt 0.494340 0.318109 +vt 0.497509 0.277984 +vt 0.514716 0.278513 +vt 0.512667 0.266454 +vt 0.512826 0.330007 +vt 0.514338 0.317901 +vt 0.514338 0.317901 +vt 0.514716 0.278513 +vt 0.344424 0.520271 +vt 0.344424 0.520271 +vt 0.361352 0.520540 +vt 0.358009 0.500349 +vt 0.344818 0.501772 +vt 0.378054 0.519648 +vt 0.377081 0.501295 +vt 0.358009 0.500349 +vt 0.361352 0.520540 +vt 0.324464 0.502603 +vt 0.324714 0.520542 +vt 0.344424 0.520271 +vt 0.344818 0.501772 +vt 0.322774 0.478356 +vt 0.342683 0.476976 +vt 0.378120 0.476568 +vt 0.361217 0.475862 +vt 0.361217 0.475862 +vt 0.342683 0.476976 +vt 0.361352 0.520540 +vt 0.344424 0.520271 +vt 0.344818 0.501772 +vt 0.358009 0.500349 +vt 0.342683 0.476976 +vt 0.324714 0.520542 +vt 0.324464 0.502603 +vt 0.344818 0.501772 +vt 0.344424 0.520271 +vt 0.377081 0.501295 +vt 0.378054 0.519648 +vt 0.361352 0.520540 +vt 0.358009 0.500349 +vt 0.342683 0.476976 +vt 0.361217 0.475862 +vt 0.378120 0.476568 +vt 0.361217 0.475862 +vt 0.322774 0.478356 +vt 0.342683 0.476976 +vt 0.222063 0.640983 +vt 0.232602 0.641656 +vt 0.229869 0.626101 +vt 0.224076 0.625716 +vt 0.232602 0.641656 +vt 0.242917 0.638984 +vt 0.237795 0.625314 +vt 0.229869 0.626101 +vt 0.211398 0.638579 +vt 0.222063 0.640983 +vt 0.224076 0.625716 +vt 0.216061 0.625036 +vt 0.231040 0.609000 +vt 0.223056 0.609127 +vt 0.223056 0.609127 +vt 0.215592 0.609352 +vt 0.238469 0.609318 +vt 0.231040 0.609000 +vt 0.219438 0.583879 +vt 0.232442 0.591968 +vt 0.241387 0.594449 +vt 0.242833 0.589244 +vt 0.233884 0.586760 +vt 0.308714 0.586081 +vt 0.324357 0.638458 +vt 0.323444 0.627585 +vt 0.312039 0.627996 +vt 0.311729 0.634709 +vt 0.323444 0.627585 +vt 0.321996 0.615624 +vt 0.311409 0.619644 +vt 0.312039 0.627996 +vt 0.303156 0.626893 +vt 0.301772 0.638365 +vt 0.303036 0.619791 +vt 0.303156 0.626893 +vt 0.311729 0.634709 +vt 0.301772 0.638365 +vt 0.302390 0.645062 +vt 0.310686 0.643271 +vt 0.321144 0.647155 +vt 0.324357 0.638458 +vt 0.394498 0.609284 +vt 0.399013 0.589480 +vt 0.380656 0.590156 +vt 0.378793 0.606734 +vt 0.012612 0.615551 +vt 0.032947 0.613055 +vt 0.032996 0.596849 +vt 0.016472 0.597515 +vt 0.304228 0.684120 +vt 0.324279 0.687030 +vt 0.320886 0.671506 +vt 0.304361 0.670512 +vt 0.358383 0.584027 +vt 0.358855 0.609095 +vt 0.324497 0.651731 +vt 0.304580 0.655376 +vt 0.033075 0.578771 +vt 0.013316 0.574716 +vt 0.748784 0.691477 +vt 0.748480 0.702196 +vt 0.659803 0.698968 +vt 0.659783 0.688498 +vt 0.747992 0.664740 +vt 0.748398 0.675457 +vt 0.660428 0.678715 +vt 0.660352 0.668247 +vt 0.579945 0.676595 +vt 0.580222 0.666178 +vt 0.578935 0.701757 +vt 0.578565 0.691342 +vt 0.748784 0.691477 +vt 0.748784 0.691477 +vt 0.659783 0.688498 +vt 0.659803 0.698968 +vt 0.748480 0.702196 +vt 0.747992 0.664740 +vt 0.660352 0.668247 +vt 0.660428 0.678715 +vt 0.748398 0.675457 +vt 0.580222 0.666178 +vt 0.579945 0.676595 +vt 0.578565 0.691342 +vt 0.578935 0.701757 +vt 0.394499 0.609285 +vt 0.378793 0.606735 +vt 0.380656 0.590154 +vt 0.399014 0.589479 +vt 0.012613 0.615550 +vt 0.016473 0.597515 +vt 0.032996 0.596849 +vt 0.032945 0.613053 +vt 0.304227 0.684121 +vt 0.304360 0.670511 +vt 0.320886 0.671506 +vt 0.324279 0.687032 +vt 0.358854 0.609097 +vt 0.358382 0.584027 +vt 0.304578 0.655375 +vt 0.324496 0.651730 +vt 0.013317 0.574717 +vt 0.033075 0.578772 +vt 0.397326 0.525455 +vt 0.377378 0.549829 +vt 0.382728 0.483359 +vt 0.404267 0.484518 +vt 0.391658 0.460595 +vt 0.412854 0.460201 +vt 0.375531 0.411402 +vt 0.379646 0.431434 +vt 0.464447 0.403667 +vt 0.464447 0.422788 +vt 0.464447 0.453096 +vt 0.464447 0.481306 +vt 0.464447 0.522919 +vt 0.464447 0.569581 +vt 0.397326 0.525455 +vt 0.377378 0.549829 +vt 0.389300 0.557957 +vt 0.382728 0.483359 +vt 0.404267 0.484518 +vt 0.391658 0.460595 +vt 0.412854 0.460201 +vt 0.375531 0.411402 +vt 0.379646 0.431434 +vt 0.464447 0.422788 +vt 0.464447 0.403667 +vt 0.464447 0.481306 +vt 0.464447 0.453096 +vt 0.464447 0.522919 +vt 0.464447 0.569581 +vt 0.010190 0.305514 +vt 0.535133 0.601239 +vt 0.460008 0.693674 +vt 0.460009 0.657172 +vt 0.442813 0.657173 +vt 0.442813 0.693674 +vt 0.460009 0.657172 +vt 0.460009 0.632714 +vt 0.442813 0.632714 +vt 0.442813 0.657173 +vt 0.460009 0.612313 +vt 0.442813 0.612313 +vt 0.669282 0.581740 +vt 0.651918 0.581730 +vt 0.651909 0.597528 +vt 0.669273 0.597537 +vt 0.636647 0.581726 +vt 0.636638 0.597515 +vt 0.460008 0.751131 +vt 0.442812 0.751130 +vt 0.460009 0.657172 +vt 0.460008 0.693674 +vt 0.442813 0.693674 +vt 0.442813 0.657173 +vt 0.460009 0.632714 +vt 0.460009 0.657172 +vt 0.442813 0.657173 +vt 0.442813 0.632714 +vt 0.576483 0.581689 +vt 0.588662 0.581696 +vt 0.588654 0.597490 +vt 0.576476 0.597484 +vt 0.651918 0.581730 +vt 0.669282 0.581740 +vt 0.669273 0.597537 +vt 0.651909 0.597528 +vt 0.460009 0.612313 +vt 0.442813 0.612313 +vt 0.636647 0.581726 +vt 0.636638 0.597515 +vt 0.460008 0.751131 +vt 0.442812 0.751130 +vt 0.487466 0.581644 +vt 0.554962 0.581699 +vt 0.554955 0.597452 +vt 0.487458 0.597440 +vt 0.783360 0.652036 +vt 0.812776 0.683445 +vt 0.813882 0.685355 +vt 0.818483 0.683168 +vt 0.816824 0.680039 +vt 0.814511 0.687440 +vt 0.819374 0.686466 +vt 0.814662 0.689588 +vt 0.819492 0.689809 +vt 0.814439 0.691373 +vt 0.818891 0.692930 +vt 0.813712 0.693053 +vt 0.817568 0.695812 +vt 0.812567 0.694474 +vt 0.815588 0.698344 +vt 0.811143 0.695494 +vt 0.813017 0.700465 +vt 0.809581 0.695998 +vt 0.809852 0.702204 +vt 0.808041 0.695903 +vt 0.805861 0.703835 +vt 0.805637 0.680477 +vt 0.807485 0.680282 +vt 0.807391 0.672942 +vt 0.802386 0.671108 +vt 0.809413 0.680776 +vt 0.811276 0.674891 +vt 0.811241 0.681879 +vt 0.814402 0.677265 +vt 0.823809 0.680791 +vt 0.821558 0.676344 +vt 0.824941 0.685510 +vt 0.824999 0.690208 +vt 0.824005 0.694745 +vt 0.822035 0.698904 +vt 0.819161 0.702605 +vt 0.815456 0.705788 +vt 0.810935 0.708504 +vt 0.805497 0.710831 +vt 0.808411 0.665482 +vt 0.801715 0.662733 +vt 0.813854 0.668651 +vt 0.818242 0.672245 +vt 0.830202 0.678209 +vt 0.827367 0.672210 +vt 0.831594 0.684488 +vt 0.831524 0.690843 +vt 0.830086 0.696914 +vt 0.827377 0.702496 +vt 0.823544 0.707391 +vt 0.818698 0.711590 +vt 0.812929 0.715186 +vt 0.806296 0.718397 +vt 0.810670 0.657642 +vt 0.802657 0.653692 +vt 0.817509 0.661920 +vt 0.823095 0.666781 +vt 0.838055 0.675248 +vt 0.834566 0.667575 +vt 0.839666 0.683448 +vt 0.839417 0.691721 +vt 0.837409 0.699631 +vt 0.833841 0.706759 +vt 0.828920 0.712903 +vt 0.822842 0.718003 +vt 0.815778 0.722248 +vt 0.808002 0.726193 +vt 0.814102 0.649457 +vt 0.804901 0.644510 +vt 0.822376 0.654653 +vt 0.829290 0.660653 +vt 0.847724 0.671826 +vt 0.843520 0.662151 +vt 0.849553 0.682315 +vt 0.849007 0.692983 +vt 0.846253 0.703090 +vt 0.841608 0.712018 +vt 0.835426 0.719424 +vt 0.827944 0.725250 +vt 0.819320 0.729601 +vt 0.809824 0.732673 +vt 0.818443 0.641044 +vt 0.807332 0.637017 +vt 0.828578 0.646584 +vt 0.837071 0.653672 +vt 0.478038 0.731446 +vt 0.475418 0.747458 +vt 0.502587 0.749301 +vt 0.501252 0.732821 +vt 0.499863 0.717505 +vt 0.480238 0.716706 +vt 0.498085 0.704042 +vt 0.482262 0.703522 +vt 0.496119 0.691673 +vt 0.483963 0.691341 +vt 0.495074 0.681746 +vt 0.484430 0.681347 +vt 0.494638 0.672668 +vt 0.484639 0.672262 +vt 0.494075 0.664108 +vt 0.485060 0.663744 +vt 0.494735 0.654680 +vt 0.484474 0.654310 +vt 0.494899 0.644346 +vt 0.484513 0.643967 +vt 0.496369 0.635093 +vt 0.483350 0.634710 +vt 0.497418 0.625613 +vt 0.482697 0.625220 +vt 0.498736 0.615408 +vt 0.481834 0.614997 +vt 0.500869 0.672188 +vt 0.494638 0.672668 +vt 0.478404 0.671920 +vt 0.484639 0.672262 +vt 0.882516 0.759686 +vt 0.897602 0.759686 +vt 0.894575 0.739550 +vt 0.880596 0.739550 +vt 0.912157 0.759686 +vt 0.908064 0.739550 +vt 0.926600 0.759686 +vt 0.921447 0.739550 +vt 0.939670 0.759686 +vt 0.933559 0.739550 +vt 0.772985 0.759686 +vt 0.786521 0.759686 +vt 0.791639 0.739550 +vt 0.779096 0.739550 +vt 0.800131 0.759686 +vt 0.804252 0.739550 +vt 0.812358 0.759686 +vt 0.815583 0.739550 +vt 0.825814 0.759686 +vt 0.828051 0.739550 +vt 0.839090 0.759686 +vt 0.840355 0.739550 +vt 0.853467 0.759686 +vt 0.853677 0.739550 +vt 0.868155 0.759686 +vt 0.867288 0.739550 +vt 0.492522 0.405842 +vt 0.488491 0.410470 +vt 0.490537 0.415106 +vt 0.495655 0.414867 +vt 0.483134 0.401702 +vt 0.483671 0.408808 +vt 0.473015 0.405270 +vt 0.478481 0.409747 +vt 0.469851 0.414277 +vt 0.476164 0.414487 +vt 0.472516 0.422852 +vt 0.477526 0.419689 +vt 0.479280 0.427938 +vt 0.481529 0.422787 +vt 0.487217 0.427894 +vt 0.486123 0.422698 +vt 0.493431 0.422925 +vt 0.489479 0.419817 +vt 0.490537 0.415106 +vt 0.485389 0.413277 +vt 0.486353 0.415094 +vt 0.483464 0.412509 +vt 0.482561 0.418274 +vt 0.484524 0.418317 +vt 0.489479 0.419817 +vt 0.485997 0.417071 +vt 0.588463 0.518375 +vt 0.582757 0.491275 +vt 0.570695 0.495881 +vt 0.575900 0.516719 +vt 0.566828 0.468381 +vt 0.559197 0.477783 +vt 0.535401 0.454759 +vt 0.532256 0.465815 +vt 0.535401 0.454759 +vt 0.516879 0.456777 +vt 0.518735 0.470859 +vt 0.532256 0.465815 +vt 0.499636 0.466084 +vt 0.505757 0.472895 +vt 0.499636 0.466084 +vt 0.473138 0.492132 +vt 0.487052 0.495200 +vt 0.505757 0.472895 +vt 0.470232 0.524442 +vt 0.483049 0.521494 +vt 0.481714 0.551020 +vt 0.492030 0.541298 +vt 0.495590 0.565471 +vt 0.502472 0.553718 +vt 0.521148 0.577834 +vt 0.523453 0.564415 +vt 0.558234 0.570570 +vt 0.554978 0.558762 +vt 0.580638 0.549861 +vt 0.570313 0.541447 +vt 0.575900 0.516719 +vt 0.570695 0.495881 +vt 0.564829 0.497612 +vt 0.569874 0.516277 +vt 0.559197 0.477783 +vt 0.555378 0.482994 +vt 0.532256 0.465815 +vt 0.532035 0.473987 +vt 0.518735 0.470859 +vt 0.522213 0.478517 +vt 0.505757 0.472895 +vt 0.508946 0.479077 +vt 0.487052 0.495200 +vt 0.495046 0.497752 +vt 0.483049 0.521494 +vt 0.489829 0.519888 +vt 0.492030 0.541298 +vt 0.496198 0.535370 +vt 0.502472 0.553718 +vt 0.506121 0.548829 +vt 0.523453 0.564415 +vt 0.524733 0.556142 +vt 0.554978 0.558762 +vt 0.550366 0.551457 +vt 0.570313 0.541447 +vt 0.565224 0.537461 +vt 0.569874 0.516277 +vt 0.564829 0.497612 +vt 0.559639 0.500179 +vt 0.564173 0.517083 +vt 0.555378 0.482994 +vt 0.551360 0.487118 +vt 0.532035 0.473987 +vt 0.532862 0.478079 +vt 0.532035 0.473987 +vt 0.522213 0.478517 +vt 0.523434 0.483948 +vt 0.532862 0.478079 +vt 0.508946 0.479077 +vt 0.510684 0.484103 +vt 0.508946 0.479077 +vt 0.495046 0.497752 +vt 0.498154 0.500666 +vt 0.510684 0.484103 +vt 0.489829 0.519888 +vt 0.495473 0.519836 +vt 0.496198 0.535370 +vt 0.501886 0.533329 +vt 0.506121 0.548829 +vt 0.509988 0.544475 +vt 0.524733 0.556142 +vt 0.525011 0.551055 +vt 0.550366 0.551457 +vt 0.546770 0.546941 +vt 0.565224 0.537461 +vt 0.559945 0.535375 +vt 0.367978 0.622362 +vt 0.370326 0.670884 +vt 0.354199 0.672557 +vt 0.349318 0.623464 +vt 0.375342 0.711606 +vt 0.360147 0.711872 +vt 0.358820 0.757868 +vt 0.345021 0.748431 +vt 0.342426 0.802453 +vt 0.325386 0.791696 +vt 0.765206 0.813032 +vt 0.741407 0.764660 +vt 0.727179 0.778369 +vt 0.746954 0.819947 +vt 0.611815 0.939264 +vt 0.611602 0.906953 +vt 0.641326 0.908115 +vt 0.641490 0.939059 +vt 0.420575 0.670676 +vt 0.370326 0.670884 +vt 0.367978 0.622362 +vt 0.420456 0.622477 +vt 0.666350 0.911004 +vt 0.666413 0.938950 +vt 0.420661 0.711339 +vt 0.375342 0.711606 +vt 0.687944 0.900943 +vt 0.687880 0.938966 +vt 0.420681 0.757066 +vt 0.358820 0.757868 +vt 0.714393 0.889311 +vt 0.714168 0.939083 +vt 0.420616 0.803564 +vt 0.342426 0.802453 +vt 0.726912 0.840712 +vt 0.746954 0.819947 +vt 0.727179 0.778369 +vt 0.693998 0.819251 +vt 0.843397 0.766143 +vt 0.741407 0.764660 +vt 0.765206 0.813032 +vt 0.842668 0.814157 +vt 0.420952 0.813491 +vt 0.420519 0.919310 +vt 0.342421 0.919310 +vt 0.342421 0.813491 +vt 0.342421 0.813491 +vt 0.342421 0.919310 +vt 0.325579 0.919310 +vt 0.325562 0.813491 +vt 0.321004 0.848879 +vt 0.320796 0.903364 +vt 0.278067 0.903008 +vt 0.278421 0.848669 +vt 0.367977 0.622359 +vt 0.349318 0.623464 +vt 0.354199 0.672557 +vt 0.370326 0.670884 +vt 0.360147 0.711871 +vt 0.375344 0.711606 +vt 0.345021 0.748431 +vt 0.358820 0.757868 +vt 0.325386 0.791696 +vt 0.342426 0.802456 +vt 0.765206 0.813032 +vt 0.746954 0.819947 +vt 0.727179 0.778369 +vt 0.741407 0.764661 +vt 0.611815 0.939264 +vt 0.641490 0.939059 +vt 0.641326 0.908115 +vt 0.611602 0.906953 +vt 0.420575 0.670676 +vt 0.420456 0.622477 +vt 0.367977 0.622359 +vt 0.370326 0.670884 +vt 0.666413 0.938950 +vt 0.666350 0.911004 +vt 0.420661 0.711339 +vt 0.375344 0.711606 +vt 0.687880 0.938966 +vt 0.687944 0.900943 +vt 0.420681 0.757066 +vt 0.358820 0.757868 +vt 0.714168 0.939083 +vt 0.714393 0.889311 +vt 0.420616 0.803564 +vt 0.342426 0.802456 +vt 0.726912 0.840712 +vt 0.693998 0.819251 +vt 0.727179 0.778369 +vt 0.746954 0.819947 +vt 0.843397 0.766143 +vt 0.842668 0.814157 +vt 0.765206 0.813032 +vt 0.741407 0.764661 +vt 0.420952 0.813491 +vt 0.342421 0.813491 +vt 0.342421 0.813491 +vt 0.325574 0.813491 +vt 0.325591 0.919310 +vt 0.321004 0.848879 +vt 0.278421 0.848669 +vt 0.928846 0.238454 +vt 0.955163 0.238449 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.928846 0.238452 +vt 0.955163 0.238456 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.928846 0.238452 +vt 0.955163 0.238456 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.928846 0.238452 +vt 0.955163 0.238456 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.928846 0.238452 +vt 0.955163 0.238456 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.928846 0.238452 +vt 0.955163 0.238456 +vt 0.958342 0.201882 +vt 0.925667 0.201882 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.955119 0.169575 +vt 0.928798 0.169575 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.250861 0.624083 +vt 0.298149 0.624083 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.298149 0.624083 +vt 0.250861 0.624083 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.298149 0.624083 +vt 0.250861 0.624083 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.298149 0.624083 +vt 0.250861 0.624083 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.298149 0.624083 +vt 0.250861 0.624083 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.298149 0.624083 +vt 0.250861 0.624083 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.255462 0.677010 +vt 0.293548 0.677003 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.293485 0.577328 +vt 0.255393 0.577328 +vt 0.595373 0.720752 +vt 0.595373 0.727266 +vt 0.599532 0.727266 +vt 0.599532 0.720752 +vt 0.599532 0.713925 +vt 0.595373 0.713925 +vt 0.856994 0.676371 +vt 0.856994 0.692316 +vt 0.865952 0.692316 +vt 0.865952 0.676370 +vt 0.856993 0.669547 +vt 0.865952 0.669547 +vt 0.561124 0.713515 +vt 0.561124 0.720739 +vt 0.566061 0.720739 +vt 0.566062 0.713515 +vt 0.561124 0.707194 +vt 0.566061 0.707194 +vt 0.599532 0.720752 +vt 0.599532 0.727266 +vt 0.603626 0.727267 +vt 0.603626 0.720752 +vt 0.603626 0.713925 +vt 0.599532 0.713925 +vt 0.865952 0.676370 +vt 0.865952 0.692316 +vt 0.874771 0.692316 +vt 0.874771 0.676370 +vt 0.874771 0.669547 +vt 0.865952 0.669547 +vt 0.566062 0.713515 +vt 0.566061 0.720739 +vt 0.570922 0.720739 +vt 0.570922 0.713515 +vt 0.566061 0.707194 +vt 0.570922 0.707194 +vt 0.603626 0.720752 +vt 0.603626 0.727267 +vt 0.607882 0.727266 +vt 0.607882 0.720752 +vt 0.603626 0.713925 +vt 0.607882 0.713925 +vt 0.874771 0.676370 +vt 0.874771 0.692316 +vt 0.883941 0.692316 +vt 0.883941 0.676370 +vt 0.874771 0.669547 +vt 0.883941 0.669547 +vt 0.570922 0.720739 +vt 0.575975 0.720739 +vt 0.575975 0.713515 +vt 0.575975 0.707194 +vt 0.612524 0.713925 +vt 0.607882 0.713925 +vt 0.607882 0.720752 +vt 0.612524 0.720752 +vt 0.607882 0.727266 +vt 0.612524 0.727266 +vt 0.893936 0.692316 +vt 0.893938 0.676370 +vt 0.893936 0.669547 +vt 0.883941 0.669547 +vt 0.575975 0.713515 +vt 0.575975 0.720739 +vt 0.581485 0.720739 +vt 0.581485 0.713515 +vt 0.575975 0.707194 +vt 0.581485 0.707194 +vt 0.612524 0.720752 +vt 0.612524 0.727266 +vt 0.616770 0.727266 +vt 0.616770 0.720752 +vt 0.616770 0.713925 +vt 0.612524 0.713925 +vt 0.893938 0.676370 +vt 0.893936 0.692316 +vt 0.903084 0.692316 +vt 0.903084 0.676370 +vt 0.903084 0.669547 +vt 0.893936 0.669547 +vt 0.581485 0.713515 +vt 0.581485 0.720739 +vt 0.586525 0.720739 +vt 0.586525 0.713515 +vt 0.581485 0.707194 +vt 0.586526 0.707194 +vt 0.621440 0.713925 +vt 0.616770 0.713925 +vt 0.616770 0.720752 +vt 0.621440 0.720752 +vt 0.913145 0.676371 +vt 0.903084 0.676370 +vt 0.903084 0.692316 +vt 0.913145 0.692316 +vt 0.913145 0.669547 +vt 0.903084 0.669547 +vt 0.592071 0.713515 +vt 0.586525 0.713515 +vt 0.586525 0.720739 +vt 0.592071 0.720739 +vt 0.592071 0.707194 +vt 0.586526 0.707194 +vt 0.561124 0.726221 +vt 0.566062 0.726221 +vt 0.586526 0.726221 +vt 0.592071 0.726221 +vt 0.581485 0.726221 +vt 0.586526 0.726221 +vt 0.575975 0.726221 +vt 0.581485 0.726221 +vt 0.570922 0.726221 +vt 0.575975 0.726221 +vt 0.566062 0.726221 +vt 0.570922 0.726221 +vt 0.592071 0.707194 +vt 0.592071 0.705581 +vt 0.586525 0.705581 +vt 0.586526 0.707194 +vt 0.561124 0.707194 +vt 0.566061 0.707194 +vt 0.566061 0.705580 +vt 0.561124 0.705581 +vt 0.570922 0.707194 +vt 0.570922 0.705581 +vt 0.575975 0.705580 +vt 0.575975 0.707194 +vt 0.581485 0.707194 +vt 0.581485 0.705581 +vt 0.561124 0.726221 +vt 0.561124 0.727869 +vt 0.566062 0.727869 +vt 0.566062 0.726221 +vt 0.592071 0.726221 +vt 0.586526 0.726221 +vt 0.586525 0.727869 +vt 0.592071 0.727869 +vt 0.581485 0.726221 +vt 0.581485 0.727869 +vt 0.575975 0.726221 +vt 0.575975 0.727869 +vt 0.570922 0.727869 +vt 0.570922 0.726221 +vt 0.747637 0.758623 +vt 0.756599 0.758623 +vt 0.756599 0.747687 +vt 0.747637 0.747687 +vt 0.634474 0.758623 +vt 0.645304 0.758623 +vt 0.645304 0.747687 +vt 0.634474 0.747687 +vt 0.654934 0.758623 +vt 0.654934 0.747687 +vt 0.665270 0.758623 +vt 0.665270 0.747687 +vt 0.675491 0.758623 +vt 0.675491 0.747687 +vt 0.685636 0.758623 +vt 0.685636 0.747687 +vt 0.695509 0.758623 +vt 0.695509 0.747687 +vt 0.705178 0.758623 +vt 0.705178 0.747687 +vt 0.716021 0.758623 +vt 0.716021 0.747687 +vt 0.726917 0.758623 +vt 0.726917 0.747687 +vt 0.737640 0.758623 +vt 0.737640 0.747687 +vt 0.699611 0.737629 +vt 0.709390 0.737629 +vt 0.709390 0.728639 +vt 0.699611 0.728639 +vt 0.690890 0.737629 +vt 0.690890 0.728639 +vt 0.681985 0.737629 +vt 0.681985 0.728639 +vt 0.672836 0.737629 +vt 0.672836 0.728639 +vt 0.663617 0.737629 +vt 0.663617 0.728639 +vt 0.654295 0.737629 +vt 0.654295 0.728639 +vt 0.645609 0.737629 +vt 0.645609 0.728639 +vt 0.635841 0.737629 +vt 0.635841 0.728639 +vt 0.737905 0.737629 +vt 0.745988 0.737629 +vt 0.745988 0.728639 +vt 0.737905 0.728639 +vt 0.728889 0.737629 +vt 0.728889 0.728639 +vt 0.719217 0.737629 +vt 0.719217 0.728639 +vt 0.586105 0.759121 +vt 0.595477 0.759121 +vt 0.595477 0.731390 +vt 0.586105 0.731390 +vt 0.577747 0.759121 +vt 0.577747 0.731390 +vt 0.569212 0.759121 +vt 0.569212 0.731390 +vt 0.560443 0.759121 +vt 0.560443 0.731390 +vt 0.551607 0.759121 +vt 0.551607 0.731390 +vt 0.542673 0.759121 +vt 0.542673 0.731390 +vt 0.534348 0.759121 +vt 0.534348 0.731390 +vt 0.524987 0.759121 +vt 0.524987 0.731390 +vt 0.622807 0.759121 +vt 0.630554 0.759121 +vt 0.630554 0.731390 +vt 0.622807 0.731390 +vt 0.614165 0.759121 +vt 0.614165 0.731390 +vt 0.604896 0.759121 +vt 0.604896 0.731390 +vt 0.756599 0.743685 +vt 0.747637 0.743685 +vt 0.747637 0.747687 +vt 0.756599 0.747687 +vt 0.645304 0.743685 +vt 0.634474 0.743685 +vt 0.634474 0.747687 +vt 0.645304 0.747687 +vt 0.654934 0.743685 +vt 0.654934 0.747687 +vt 0.665270 0.743685 +vt 0.665270 0.747687 +vt 0.675491 0.743685 +vt 0.675491 0.747687 +vt 0.685636 0.743685 +vt 0.685636 0.747687 +vt 0.695509 0.743685 +vt 0.695509 0.747687 +vt 0.705178 0.743685 +vt 0.705178 0.747687 +vt 0.716021 0.743685 +vt 0.716021 0.747687 +vt 0.726917 0.743685 +vt 0.726917 0.747687 +vt 0.737640 0.743685 +vt 0.737640 0.747687 +vt 0.699611 0.740018 +vt 0.709390 0.740018 +vt 0.709390 0.737629 +vt 0.699611 0.737629 +vt 0.690890 0.740018 +vt 0.690890 0.737629 +vt 0.681985 0.740018 +vt 0.681985 0.737629 +vt 0.672836 0.740018 +vt 0.672836 0.737629 +vt 0.663617 0.740018 +vt 0.663617 0.737629 +vt 0.654295 0.740018 +vt 0.654295 0.737629 +vt 0.645609 0.740018 +vt 0.645609 0.737629 +vt 0.635841 0.740018 +vt 0.635841 0.737629 +vt 0.737905 0.740018 +vt 0.745988 0.740018 +vt 0.745988 0.737629 +vt 0.737905 0.737629 +vt 0.728889 0.740018 +vt 0.728889 0.737629 +vt 0.719217 0.740018 +vt 0.719217 0.737629 +vt 0.737905 0.728639 +vt 0.745988 0.728639 +vt 0.745988 0.723912 +vt 0.737905 0.723912 +vt 0.635841 0.728639 +vt 0.645609 0.728639 +vt 0.645609 0.723912 +vt 0.635841 0.723912 +vt 0.654295 0.728639 +vt 0.654295 0.723912 +vt 0.663617 0.728639 +vt 0.663617 0.723912 +vt 0.672836 0.728639 +vt 0.672836 0.723912 +vt 0.681985 0.728639 +vt 0.681985 0.723912 +vt 0.690890 0.728639 +vt 0.690890 0.723912 +vt 0.699611 0.728639 +vt 0.699611 0.723912 +vt 0.709390 0.728639 +vt 0.709390 0.723912 +vt 0.719217 0.728639 +vt 0.719217 0.723912 +vt 0.728889 0.728639 +vt 0.728889 0.723912 +vt 0.972643 0.711952 +vt 0.585126 0.660273 +vt 0.632629 0.636445 +vt 0.632629 0.628080 +vt 0.585126 0.628079 +vt 0.585126 0.636445 +vt 0.901080 0.287611 +vt 0.968933 0.541315 +vt 0.968933 0.602040 +vt 0.990302 0.602040 +vt 0.990302 0.541315 +vt 0.832599 0.220025 +vt 0.832599 0.242946 +vt 0.838109 0.242946 +vt 0.838109 0.220025 +vt 0.743574 0.004685 +vt 0.983460 0.088298 +vt 0.874107 0.088298 +vt 0.874107 0.147522 +vt 0.883113 0.147522 +vt 0.883113 0.088298 +vt 0.887681 0.834634 +vt 0.872827 0.839011 +vt 0.877978 0.856483 +vt 0.889929 0.851614 +vt 0.890365 0.983221 +vt 0.878460 0.981310 +vt 0.877263 0.993981 +vt 0.889869 0.995168 +vt 0.862885 0.858991 +vt 0.868188 0.873530 +vt 0.877232 0.872658 +vt 0.877978 0.856483 +vt 0.914042 0.872083 +vt 0.920439 0.856190 +vt 0.905096 0.852899 +vt 0.905011 0.870715 +vt 0.914115 0.980316 +vt 0.911058 0.972195 +vt 0.902126 0.972930 +vt 0.901777 0.982274 +vt 0.877310 0.972490 +vt 0.868396 0.971865 +vt 0.865750 0.979998 +vt 0.878460 0.981310 +vt 0.905493 0.835033 +vt 0.905096 0.852899 +vt 0.901777 0.982274 +vt 0.902012 0.994943 +vt 0.875440 0.921242 +vt 0.903952 0.919621 +vt 0.913021 0.919889 +vt 0.903952 0.919621 +vt 0.866390 0.921260 +vt 0.875440 0.921242 +vt 0.699648 0.948281 +vt 0.703024 0.963093 +vt 0.722927 0.960191 +vt 0.723741 0.946973 +vt 0.843442 0.947405 +vt 0.845428 0.959954 +vt 0.862856 0.959286 +vt 0.861806 0.945918 +vt 0.730020 0.993369 +vt 0.738191 0.987277 +vt 0.736322 0.974965 +vt 0.725525 0.973947 +vt 0.738020 0.932516 +vt 0.729094 0.925627 +vt 0.723741 0.946973 +vt 0.736016 0.945534 +vt 0.844607 0.974824 +vt 0.862882 0.974810 +vt 0.705509 0.977442 +vt 0.725525 0.973947 +vt 0.778391 0.975353 +vt 0.779001 0.945164 +vt 0.779225 0.932086 +vt 0.779001 0.945164 +vt 0.778187 0.988191 +vt 0.778391 0.975353 +vt 0.840872 0.929298 +vt 0.827900 0.934040 +vt 0.828994 0.946923 +vt 0.843442 0.947405 +vt 0.831004 0.976284 +vt 0.829627 0.988919 +vt 0.842546 0.993311 +vt 0.844607 0.974824 +vt 0.955654 0.852027 +vt 0.968477 0.850066 +vt 0.964984 0.833800 +vt 0.951820 0.836633 +vt 0.990713 0.968848 +vt 0.984178 0.962364 +vt 0.972286 0.964119 +vt 0.970981 0.973276 +vt 0.932031 0.956549 +vt 0.925678 0.966767 +vt 0.945665 0.969435 +vt 0.943732 0.957997 +vt 0.928983 0.858811 +vt 0.933210 0.865106 +vt 0.944710 0.863614 +vt 0.945065 0.855897 +vt 0.970146 0.858760 +vt 0.981805 0.859541 +vt 0.985608 0.851314 +vt 0.968477 0.850066 +vt 0.938975 0.992992 +vt 0.952457 0.996821 +vt 0.955902 0.974128 +vt 0.945065 0.855897 +vt 0.940448 0.839911 +vt 0.932698 0.907687 +vt 0.944597 0.907822 +vt 0.983276 0.912869 +vt 0.971340 0.913129 +vt 0.971340 0.913129 +vt 0.944597 0.907822 +vt 0.263387 0.820968 +vt 0.260536 0.830772 +vt 0.256313 0.814849 +vt 0.246400 0.818415 +vt 0.243450 0.828163 +vt 0.250511 0.834400 +vt 0.250511 0.834400 +vt 0.263341 0.817739 +vt 0.260016 0.829144 +vt 0.255109 0.810639 +vt 0.263341 0.817739 +vt 0.243571 0.814783 +vt 0.255109 0.810639 +vt 0.240112 0.826113 +vt 0.243571 0.814783 +vt 0.248325 0.833374 +vt 0.240112 0.826113 +vt 0.260016 0.829144 +vt 0.248325 0.833374 +vt 0.260162 0.815582 +vt 0.257240 0.825524 +vt 0.252981 0.809384 +vt 0.242889 0.813007 +vt 0.252981 0.809384 +vt 0.239864 0.822891 +vt 0.247031 0.829211 +vt 0.273779 0.846308 +vt 0.268600 0.851651 +vt 0.275811 0.837484 +vt 0.272655 0.834114 +vt 0.267535 0.839468 +vt 0.265509 0.848181 +vt 0.265509 0.848181 +vt 0.270482 0.845127 +vt 0.264499 0.851328 +vt 0.272847 0.834896 +vt 0.270482 0.845127 +vt 0.269220 0.831016 +vt 0.272847 0.834896 +vt 0.263314 0.837231 +vt 0.269220 0.831016 +vt 0.260958 0.847313 +vt 0.263314 0.837231 +vt 0.264499 0.851328 +vt 0.260958 0.847313 +vt 0.266182 0.842857 +vt 0.261006 0.848258 +vt 0.268246 0.833980 +vt 0.265129 0.830614 +vt 0.268246 0.833980 +vt 0.260012 0.836023 +vt 0.257954 0.844789 +vt 0.610201 0.993026 +vt 0.622646 0.997530 +vt 0.623014 0.991721 +vt 0.613835 0.988165 +vt 0.635725 0.994072 +vt 0.632533 0.989195 +vt 0.644223 0.983536 +vt 0.638750 0.981532 +vt 0.644854 0.970053 +vt 0.639268 0.971669 +vt 0.637480 0.958808 +vt 0.633890 0.963368 +vt 0.624946 0.954015 +vt 0.624658 0.959808 +vt 0.611984 0.957453 +vt 0.615092 0.962349 +vt 0.603448 0.967843 +vt 0.608834 0.970042 +vt 0.602536 0.981548 +vt 0.608284 0.979956 +vt 0.638750 0.981532 +vt 0.223917 0.932574 +vt 0.232999 0.932574 +vt 0.233000 0.920753 +vt 0.223917 0.920753 +vt 0.242220 0.932574 +vt 0.242221 0.920753 +vt 0.251160 0.932574 +vt 0.251160 0.920753 +vt 0.260035 0.932574 +vt 0.260035 0.920753 +vt 0.268544 0.932574 +vt 0.268544 0.920753 +vt 0.277163 0.932574 +vt 0.277163 0.920753 +vt 0.207906 0.932574 +vt 0.215683 0.932574 +vt 0.215684 0.920753 +vt 0.207906 0.920753 +vt 0.515161 0.920274 +vt 0.508480 0.920274 +vt 0.513159 0.935389 +vt 0.482685 0.920274 +vt 0.482685 0.935389 +vt 0.277163 0.910653 +vt 0.268544 0.910653 +vt 0.260035 0.910653 +vt 0.251161 0.910653 +vt 0.242220 0.910653 +vt 0.233000 0.910653 +vt 0.223918 0.910653 +vt 0.215683 0.910653 +vt 0.207906 0.910653 +vt 0.843661 0.831557 +vt 0.819500 0.827674 +vt 0.819713 0.842626 +vt 0.843172 0.844352 +vt 0.843172 0.844352 +vt 0.819713 0.842626 +vt 0.821588 0.854563 +vt 0.841518 0.857027 +vt 0.841518 0.857027 +vt 0.821588 0.854563 +vt 0.820635 0.869631 +vt 0.838933 0.868515 +vt 0.743085 0.844945 +vt 0.745467 0.860837 +vt 0.760808 0.858542 +vt 0.758528 0.842570 +vt 0.783801 0.855202 +vt 0.760808 0.858542 +vt 0.763696 0.873734 +vt 0.786416 0.871830 +vt 0.782820 0.842597 +vt 0.783786 0.825691 +vt 0.759320 0.826753 +vt 0.758528 0.842570 +vt 0.783801 0.855202 +vt 0.782820 0.842597 +vt 0.758528 0.842570 +vt 0.760808 0.858542 +vt 0.802566 0.854047 +vt 0.803938 0.869997 +vt 0.801575 0.826974 +vt 0.800737 0.842863 +vt 0.800737 0.842863 +vt 0.802566 0.854047 +vt 0.542787 0.946218 +vt 0.536571 0.965426 +vt 0.545739 0.965419 +vt 0.550219 0.951608 +vt 0.542788 0.984598 +vt 0.550215 0.979216 +vt 0.559123 0.996488 +vt 0.561961 0.987757 +vt 0.579316 0.996466 +vt 0.576476 0.987751 +vt 0.595626 0.984618 +vt 0.588215 0.979224 +vt 0.601901 0.965425 +vt 0.592711 0.965417 +vt 0.595647 0.946198 +vt 0.588222 0.951603 +vt 0.579308 0.934361 +vt 0.576475 0.943077 +vt 0.559139 0.934348 +vt 0.561967 0.943074 +vt 0.797692 0.676526 +vt 0.772294 0.670822 +vt 0.772294 0.670822 +vt 0.795301 0.685331 +vt 0.772017 0.680774 +vt 0.542787 0.946218 +vt 0.536571 0.965426 +vt 0.545739 0.965419 +vt 0.550219 0.951608 +vt 0.542788 0.984598 +vt 0.550215 0.979216 +vt 0.559123 0.996488 +vt 0.561961 0.987757 +vt 0.579316 0.996466 +vt 0.576476 0.987751 +vt 0.595626 0.984618 +vt 0.588215 0.979224 +vt 0.601901 0.965425 +vt 0.592711 0.965417 +vt 0.595647 0.946198 +vt 0.588222 0.951603 +vt 0.579308 0.934361 +vt 0.576475 0.943077 +vt 0.559139 0.934348 +vt 0.561967 0.943074 +vt 0.795301 0.685331 +vt 0.792431 0.659122 +vt 0.843661 0.831557 +vt 0.819500 0.827674 +vt 0.819713 0.842626 +vt 0.843172 0.844352 +vt 0.843172 0.844352 +vt 0.819713 0.842626 +vt 0.821588 0.854563 +vt 0.841518 0.857027 +vt 0.841518 0.857027 +vt 0.821588 0.854563 +vt 0.820635 0.869631 +vt 0.838933 0.868515 +vt 0.783801 0.855202 +vt 0.760808 0.858542 +vt 0.763696 0.873734 +vt 0.786416 0.871830 +vt 0.782819 0.842597 +vt 0.783786 0.825691 +vt 0.759320 0.826753 +vt 0.758528 0.842570 +vt 0.783801 0.855202 +vt 0.782819 0.842597 +vt 0.758528 0.842570 +vt 0.760808 0.858542 +vt 0.802566 0.854047 +vt 0.803938 0.869997 +vt 0.801575 0.826974 +vt 0.800737 0.842863 +vt 0.800737 0.842863 +vt 0.802566 0.854047 +vt 0.224206 0.989148 +vt 0.238950 0.989148 +vt 0.238950 0.961720 +vt 0.224206 0.961720 +vt 0.255949 0.989148 +vt 0.255949 0.961720 +vt 0.272788 0.989148 +vt 0.272788 0.961720 +vt 0.288974 0.989148 +vt 0.288974 0.961720 +vt 0.306463 0.989148 +vt 0.306463 0.961720 +vt 0.323231 0.989148 +vt 0.323231 0.961720 +vt 0.339239 0.989148 +vt 0.339239 0.961720 +vt 0.355049 0.989148 +vt 0.355049 0.961720 +vt 0.368223 0.989148 +vt 0.368223 0.961720 +vt 0.207121 0.989148 +vt 0.207121 0.961720 +vt 0.207395 0.958377 +vt 0.221277 0.958377 +vt 0.221277 0.940272 +vt 0.207395 0.940272 +vt 0.236980 0.958377 +vt 0.236980 0.940272 +vt 0.252534 0.958377 +vt 0.252534 0.940272 +vt 0.267492 0.958377 +vt 0.267492 0.940272 +vt 0.282960 0.958377 +vt 0.282960 0.940272 +vt 0.297506 0.958377 +vt 0.297506 0.940272 +vt 0.312107 0.958377 +vt 0.312107 0.940272 +vt 0.326609 0.958377 +vt 0.326609 0.940272 +vt 0.340477 0.958377 +vt 0.340477 0.940272 +vt 0.353511 0.958377 +vt 0.353511 0.940272 +vt 0.244109 0.761706 +vt 0.254564 0.761442 +vt 0.254755 0.752994 +vt 0.243283 0.752660 +vt 0.265432 0.762039 +vt 0.265848 0.753583 +vt 0.276282 0.763408 +vt 0.277002 0.753908 +vt 0.286803 0.765604 +vt 0.288526 0.754549 +vt 0.296804 0.768765 +vt 0.300125 0.756467 +vt 0.286803 0.765604 +vt 0.288526 0.754549 +vt 0.276282 0.763408 +vt 0.277002 0.753908 +vt 0.265432 0.762039 +vt 0.265848 0.753583 +vt 0.254564 0.761442 +vt 0.254755 0.752994 +vt 0.246936 0.782374 +vt 0.254690 0.781015 +vt 0.262737 0.781821 +vt 0.270448 0.784814 +vt 0.277369 0.789342 +vt 0.283527 0.794494 +vt 0.277369 0.789342 +vt 0.270448 0.784814 +vt 0.262737 0.781821 +vt 0.254690 0.781015 +vt 0.248280 0.806800 +vt 0.253085 0.805996 +vt 0.257812 0.806614 +vt 0.262222 0.808685 +vt 0.266210 0.811780 +vt 0.269832 0.815302 +vt 0.266210 0.811780 +vt 0.262222 0.808685 +vt 0.257812 0.806614 +vt 0.253085 0.805996 +vt 0.795787 0.887974 +vt 0.795787 0.887974 +vt 0.792508 0.888345 +vt 0.799010 0.924296 +vt 0.814208 0.917624 +vt 0.792508 0.888345 +vt 0.789242 0.887569 +vt 0.782798 0.925228 +vt 0.799010 0.924296 +vt 0.786081 0.886458 +vt 0.783049 0.885021 +vt 0.755406 0.909143 +vt 0.767554 0.919929 +vt 0.783049 0.885021 +vt 0.780759 0.882646 +vt 0.747574 0.894536 +vt 0.755406 0.909143 +vt 0.224206 0.989148 +vt 0.238950 0.989148 +vt 0.238950 0.961720 +vt 0.224206 0.961720 +vt 0.255949 0.989148 +vt 0.255949 0.961720 +vt 0.272788 0.989148 +vt 0.272788 0.961720 +vt 0.288974 0.989148 +vt 0.288974 0.961720 +vt 0.306463 0.989148 +vt 0.306463 0.961720 +vt 0.323231 0.989148 +vt 0.323231 0.961720 +vt 0.339239 0.989148 +vt 0.339239 0.961720 +vt 0.355049 0.989148 +vt 0.355049 0.961720 +vt 0.368223 0.989148 +vt 0.368223 0.961720 +vt 0.207121 0.989148 +vt 0.207121 0.961720 +vt 0.421130 0.976369 +vt 0.207395 0.958377 +vt 0.221277 0.958377 +vt 0.221277 0.940272 +vt 0.207395 0.940272 +vt 0.236980 0.958377 +vt 0.236980 0.940272 +vt 0.252534 0.958377 +vt 0.252534 0.940272 +vt 0.267492 0.958377 +vt 0.267492 0.940272 +vt 0.282960 0.958377 +vt 0.282960 0.940272 +vt 0.297506 0.958377 +vt 0.297506 0.940272 +vt 0.312107 0.958377 +vt 0.312107 0.940272 +vt 0.326609 0.958377 +vt 0.326609 0.940272 +vt 0.340477 0.958377 +vt 0.340477 0.940272 +vt 0.353511 0.958377 +vt 0.353511 0.940272 +vt 0.244109 0.761706 +vt 0.254564 0.761442 +vt 0.254755 0.752994 +vt 0.243283 0.752660 +vt 0.265432 0.762039 +vt 0.265848 0.753583 +vt 0.276282 0.763408 +vt 0.277002 0.753908 +vt 0.286803 0.765604 +vt 0.288526 0.754549 +vt 0.296804 0.768765 +vt 0.300125 0.756467 +vt 0.286803 0.765604 +vt 0.288526 0.754549 +vt 0.276282 0.763408 +vt 0.277002 0.753908 +vt 0.265432 0.762039 +vt 0.265848 0.753583 +vt 0.254564 0.761442 +vt 0.254755 0.752994 +vt 0.246936 0.782374 +vt 0.254690 0.781015 +vt 0.262737 0.781821 +vt 0.270448 0.784814 +vt 0.277369 0.789342 +vt 0.283527 0.794494 +vt 0.277369 0.789342 +vt 0.270448 0.784814 +vt 0.262737 0.781821 +vt 0.254690 0.781015 +vt 0.248280 0.806800 +vt 0.253085 0.805996 +vt 0.257812 0.806614 +vt 0.262222 0.808685 +vt 0.266210 0.811780 +vt 0.269832 0.815302 +vt 0.266210 0.811780 +vt 0.262222 0.808685 +vt 0.257812 0.806614 +vt 0.253085 0.805996 +vt 0.795787 0.887974 +vt 0.792508 0.888345 +vt 0.799010 0.924296 +vt 0.814208 0.917624 +vt 0.792508 0.888345 +vt 0.789242 0.887569 +vt 0.782798 0.925228 +vt 0.799010 0.924296 +vt 0.786081 0.886458 +vt 0.783049 0.885021 +vt 0.755406 0.909143 +vt 0.767554 0.919929 +vt 0.783049 0.885021 +vt 0.780759 0.882646 +vt 0.747574 0.894536 +vt 0.755406 0.909143 +vt 0.174377 0.138546 +vt 0.207891 0.172147 +vt 0.207779 0.158104 +vt 0.181977 0.172356 +vt 0.433241 0.397430 +vt 0.456386 0.397430 +vt 0.456386 0.347763 +vt 0.433241 0.347763 +vt 0.325524 0.397430 +vt 0.351838 0.397430 +vt 0.351838 0.347763 +vt 0.325524 0.347763 +vt 0.371053 0.397430 +vt 0.371053 0.347763 +vt 0.390364 0.397430 +vt 0.390364 0.347763 +vt 0.412002 0.397430 +vt 0.412002 0.347763 +vt 0.433587 0.254843 +vt 0.445877 0.254833 +vt 0.445709 0.192432 +vt 0.434165 0.192550 +vt 0.422955 0.254845 +vt 0.424181 0.192806 +vt 0.410655 0.254588 +vt 0.412743 0.193408 +vt 0.390056 0.254089 +vt 0.391217 0.194966 +vt 0.458216 0.255010 +vt 0.468927 0.254922 +vt 0.467250 0.192560 +vt 0.457255 0.192394 +vt 0.456386 0.347763 +vt 0.444716 0.005849 +vt 0.427037 0.006031 +vt 0.411726 0.006585 +vt 0.394088 0.008055 +vt 0.371787 0.010630 +vt 0.478706 0.193054 +vt 0.500278 0.194393 +vt 0.517699 0.009834 +vt 0.495369 0.007501 +vt 0.477713 0.006223 +vt 0.462396 0.005837 +vt 0.390363 0.397430 +vt 0.390363 0.347763 +vt 0.371053 0.347763 +vt 0.371053 0.397430 +vt 0.505253 0.397430 +vt 0.505253 0.347763 +vt 0.478889 0.347763 +vt 0.478889 0.397430 +vt 0.456386 0.347763 +vt 0.456386 0.397430 +vt 0.433241 0.347763 +vt 0.433241 0.397430 +vt 0.412002 0.347763 +vt 0.412002 0.397430 +vt 0.458216 0.255011 +vt 0.457255 0.192394 +vt 0.445709 0.192432 +vt 0.445877 0.254833 +vt 0.468927 0.254922 +vt 0.467249 0.192560 +vt 0.481304 0.254550 +vt 0.478706 0.193054 +vt 0.502013 0.253817 +vt 0.500278 0.194392 +vt 0.410655 0.254588 +vt 0.412743 0.193408 +vt 0.391217 0.194966 +vt 0.390056 0.254089 +vt 0.422955 0.254845 +vt 0.424181 0.192806 +vt 0.433587 0.254843 +vt 0.434165 0.192550 +vt 0.371053 0.347763 +vt 0.351838 0.334431 +vt 0.351838 0.347763 +vt 0.325523 0.334431 +vt 0.325523 0.347763 +vt 0.505253 0.347763 +vt 0.505253 0.334431 +vt 0.462396 0.005837 +vt 0.444716 0.005849 +vt 0.477713 0.006223 +vt 0.495369 0.007501 +vt 0.517699 0.009835 +vt 0.394088 0.008055 +vt 0.371787 0.010630 +vt 0.411726 0.006585 +vt 0.427037 0.006031 +vt 0.573963 0.010867 +vt 0.517699 0.009835 +vt 0.500278 0.194392 +vt 0.546586 0.196227 +vt 0.546586 0.196228 +vt 0.502013 0.253817 +vt 0.546788 0.255153 +vt 0.559262 0.348354 +vt 0.559262 0.334313 +vt 0.505244 0.334437 +vt 0.505244 0.347769 +vt 0.433234 0.397436 +vt 0.456379 0.397436 +vt 0.456379 0.347769 +vt 0.433234 0.347769 +vt 0.478881 0.397436 +vt 0.478881 0.347769 +vt 0.505244 0.397436 +vt 0.505244 0.347769 +vt 0.325517 0.397436 +vt 0.351830 0.397436 +vt 0.351830 0.347769 +vt 0.325517 0.347769 +vt 0.371046 0.397436 +vt 0.371046 0.347769 +vt 0.390356 0.397436 +vt 0.390356 0.347769 +vt 0.411994 0.397436 +vt 0.411994 0.347769 +vt 0.433579 0.254849 +vt 0.445870 0.254839 +vt 0.445702 0.192438 +vt 0.434159 0.192556 +vt 0.422947 0.254850 +vt 0.424174 0.192811 +vt 0.410648 0.254593 +vt 0.412736 0.193413 +vt 0.390049 0.254094 +vt 0.391210 0.194972 +vt 0.481297 0.254555 +vt 0.502006 0.253823 +vt 0.500270 0.194399 +vt 0.478698 0.193060 +vt 0.468920 0.254927 +vt 0.467242 0.192566 +vt 0.458209 0.255016 +vt 0.457247 0.192400 +vt 0.456379 0.347769 +vt 0.478881 0.334437 +vt 0.478881 0.347769 +vt 0.505244 0.334437 +vt 0.505244 0.347769 +vt 0.444709 0.005856 +vt 0.427029 0.006038 +vt 0.411720 0.006592 +vt 0.394081 0.008062 +vt 0.371780 0.010637 +vt 0.517692 0.009840 +vt 0.495361 0.007508 +vt 0.477706 0.006230 +vt 0.462389 0.005844 +vt 0.573080 0.111794 +vt 0.617867 0.111794 +vt 0.617853 0.089806 +vt 0.573071 0.089806 +vt 0.623897 0.111794 +vt 0.647030 0.111794 +vt 0.647029 0.089806 +vt 0.623887 0.089806 +vt 0.670910 0.111794 +vt 0.670920 0.089806 +vt 0.623897 0.111794 +vt 0.623887 0.089806 +vt 0.616463 0.083451 +vt 0.573144 0.083451 +vt 0.624826 0.083451 +vt 0.647085 0.083451 +vt 0.624826 0.083451 +vt 0.669990 0.083451 +vt 0.573159 0.118205 +vt 0.616489 0.118205 +vt 0.647086 0.118205 +vt 0.669977 0.118205 +vt 0.624841 0.118205 +vt 0.624841 0.118205 +vt 0.573080 0.111794 +vt 0.617867 0.111794 +vt 0.617853 0.089806 +vt 0.573071 0.089806 +vt 0.721801 0.089806 +vt 0.678175 0.089806 +vt 0.678162 0.111794 +vt 0.721792 0.111794 +vt 0.623897 0.111794 +vt 0.647030 0.111794 +vt 0.647029 0.089806 +vt 0.623887 0.089806 +vt 0.670910 0.111794 +vt 0.670920 0.089806 +vt 0.670920 0.089806 +vt 0.670910 0.111794 +vt 0.623897 0.111794 +vt 0.623887 0.089806 +vt 0.616463 0.083451 +vt 0.573144 0.083451 +vt 0.721708 0.083451 +vt 0.679462 0.083451 +vt 0.624826 0.083451 +vt 0.647085 0.083451 +vt 0.624826 0.083451 +vt 0.669990 0.083451 +vt 0.669990 0.083451 +vt 0.573159 0.118205 +vt 0.616489 0.118205 +vt 0.679434 0.118205 +vt 0.721693 0.118205 +vt 0.669977 0.118205 +vt 0.647086 0.118205 +vt 0.669977 0.118205 +vt 0.624841 0.118205 +vt 0.624841 0.118205 +vt 0.715725 0.056066 +vt 0.715723 0.032352 +vt 0.682043 0.032352 +vt 0.682041 0.056066 +vt 0.715726 0.078252 +vt 0.682040 0.078251 +vt 0.710043 0.029956 +vt 0.687722 0.029957 +vt 0.687718 0.080599 +vt 0.710048 0.080599 +vt 0.573080 0.111794 +vt 0.573071 0.089806 +vt 0.617853 0.089806 +vt 0.617867 0.111794 +vt 0.623897 0.111794 +vt 0.623887 0.089806 +vt 0.647029 0.089806 +vt 0.647030 0.111794 +vt 0.670920 0.089806 +vt 0.670910 0.111794 +vt 0.623887 0.089806 +vt 0.623897 0.111794 +vt 0.573144 0.083451 +vt 0.616463 0.083451 +vt 0.624826 0.083451 +vt 0.624826 0.083451 +vt 0.647085 0.083451 +vt 0.669990 0.083451 +vt 0.616489 0.118205 +vt 0.573159 0.118205 +vt 0.669977 0.118205 +vt 0.647086 0.118205 +vt 0.624841 0.118205 +vt 0.624841 0.118205 +vt 0.715724 0.056066 +vt 0.682041 0.056066 +vt 0.682043 0.032353 +vt 0.715722 0.032353 +vt 0.715725 0.078251 +vt 0.682040 0.078251 +vt 0.710043 0.029957 +vt 0.687723 0.029957 +vt 0.710048 0.080599 +vt 0.687718 0.080599 +vt 0.213034 0.197378 +vt 0.202559 0.197150 +vt 0.202544 0.207042 +vt 0.213019 0.206849 +vt 0.186358 0.196200 +vt 0.186344 0.207939 +vt 0.180225 0.157496 +vt 0.168351 0.158737 +vt 0.169209 0.175931 +vt 0.179621 0.174454 +vt 0.181754 0.189784 +vt 0.187389 0.183595 +vt 0.203120 0.194920 +vt 0.202461 0.187693 +vt 0.180231 0.157515 +vt 0.179629 0.174456 +vt 0.169227 0.175931 +vt 0.168368 0.158755 +vt 0.187388 0.183587 +vt 0.181758 0.189769 +vt 0.202444 0.187681 +vt 0.203102 0.194901 +vt 0.144716 0.126890 +vt 0.143601 0.143303 +vt 0.153187 0.143957 +vt 0.155341 0.127980 +vt 0.166833 0.147117 +vt 0.167453 0.130088 +vt 0.156468 0.130088 +vt 0.157086 0.147117 +vt 0.143677 0.162180 +vt 0.151780 0.162337 +vt 0.166138 0.159930 +vt 0.157899 0.159930 +vt 0.145001 0.185061 +vt 0.150461 0.185078 +vt 0.164736 0.176598 +vt 0.157603 0.176598 +vt 0.028546 0.972752 +vt 0.085950 0.973428 +vt 0.086440 0.919348 +vt 0.029073 0.919083 +vt 0.166909 0.908600 +vt 0.166909 0.944868 +vt 0.201591 0.944868 +vt 0.201591 0.908600 +vt 0.144381 0.973663 +vt 0.144866 0.920019 +vt 0.166909 0.981830 +vt 0.201591 0.981830 +vt 0.213034 0.197378 +vt 0.202559 0.197150 +vt 0.202544 0.207042 +vt 0.213019 0.206849 +vt 0.186358 0.196200 +vt 0.186344 0.207939 +vt 0.180225 0.157496 +vt 0.168351 0.158737 +vt 0.169209 0.175931 +vt 0.179621 0.174454 +vt 0.181754 0.189784 +vt 0.187389 0.183595 +vt 0.203120 0.194920 +vt 0.202461 0.187693 +vt 0.180231 0.157515 +vt 0.179629 0.174456 +vt 0.169227 0.175931 +vt 0.168368 0.158754 +vt 0.187388 0.183587 +vt 0.181758 0.189769 +vt 0.202444 0.187681 +vt 0.203102 0.194901 +vt 0.144716 0.126890 +vt 0.143601 0.143303 +vt 0.153187 0.143957 +vt 0.155341 0.127980 +vt 0.166833 0.147117 +vt 0.167453 0.130088 +vt 0.156468 0.130088 +vt 0.157086 0.147117 +vt 0.143677 0.162180 +vt 0.151778 0.162337 +vt 0.166138 0.159930 +vt 0.157900 0.159930 +vt 0.145001 0.185061 +vt 0.150461 0.185078 +vt 0.164736 0.176598 +vt 0.157603 0.176598 +vt 0.222181 0.184952 +vt 0.222181 0.184952 +vt 0.213034 0.197378 +vt 0.202559 0.197150 +vt 0.202544 0.207042 +vt 0.213019 0.206849 +vt 0.186358 0.196200 +vt 0.186344 0.207939 +vt 0.180231 0.157515 +vt 0.168368 0.158755 +vt 0.169227 0.175931 +vt 0.179629 0.174456 +vt 0.181758 0.189769 +vt 0.187388 0.183587 +vt 0.203102 0.194901 +vt 0.202444 0.187681 +vt 0.180231 0.157515 +vt 0.179629 0.174456 +vt 0.169227 0.175931 +vt 0.168368 0.158755 +vt 0.187388 0.183587 +vt 0.181758 0.189769 +vt 0.202444 0.187681 +vt 0.203102 0.194901 +vt 0.144716 0.126890 +vt 0.143601 0.143303 +vt 0.153187 0.143957 +vt 0.155341 0.127980 +vt 0.166833 0.147117 +vt 0.167453 0.130088 +vt 0.156468 0.130088 +vt 0.157086 0.147117 +vt 0.143677 0.162180 +vt 0.151778 0.162337 +vt 0.166138 0.159930 +vt 0.157900 0.159930 +vt 0.145001 0.185061 +vt 0.150461 0.185078 +vt 0.164736 0.176598 +vt 0.157603 0.176598 +vt 0.028546 0.972752 +vt 0.085950 0.973428 +vt 0.086440 0.919348 +vt 0.029073 0.919083 +vt 0.166909 0.908600 +vt 0.166909 0.944868 +vt 0.201591 0.944868 +vt 0.201591 0.908600 +vt 0.144381 0.973663 +vt 0.144866 0.920019 +vt 0.166909 0.981830 +vt 0.201591 0.981830 +vt 0.222181 0.184952 +vt 0.222181 0.184952 +vt 0.213034 0.197378 +vt 0.202559 0.197150 +vt 0.202544 0.207042 +vt 0.213019 0.206849 +vt 0.223974 0.196470 +vt 0.213034 0.197378 +vt 0.213019 0.206849 +vt 0.223956 0.207798 +vt 0.186358 0.196200 +vt 0.186344 0.207939 +vt 0.180231 0.157515 +vt 0.168368 0.158755 +vt 0.169227 0.175931 +vt 0.179629 0.174456 +vt 0.181758 0.189769 +vt 0.187388 0.183587 +vt 0.203102 0.194901 +vt 0.202444 0.187681 +vt 0.180231 0.157515 +vt 0.179629 0.174456 +vt 0.169227 0.175931 +vt 0.168368 0.158755 +vt 0.187388 0.183587 +vt 0.181758 0.189769 +vt 0.202444 0.187681 +vt 0.203102 0.194901 +vt 0.144716 0.126890 +vt 0.143601 0.143303 +vt 0.153187 0.143957 +vt 0.155341 0.127980 +vt 0.166833 0.147117 +vt 0.167453 0.130088 +vt 0.156468 0.130088 +vt 0.157086 0.147117 +vt 0.143677 0.162180 +vt 0.151778 0.162337 +vt 0.166138 0.159930 +vt 0.157900 0.159930 +vt 0.145001 0.185061 +vt 0.150461 0.185078 +vt 0.164736 0.176598 +vt 0.157603 0.176598 +vt 0.890755 0.733858 +vt 0.898922 0.733858 +vt 0.898869 0.702745 +vt 0.891741 0.702745 +vt 0.907283 0.733858 +vt 0.906193 0.702745 +vt 0.915853 0.733858 +vt 0.913663 0.702745 +vt 0.924218 0.733858 +vt 0.920871 0.702745 +vt 0.932056 0.733858 +vt 0.927442 0.702745 +vt 0.849772 0.733858 +vt 0.857324 0.733858 +vt 0.862545 0.702745 +vt 0.856201 0.702745 +vt 0.865355 0.733858 +vt 0.869515 0.702745 +vt 0.873860 0.733858 +vt 0.876967 0.702745 +vt 0.882431 0.733858 +vt 0.884482 0.702745 +vt 0.877212 0.695801 +vt 0.869967 0.695801 +vt 0.863093 0.695801 +vt 0.855827 0.695801 +vt 0.927610 0.695801 +vt 0.919918 0.695801 +vt 0.912946 0.695801 +vt 0.906382 0.695801 +vt 0.899676 0.695801 +vt 0.892485 0.695801 +vt 0.884848 0.695801 +vt 0.890755 0.733859 +vt 0.898921 0.733859 +vt 0.898869 0.702746 +vt 0.891741 0.702746 +vt 0.907283 0.733859 +vt 0.906193 0.702746 +vt 0.915852 0.733859 +vt 0.913663 0.702746 +vt 0.924219 0.733859 +vt 0.920872 0.702746 +vt 0.932056 0.733859 +vt 0.927442 0.702746 +vt 0.849772 0.733859 +vt 0.857325 0.733859 +vt 0.862545 0.702746 +vt 0.856201 0.702746 +vt 0.865356 0.733859 +vt 0.869515 0.702746 +vt 0.873860 0.733859 +vt 0.876967 0.702746 +vt 0.882430 0.733859 +vt 0.884482 0.702746 +vt 0.877212 0.695802 +vt 0.869967 0.695802 +vt 0.863093 0.695802 +vt 0.855827 0.695802 +vt 0.927610 0.695802 +vt 0.919918 0.695802 +vt 0.912946 0.695802 +vt 0.906382 0.695802 +vt 0.899675 0.695802 +vt 0.892485 0.695802 +vt 0.884849 0.695802 +vt 0.447248 0.915094 +vt 0.532627 0.915094 +vt 0.533533 0.849959 +vt 0.448154 0.849959 +vt 0.447248 0.915094 +vt 0.692740 0.609015 +vt 0.717206 0.609015 +vt 0.717206 0.593044 +vt 0.692740 0.593044 +vt 0.742813 0.609015 +vt 0.742813 0.593044 +vt 0.765585 0.609015 +vt 0.765585 0.593044 +vt 0.790694 0.609015 +vt 0.790694 0.593044 +vt 0.814694 0.609015 +vt 0.814694 0.593044 +vt 0.842015 0.609015 +vt 0.842015 0.593044 +vt 0.867997 0.609015 +vt 0.867997 0.593044 +vt 0.893928 0.609015 +vt 0.893928 0.593044 +vt 0.918320 0.609015 +vt 0.918320 0.593044 +vt 0.939929 0.609015 +vt 0.939929 0.593044 +vt 0.692740 0.557075 +vt 0.717206 0.557075 +vt 0.717206 0.549366 +vt 0.692740 0.549445 +vt 0.742813 0.557075 +vt 0.742813 0.549430 +vt 0.765585 0.557075 +vt 0.765585 0.549427 +vt 0.790694 0.557075 +vt 0.790694 0.549449 +vt 0.814694 0.557075 +vt 0.814694 0.549420 +vt 0.842015 0.557075 +vt 0.842015 0.549403 +vt 0.867997 0.557075 +vt 0.867997 0.549417 +vt 0.893928 0.557075 +vt 0.893928 0.549408 +vt 0.918320 0.557075 +vt 0.918320 0.549438 +vt 0.939929 0.557075 +vt 0.939929 0.549388 +vt 0.692740 0.549445 +vt 0.717206 0.549366 +vt 0.717206 0.539500 +vt 0.692740 0.539500 +vt 0.742813 0.549430 +vt 0.742813 0.539500 +vt 0.765585 0.549427 +vt 0.765585 0.539500 +vt 0.790694 0.549449 +vt 0.790694 0.539500 +vt 0.790694 0.549449 +vt 0.814694 0.549420 +vt 0.814694 0.539500 +vt 0.790694 0.539500 +vt 0.842015 0.549403 +vt 0.842015 0.539500 +vt 0.867997 0.549417 +vt 0.867997 0.539500 +vt 0.893928 0.549408 +vt 0.893928 0.539500 +vt 0.918320 0.549438 +vt 0.918320 0.539500 +vt 0.939929 0.549388 +vt 0.939929 0.539500 +vt 0.867997 0.575341 +vt 0.893928 0.575341 +vt 0.893928 0.557075 +vt 0.867997 0.557075 +vt 0.842015 0.575341 +vt 0.842015 0.557075 +vt 0.814694 0.575341 +vt 0.814694 0.557075 +vt 0.790694 0.575341 +vt 0.790694 0.557075 +vt 0.765585 0.575341 +vt 0.765585 0.557075 +vt 0.742813 0.575341 +vt 0.742813 0.557075 +vt 0.717206 0.575341 +vt 0.717206 0.557075 +vt 0.692740 0.575341 +vt 0.692740 0.557075 +vt 0.918320 0.575341 +vt 0.939929 0.575341 +vt 0.939929 0.557075 +vt 0.918320 0.557075 +vt 0.692520 0.407616 +vt 0.692520 0.438477 +vt 0.725542 0.438477 +vt 0.725542 0.407616 +vt 0.725542 0.502057 +vt 0.725542 0.470710 +vt 0.692520 0.470710 +vt 0.692520 0.502057 +vt 0.692520 0.438477 +vt 0.692520 0.453555 +vt 0.725542 0.453555 +vt 0.725542 0.438477 +vt 0.692520 0.518117 +vt 0.692520 0.533770 +vt 0.725542 0.533770 +vt 0.725542 0.518117 +vt 0.729861 0.438477 +vt 0.729861 0.407616 +vt 0.729861 0.453555 +vt 0.729861 0.438477 +vt 0.729861 0.502057 +vt 0.729861 0.470710 +vt 0.729861 0.533770 +vt 0.729861 0.518117 +vt 0.725542 0.502057 +vt 0.729861 0.502057 +vt 0.692520 0.502057 +vt 0.692520 0.470710 +vt 0.725542 0.470710 +vt 0.729861 0.470710 +vt 0.939885 0.344344 +vt 0.939386 0.324138 +vt 0.899998 0.325679 +vt 0.900142 0.343649 +vt 0.939386 0.324138 +vt 0.941715 0.371086 +vt 0.868319 0.324892 +vt 0.868660 0.345654 +vt 0.844879 0.325713 +vt 0.845249 0.345712 +vt 0.939885 0.344344 +vt 0.939386 0.324138 +vt 0.899998 0.325679 +vt 0.900142 0.343649 +vt 0.940809 0.297498 +vt 0.939386 0.324138 +vt 0.900832 0.373884 +vt 0.941715 0.371086 +vt 0.939885 0.344344 +vt 0.868319 0.324892 +vt 0.868660 0.345654 +vt 0.844879 0.325713 +vt 0.845249 0.345712 +vt 0.692520 0.407616 +vt 0.692520 0.438477 +vt 0.725542 0.438477 +vt 0.725542 0.407616 +vt 0.725542 0.502057 +vt 0.725542 0.470710 +vt 0.692520 0.470710 +vt 0.692520 0.502057 +vt 0.692520 0.438477 +vt 0.692520 0.453555 +vt 0.725542 0.453555 +vt 0.725542 0.438477 +vt 0.692520 0.518117 +vt 0.692520 0.533770 +vt 0.725542 0.533770 +vt 0.725542 0.518117 +vt 0.729861 0.438477 +vt 0.729861 0.407616 +vt 0.729861 0.453555 +vt 0.729861 0.438477 +vt 0.729861 0.502057 +vt 0.729861 0.470710 +vt 0.729861 0.533770 +vt 0.729861 0.518117 +vt 0.725542 0.502057 +vt 0.729861 0.502057 +vt 0.692520 0.502057 +vt 0.692520 0.470710 +vt 0.725542 0.470710 +vt 0.729861 0.470710 +vt 0.939885 0.344344 +vt 0.939386 0.324138 +vt 0.899998 0.325679 +vt 0.900142 0.343649 +vt 0.941715 0.371086 +vt 0.868319 0.324892 +vt 0.868660 0.345654 +vt 0.843504 0.298977 +vt 0.844879 0.325713 +vt 0.844879 0.325713 +vt 0.845249 0.345712 +vt 0.844917 0.372430 +vt 0.845249 0.345712 +vt 0.692520 0.407616 +vt 0.692520 0.438477 +vt 0.725542 0.438477 +vt 0.725542 0.407616 +vt 0.725542 0.502057 +vt 0.725542 0.470710 +vt 0.692520 0.470710 +vt 0.692520 0.502057 +vt 0.692520 0.438477 +vt 0.692520 0.453555 +vt 0.725542 0.453555 +vt 0.725542 0.438477 +vt 0.692520 0.518117 +vt 0.692520 0.533770 +vt 0.725542 0.533770 +vt 0.725542 0.518117 +vt 0.729861 0.438477 +vt 0.729861 0.407616 +vt 0.729861 0.453555 +vt 0.729861 0.438477 +vt 0.729861 0.502057 +vt 0.729861 0.470710 +vt 0.729861 0.533770 +vt 0.729861 0.518117 +vt 0.725542 0.502057 +vt 0.729861 0.502057 +vt 0.692520 0.502057 +vt 0.692520 0.470710 +vt 0.725542 0.470710 +vt 0.729861 0.470710 +vt 0.939885 0.344344 +vt 0.939386 0.324138 +vt 0.899998 0.325679 +vt 0.900142 0.343649 +vt 0.868319 0.324892 +vt 0.868660 0.345654 +vt 0.844879 0.325713 +vt 0.845249 0.345712 +vt 0.692520 0.407616 +vt 0.692520 0.438477 +vt 0.725542 0.438477 +vt 0.725542 0.407616 +vt 0.725542 0.502057 +vt 0.725542 0.470710 +vt 0.692520 0.470710 +vt 0.692520 0.502057 +vt 0.692520 0.438477 +vt 0.692520 0.453555 +vt 0.725542 0.453555 +vt 0.725542 0.438477 +vt 0.692520 0.518117 +vt 0.692520 0.533770 +vt 0.725542 0.533770 +vt 0.725542 0.518117 +vt 0.729861 0.438477 +vt 0.729861 0.407616 +vt 0.729861 0.453555 +vt 0.729861 0.438477 +vt 0.729861 0.502057 +vt 0.729861 0.470710 +vt 0.729861 0.533770 +vt 0.729861 0.518117 +vt 0.725542 0.502057 +vt 0.729861 0.502057 +vt 0.692520 0.502057 +vt 0.692520 0.470710 +vt 0.725542 0.470710 +vt 0.729861 0.470710 +vt 0.734306 0.534676 +vt 0.783426 0.534676 +vt 0.783469 0.485554 +vt 0.734878 0.485438 +vt 0.832497 0.535082 +vt 0.832123 0.485559 +vt 0.783453 0.436543 +vt 0.734464 0.436118 +vt 0.832472 0.436098 +vt 0.872792 0.613786 +vt 0.853734 0.612237 +vt 0.853944 0.628134 +vt 0.870679 0.629661 +vt 0.835799 0.613290 +vt 0.838282 0.628773 +vt 0.967861 0.746371 +vt 0.969147 0.727937 +vt 0.954108 0.728889 +vt 0.952982 0.745012 +vt 0.967303 0.710321 +vt 0.952588 0.713255 +vt 0.962781 0.693028 +vt 0.948703 0.697853 +vt 0.955664 0.677432 +vt 0.942633 0.684041 +vt 0.946876 0.660263 +vt 0.935073 0.669134 +vt 0.935251 0.646255 +vt 0.924899 0.657066 +vt 0.921006 0.634921 +vt 0.912418 0.647359 +vt 0.904397 0.625334 +vt 0.897971 0.639224 +vt 0.889902 0.617976 +vt 0.885409 0.633104 +vt 0.901593 0.655573 +vt 0.912975 0.663108 +vt 0.912975 0.663108 +vt 0.922153 0.673181 +vt 0.922153 0.673181 +vt 0.928680 0.686158 +vt 0.933454 0.698178 +vt 0.933454 0.698178 +vt 0.936531 0.711408 +vt 0.937902 0.724912 +vt 0.937902 0.724912 +vt 0.937623 0.739175 +vt 0.835075 0.645702 +vt 0.848902 0.644436 +vt 0.863596 0.644341 +vt 0.876775 0.645744 +vt 0.876775 0.645744 +vt 0.888347 0.649729 +vt 0.962965 0.664735 +vt 0.912697 0.478665 +vt 0.886088 0.455685 +vt 0.908393 0.456087 +vt 0.905257 0.438109 +vt 0.894941 0.438976 +vt 0.887521 0.462014 +vt 0.884886 0.480072 +vt 0.907170 0.479053 +vt 0.897857 0.462595 +vt 0.957304 0.454633 +vt 0.913207 0.453729 +vt 0.886088 0.455685 +vt 0.908393 0.456087 +vt 0.905257 0.438109 +vt 0.894941 0.438976 +vt 0.887521 0.462014 +vt 0.884886 0.480072 +vt 0.907170 0.479053 +vt 0.897857 0.462595 +vt 0.847207 0.533353 +vt 0.855382 0.534309 +vt 0.855548 0.527683 +vt 0.848043 0.526833 +vt 0.855382 0.534309 +vt 0.862861 0.534750 +vt 0.862763 0.528041 +vt 0.855548 0.527683 +vt 0.862861 0.534750 +vt 0.870463 0.534212 +vt 0.870024 0.527636 +vt 0.862763 0.528041 +vt 0.870463 0.534212 +vt 0.878425 0.532921 +vt 0.877410 0.526607 +vt 0.870024 0.527636 +vt 0.878425 0.532921 +vt 0.886229 0.530982 +vt 0.884225 0.525367 +vt 0.877410 0.526607 +vt 0.838944 0.531680 +vt 0.847207 0.533353 +vt 0.848043 0.526833 +vt 0.840988 0.525864 +vt 0.852208 0.453817 +vt 0.953388 0.382203 +vt 0.962381 0.379198 +vt 0.953391 0.379190 +vt 0.953388 0.382203 +vt 0.962377 0.382209 +vt 0.953390 0.413333 +vt 0.962382 0.413326 +vt 0.962378 0.409832 +vt 0.953389 0.409837 +vt 0.917809 0.379193 +vt 0.908728 0.379195 +vt 0.908728 0.382209 +vt 0.917808 0.382206 +vt 0.908738 0.413338 +vt 0.917814 0.413327 +vt 0.917813 0.409832 +vt 0.908733 0.409840 +vt 0.926085 0.379194 +vt 0.926084 0.382207 +vt 0.926086 0.413331 +vt 0.926087 0.409835 +vt 0.934492 0.379190 +vt 0.934492 0.382204 +vt 0.934492 0.413330 +vt 0.934492 0.409835 +vt 0.943951 0.379193 +vt 0.943949 0.382205 +vt 0.943950 0.413327 +vt 0.943950 0.409833 +vt 0.868850 0.504464 +vt 0.875480 0.503975 +vt 0.874188 0.479446 +vt 0.868089 0.479673 +vt 0.862513 0.504601 +vt 0.868850 0.504464 +vt 0.868089 0.479673 +vt 0.862369 0.479702 +vt 0.856262 0.504404 +vt 0.862513 0.504601 +vt 0.862369 0.479702 +vt 0.856737 0.479596 +vt 0.849604 0.504006 +vt 0.856262 0.504404 +vt 0.856737 0.479596 +vt 0.850631 0.479418 +vt 0.843080 0.503581 +vt 0.849604 0.504006 +vt 0.850631 0.479418 +vt 0.844681 0.479216 +vt 0.875480 0.503975 +vt 0.881858 0.503313 +vt 0.880025 0.479065 +vt 0.874188 0.479446 +vt 0.873834 0.461243 +vt 0.867888 0.461225 +vt 0.867888 0.461225 +vt 0.862304 0.461148 +vt 0.862304 0.461148 +vt 0.856808 0.461156 +vt 0.856808 0.461156 +vt 0.850857 0.461215 +vt 0.850857 0.461215 +vt 0.845260 0.461190 +vt 0.879332 0.461065 +vt 0.873834 0.461243 +vt 0.869830 0.402958 +vt 0.889269 0.401140 +vt 0.887019 0.394049 +vt 0.865905 0.392227 +vt 0.838928 0.405387 +vt 0.852082 0.404251 +vt 0.850252 0.386839 +vt 0.838249 0.383533 +vt 0.842487 0.424429 +vt 0.855934 0.421234 +vt 0.874402 0.417067 +vt 0.892210 0.410176 +vt 0.860312 0.451857 +vt 0.868700 0.443409 +vt 0.879060 0.431597 +vt 0.896100 0.422242 +vt 0.869830 0.402958 +vt 0.865905 0.392227 +vt 0.887019 0.394049 +vt 0.889269 0.401140 +vt 0.838928 0.405387 +vt 0.838249 0.383533 +vt 0.850252 0.386839 +vt 0.852082 0.404251 +vt 0.842487 0.424429 +vt 0.855934 0.421234 +vt 0.874402 0.417068 +vt 0.892210 0.410176 +vt 0.860312 0.451857 +vt 0.868700 0.443409 +vt 0.879060 0.431597 +vt 0.896100 0.422242 +vt 0.888298 0.385681 +vt 0.868699 0.380390 +vt 0.865905 0.392227 +vt 0.887019 0.394049 +vt 0.886975 0.440720 +vt 0.900786 0.429337 +vt 0.896100 0.422242 +vt 0.879060 0.431597 +vt 0.633364 0.720187 +vt 0.638579 0.720186 +vt 0.638579 0.712444 +vt 0.633364 0.712444 +vt 0.644023 0.720186 +vt 0.644023 0.712444 +vt 0.649218 0.720186 +vt 0.649218 0.712444 +vt 0.654439 0.720187 +vt 0.654439 0.712444 +vt 0.659886 0.720187 +vt 0.659886 0.712444 +vt 0.664767 0.720187 +vt 0.664767 0.712444 +vt 0.669811 0.720187 +vt 0.669811 0.712444 +vt 0.674133 0.720187 +vt 0.674133 0.712444 +vt 0.678858 0.720187 +vt 0.678858 0.712444 +vt 0.628491 0.720187 +vt 0.628491 0.712444 +vt 0.792183 0.720849 +vt 0.787280 0.722822 +vt 0.792578 0.733394 +vt 0.798474 0.732060 +vt 0.781962 0.724601 +vt 0.783205 0.735394 +vt 0.776964 0.725977 +vt 0.777420 0.736479 +vt 0.772509 0.726942 +vt 0.772195 0.738293 +vt 0.768639 0.727374 +vt 0.767334 0.739780 +vt 0.765173 0.727165 +vt 0.762744 0.740196 +vt 0.761857 0.726292 +vt 0.758332 0.739158 +vt 0.758568 0.724783 +vt 0.754157 0.736648 +vt 0.755269 0.722753 +vt 0.750471 0.733127 +vt 0.796793 0.718681 +vt 0.804814 0.731182 +vt 0.784474 0.708630 +vt 0.781942 0.710985 +vt 0.778738 0.712706 +vt 0.775456 0.713462 +vt 0.772572 0.713380 +vt 0.770099 0.712831 +vt 0.767818 0.712139 +vt 0.765544 0.711481 +vt 0.763215 0.710934 +vt 0.760759 0.710454 +vt 0.786309 0.706096 +vt 0.778292 0.701635 +vt 0.777305 0.703052 +vt 0.775945 0.704020 +vt 0.774335 0.704328 +vt 0.772685 0.704039 +vt 0.771079 0.703415 +vt 0.769474 0.702737 +vt 0.767834 0.702192 +vt 0.766168 0.701851 +vt 0.764476 0.701658 +vt 0.779008 0.700064 +vt 0.755121 0.691118 +vt 0.754541 0.691970 +vt 0.765745 0.698617 +vt 0.767342 0.693549 +vt 0.751732 0.687455 +vt 0.752680 0.687988 +vt 0.757282 0.675638 +vt 0.751968 0.674424 +vt 0.753539 0.688588 +vt 0.754373 0.689200 +vt 0.764915 0.683031 +vt 0.761753 0.678759 +vt 0.754373 0.689200 +vt 0.755030 0.690070 +vt 0.766882 0.688114 +vt 0.764915 0.683031 +vt 0.848080 0.649470 +vt 0.633364 0.720187 +vt 0.633364 0.712444 +vt 0.638579 0.712444 +vt 0.638579 0.720186 +vt 0.644023 0.712444 +vt 0.644023 0.720186 +vt 0.649218 0.712444 +vt 0.649218 0.720186 +vt 0.654439 0.712444 +vt 0.654439 0.720187 +vt 0.659886 0.712444 +vt 0.659886 0.720187 +vt 0.664767 0.712444 +vt 0.664767 0.720187 +vt 0.669811 0.712444 +vt 0.669811 0.720187 +vt 0.674133 0.712444 +vt 0.674133 0.720187 +vt 0.678858 0.712444 +vt 0.678858 0.720187 +vt 0.628491 0.720187 +vt 0.628491 0.712444 +vt 0.752426 0.669395 +vt 0.792183 0.720849 +vt 0.798474 0.732060 +vt 0.792578 0.733394 +vt 0.787280 0.722822 +vt 0.783205 0.735394 +vt 0.781962 0.724601 +vt 0.777420 0.736479 +vt 0.776964 0.725977 +vt 0.772195 0.738293 +vt 0.772509 0.726942 +vt 0.767334 0.739780 +vt 0.768639 0.727374 +vt 0.762744 0.740196 +vt 0.765173 0.727165 +vt 0.758332 0.739158 +vt 0.761857 0.726292 +vt 0.754157 0.736648 +vt 0.758568 0.724783 +vt 0.750471 0.733127 +vt 0.755269 0.722753 +vt 0.796793 0.718681 +vt 0.804814 0.731182 +vt 0.781942 0.710985 +vt 0.784474 0.708630 +vt 0.778738 0.712706 +vt 0.775456 0.713462 +vt 0.772572 0.713380 +vt 0.770099 0.712831 +vt 0.767818 0.712139 +vt 0.765544 0.711481 +vt 0.763215 0.710934 +vt 0.760759 0.710454 +vt 0.786309 0.706096 +vt 0.777305 0.703052 +vt 0.778292 0.701635 +vt 0.775945 0.704020 +vt 0.774335 0.704328 +vt 0.772685 0.704039 +vt 0.771079 0.703415 +vt 0.769474 0.702737 +vt 0.767834 0.702192 +vt 0.766168 0.701851 +vt 0.764476 0.701658 +vt 0.779008 0.700064 +vt 0.755121 0.691118 +vt 0.767342 0.693549 +vt 0.765745 0.698617 +vt 0.754541 0.691970 +vt 0.751732 0.687455 +vt 0.751968 0.674424 +vt 0.757282 0.675638 +vt 0.752680 0.687988 +vt 0.753539 0.688588 +vt 0.761753 0.678759 +vt 0.764915 0.683031 +vt 0.754373 0.689200 +vt 0.754373 0.689200 +vt 0.764915 0.683031 +vt 0.766882 0.688114 +vt 0.755030 0.690070 +vt 0.853693 0.205576 +vt 0.853693 0.205576 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.0313 0.9995 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.1156 -0.3511 0.9292 +vn 0.1518 0.3370 0.9292 +vn -0.1874 0.2767 0.9425 +vn -0.8790 -0.4768 0.0001 +vn 0.8738 0.4863 0.0001 +vn -0.8737 -0.4864 0.0002 +vn 0.0000 -0.5024 -0.8647 +vn 0.0000 -0.9998 0.0211 +vn 0.0000 0.9997 0.0225 +vn 0.0000 -0.9939 0.1103 +vn 0.0000 0.7995 -0.6007 +vn 0.0000 0.4390 0.8985 +vn -0.8795 -0.4672 -0.0905 +vn 0.8795 -0.4672 -0.0905 +vn 0.0000 -0.8265 0.5629 +vn 0.0000 0.9021 0.4314 +vn -0.8660 0.4941 -0.0765 +vn -0.4871 0.4155 -0.7682 +vn 0.4871 0.4155 -0.7682 +vn 0.8660 0.4941 -0.0765 +vn 0.4693 0.6707 0.5743 +vn -0.4693 0.6707 0.5743 +vn 0.0000 0.9882 -0.1531 +vn 0.0000 0.8388 -0.5444 +vn 0.0000 -0.9879 0.1551 +vn 0.9428 -0.3296 0.0510 +vn 0.5172 -0.5404 -0.6637 +vn -0.5172 -0.5404 -0.6637 +vn -0.9428 -0.3296 0.0510 +vn -0.5444 -0.1925 0.8165 +vn 0.5444 -0.1925 0.8165 +vn 0.0000 -0.9111 0.4121 +vn 0.9998 -0.0213 0.0000 +vn -0.9999 -0.0129 0.0000 +vn 0.9992 0.0390 0.0002 +vn 0.9992 0.0393 0.0000 +vn -0.9949 -0.1012 -0.0004 +vn -0.9949 -0.1007 0.0000 +vn 0.0000 0.3128 0.9498 +vn -0.0000 0.1355 -0.9908 +vn 0.0000 -0.9987 0.0515 +vn 0.0000 0.1600 0.9871 +vn -0.0000 0.0502 -0.9987 +vn -0.0000 0.9965 0.0838 +vn 0.0000 -0.9971 0.0755 +vn -0.1977 -0.1115 0.9739 +vn -0.1314 -0.1329 -0.9824 +vn 0.0000 0.0157 0.9999 +vn -0.0000 0.0360 -0.9994 +vn -0.1977 0.1115 0.9739 +vn -0.1314 0.1329 -0.9824 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7313 -0.6820 +vn 0.0000 -0.7094 -0.7048 +vn 0.0000 0.9890 0.1477 +vn 0.0000 -0.7313 -0.6820 +vn 0.0000 0.7094 -0.7048 +vn 0.0000 -0.9890 0.1477 +vn 0.0000 -0.3673 0.9301 +vn 0.0000 -0.9980 0.0638 +vn 0.0000 0.9769 0.2137 +vn 0.0000 -0.6862 0.7274 +vn 0.0000 -0.6597 -0.7516 +vn 0.0000 0.6454 0.7638 +vn 0.0000 0.1771 0.9842 +vn 0.0000 -0.9869 0.1612 +vn 0.0000 0.4954 -0.8687 +vn 0.0000 0.8983 0.4393 +vn 0.9837 0.0191 0.1787 +vn 0.1589 -0.5349 -0.8298 +vn 0.1488 0.4938 -0.8567 +vn 0.0127 0.9887 -0.1492 +vn 0.0339 -0.9938 -0.1063 +vn -0.4992 -0.8280 0.2554 +vn -0.4992 -0.8280 0.2553 +vn 0.3675 -0.9184 0.1464 +vn 0.3676 -0.9184 0.1464 +vn -0.9471 0.3130 0.0707 +vn -0.7533 -0.6349 -0.1714 +vn 0.1856 -0.9303 -0.3164 +vn 0.7443 0.6675 0.0215 +vn -0.1976 0.9659 0.1676 +vn 0.0718 -0.2009 0.9770 +vn 0.9786 -0.2056 -0.0000 +vn 0.1850 -0.0389 0.9820 +vn -0.9786 0.2056 0.0000 +vn 0.1785 0.9839 0.0000 +vn -0.1785 -0.9839 0.0000 +vn -0.0052 -0.0289 0.9996 +vn -0.0050 -0.0277 -0.9996 +vn 0.9662 -0.2030 -0.1586 +vn -0.9662 0.2030 -0.1586 +vn -0.1737 -0.9577 0.2293 +vn 0.1737 0.9577 0.2293 +vn -0.0124 0.0026 -0.9999 +vn 0.3573 -0.9340 -0.0000 +vn 0.0272 -0.0911 0.9955 +vn -0.9995 -0.0317 0.0000 +vn 0.1685 -0.9857 0.0045 +vn -0.1685 0.9857 0.0045 +vn -0.8086 -0.0029 -0.5884 +vn 0.8390 0.0031 0.5442 +vn 0.1465 -0.9892 0.0034 +vn -0.1465 0.9892 0.0034 +vn 0.8044 0.0378 -0.5929 +vn -0.8351 -0.0392 0.5487 +vn 0.1693 -0.9855 0.0044 +vn -0.1693 0.9855 0.0044 +vn -0.8088 -0.0014 -0.5881 +vn 0.8391 0.0015 0.5440 +vn 0.1510 -0.9885 0.0033 +vn -0.1510 0.9885 0.0033 +vn 0.8052 0.0315 -0.5921 +vn -0.8359 -0.0327 0.5479 +vn -0.8567 0.4633 0.2268 +vn -0.4744 -0.8774 -0.0718 +vn 0.8781 -0.4748 -0.0584 +vn 0.4618 0.8541 0.2392 +vn -0.4433 -0.8654 0.2338 +vn 0.8871 -0.4544 -0.0812 +vn 0.4549 0.8881 -0.0659 +vn -0.8622 0.4417 0.2479 +vn 0.5181 0.8206 0.2413 +vn -0.8433 0.5325 -0.0730 +vn -0.5324 -0.8432 -0.0741 +vn 0.8208 -0.5182 0.2404 +vn 0.8552 -0.4648 0.2293 +vn 0.4763 0.8765 -0.0692 +vn -0.8770 0.4766 -0.0610 +vn -0.4639 -0.8536 0.2368 +vn -0.4433 -0.8653 0.2338 +vn 0.4764 0.8765 -0.0692 +vn 0.9998 -0.0184 0.0000 +vn -0.9997 0.0244 0.0000 +vn 0.8216 -0.4341 0.3695 +vn -0.4420 0.2335 -0.8661 +vn 0.7821 -0.4132 -0.4665 +vn -0.6136 0.3242 0.7199 +vn 0.8519 0.3712 0.3695 +vn 0.8519 0.3711 0.3695 +vn -0.4583 -0.1997 -0.8661 +vn -0.4583 -0.1996 -0.8661 +vn 0.8109 0.3533 -0.4665 +vn -0.6363 -0.2772 0.7199 +vn -0.0000 1.0000 0.0022 +vn 0.9996 0.0000 0.0274 +vn 0.9960 0.0000 -0.0897 +vn 0.9994 0.0000 0.0332 +vn 0.9941 0.0000 -0.1085 +vn 0.0000 -0.0855 0.9963 +vn 0.0000 -0.9971 0.0767 +vn 0.0000 0.0855 0.9963 +vn -0.0000 -0.9935 -0.1139 +vn 0.0000 0.9971 0.0767 +vn 0.0000 -0.0016 1.0000 +vn 0.0144 -0.9999 0.0000 +vn -0.0144 0.9999 -0.0000 +vn 1.0000 -0.0084 -0.0000 +vn -1.0000 0.0084 0.0000 +vn -0.9998 0.0174 0.0000 +vn 0.9998 -0.0174 0.0000 +vn 0.0757 -0.0167 0.9970 +vn 0.0493 0.0699 0.9963 +vn 0.8316 -0.5473 0.0948 +vn -0.1299 -0.0154 -0.9914 +vn -0.6744 0.5072 0.5367 +vn -0.6744 0.5072 0.5366 +vn 0.0782 0.0548 0.9954 +vn -0.8055 -0.5607 0.1918 +vn 0.0016 0.0008 -1.0000 +vn 0.7313 0.5092 0.4539 +vn -0.2787 0.5816 0.7642 +vn 0.3272 -0.7801 -0.5333 +vn 0.2838 0.8393 -0.4637 +vn -0.6730 0.5082 -0.5374 +vn -0.9874 -0.1488 0.0547 +vn -0.4541 -0.4942 0.7413 +vn -0.4541 -0.4941 0.7413 +vn 0.5432 -0.1466 0.8267 +vn 0.8446 0.5020 0.1860 +vn 0.3806 0.6847 -0.6215 +vn -0.6261 0.3363 -0.7035 +vn -0.9317 -0.3541 -0.0811 +vn -0.3602 -0.7241 0.5882 +vn 0.6403 -0.3780 0.6687 +vn 0.9484 0.3127 0.0530 +vn 0.1122 -0.9462 0.3035 +vn -0.1702 0.9853 0.0125 +vn 0.3968 -0.7641 0.5087 +vn 0.2518 0.6468 0.7199 +vn 0.2519 0.6468 0.7199 +vn -0.3760 -0.3489 -0.8584 +vn -0.3760 -0.3488 -0.8585 +vn 0.1122 0.9462 0.3035 +vn -0.1702 -0.9853 0.0125 +vn 0.3968 0.7641 0.5087 +vn 0.2518 -0.6468 0.7199 +vn 0.2519 -0.6468 0.7199 +vn -0.3760 0.3489 -0.8584 +vn -0.3760 0.3488 -0.8585 +vn 0.8663 0.4992 -0.0163 +vn -0.8662 -0.4995 0.0170 +vn -0.8662 -0.4994 0.0165 +vn -0.3015 -0.9535 0.0004 +vn 0.3012 0.9536 0.0004 +vn 0.3014 0.9535 -0.0002 +vn -0.8790 -0.4768 0.0002 +vn 0.8790 0.4769 0.0002 +vn 0.8790 0.4768 0.0004 +vn 0.8738 0.4864 0.0002 +vn -0.8737 -0.4865 0.0002 +vn -0.8738 -0.4863 0.0004 +vn 0.9844 0.0500 -0.1685 +vn 0.9790 0.0307 0.2015 +vn 0.9966 -0.0360 -0.0735 +vn 0.9837 -0.1796 0.0055 +vn 0.9991 -0.0390 0.0147 +vn 0.9804 0.1357 0.1430 +vn -0.9844 0.0500 -0.1685 +vn -0.9966 -0.0360 -0.0735 +vn -0.9790 0.0307 0.2015 +vn -0.9837 -0.1796 0.0055 +vn -0.9804 0.1357 0.1430 +vn -0.9991 -0.0390 0.0147 +vn 0.0000 0.9470 0.3213 +vn 0.0000 0.6646 0.7472 +vn 0.0000 0.7815 0.6240 +vn 0.0000 0.2168 0.9762 +vn -0.9919 0.0096 0.1267 +vn -0.9984 -0.0463 -0.0310 +vn -0.9995 0.0068 0.0293 +vn 0.9987 -0.0110 -0.0494 +vn 0.9993 0.0257 -0.0269 +vn 0.9988 0.0332 0.0372 +vn 0.0246 -0.2768 0.9606 +vn 0.1356 -0.0967 0.9860 +vn 0.0540 -0.2510 0.9665 +vn 0.1461 -0.0797 0.9861 +vn -0.0172 0.2840 0.9587 +vn 0.1063 0.4474 0.8880 +vn 0.0998 0.1117 0.9887 +vn -0.0778 -0.3607 0.9294 +vn -0.1053 -0.2560 0.9609 +vn -0.1723 -0.0398 0.9842 +vn 0.1033 -0.3962 0.9124 +vn 0.0295 0.2056 0.9782 +vn -0.0790 0.1318 0.9881 +vn -0.0180 0.4222 0.9063 +vn -0.1864 -0.9804 0.0639 +vn -0.1429 -0.9884 0.0508 +vn -0.1792 -0.9811 0.0727 +vn -0.1688 0.9852 0.0296 +vn -0.1831 0.9828 0.0232 +vn -0.1335 0.9910 0.0078 +vn -0.1328 0.9906 0.0336 +vn -0.1186 0.9922 0.0390 +vn -0.1730 0.9842 0.0378 +vn -0.1645 -0.9831 0.0799 +vn -0.1571 -0.9827 0.0975 +vn -0.1244 -0.9894 0.0751 +vn -0.0781 0.9965 -0.0297 +vn -0.0516 0.9972 -0.0543 +vn -0.1007 0.9949 0.0081 +vn -0.0962 -0.9947 0.0363 +vn -0.1093 -0.9937 0.0259 +vn -0.0618 -0.9978 -0.0245 +vn 0.0943 0.9955 -0.0075 +vn 0.1075 0.9940 -0.0179 +vn 0.0584 0.9960 -0.0675 +vn 0.0764 -0.9970 0.0111 +vn 0.0494 -0.9987 -0.0128 +vn 0.1013 -0.9937 0.0486 +vn 0.1647 0.9857 0.0355 +vn 0.1582 0.9860 0.0529 +vn 0.1240 0.9918 0.0317 +vn 0.1350 -0.9881 0.0741 +vn 0.1214 -0.9894 0.0797 +vn 0.1757 -0.9814 0.0774 +vn 0.1861 0.9823 0.0194 +vn 0.1425 0.9898 0.0065 +vn 0.1793 0.9834 0.0280 +vn 0.1712 -0.9828 0.0693 +vn 0.1846 -0.9808 0.0628 +vn 0.1356 -0.9896 0.0486 +vn 0.7291 -0.2212 0.6476 +vn 0.7482 -0.4615 0.4766 +vn 0.8978 -0.3467 0.2714 +vn 0.9256 -0.0620 0.3735 +vn 0.9191 -0.0504 0.3909 +vn 0.9319 -0.0500 0.3592 +vn 0.9166 -0.0695 0.3938 +vn 0.9140 -0.0337 0.4044 +vn 0.9248 0.0118 0.3803 +vn 0.9272 -0.0448 0.3718 +vn 0.9267 -0.0420 0.3734 +vn 0.9397 -0.0369 0.3400 +vn 0.9315 -0.0725 0.3566 +vn 0.9437 0.0260 0.3298 +vn 0.9580 -0.0503 0.2822 +vn 0.9344 -0.1262 0.3331 +vn 0.9320 -0.0539 0.3583 +vn -0.8287 0.1550 0.5379 +vn -0.4605 0.3779 0.8032 +vn -0.3675 0.9184 -0.1464 +vn 0.0390 0.5807 0.8132 +vn 0.4702 0.6812 0.5612 +vn 0.7115 0.6802 0.1765 +vn 0.7538 0.6095 -0.2454 +vn 0.7539 0.6095 -0.2454 +vn 0.5902 0.4787 -0.6500 +vn 0.2036 0.2876 -0.9358 +vn -0.3120 0.0800 -0.9467 +vn -0.7359 -0.0554 -0.6748 +vn -0.9583 -0.0809 -0.2740 +vn -0.9889 -0.0068 0.1484 +vn -0.1605 0.2148 0.9634 +vn -0.0353 0.1295 0.9909 +vn -0.0408 0.1870 0.9815 +vn -0.0183 0.1205 0.9925 +vn 0.0180 -0.1081 0.9940 +vn 0.0110 -0.1246 0.9921 +vn 0.0255 -0.2211 0.9749 +vn -0.0297 -0.2710 0.9621 +vn 0.0217 0.2143 0.9765 +vn 0.0827 -0.2383 0.9677 +vn 0.0840 0.4214 0.9030 +vn -0.0322 0.3556 0.9341 +vn -0.0082 0.1575 0.9875 +vn -0.0276 0.1891 0.9816 +vn -0.1440 0.4006 0.9049 +vn 0.0302 -0.1228 0.9920 +vn 0.0399 -0.1935 0.9803 +vn 0.0887 -0.2015 0.9755 +vn 0.0166 -0.1105 0.9937 +vn 0.0024 -0.2253 0.9743 +vn -0.1567 0.4098 0.8986 +vn 0.0029 0.1510 0.9885 +vn 0.0184 0.2915 0.9564 +vn 0.0189 0.1272 0.9917 +vn 0.0191 -0.1153 0.9932 +vn 0.0327 -0.1183 0.9924 +vn 0.0749 -0.2312 0.9700 +vn 0.0400 -0.2567 0.9657 +vn 0.2229 0.3830 0.8965 +vn 0.1662 -0.2733 0.9475 +vn -0.7482 0.2086 -0.6298 +vn -0.2983 0.4925 -0.8176 +vn -0.3586 -0.1069 -0.9273 +vn -0.7398 -0.3475 -0.5762 +vn -0.2882 -0.6532 -0.7002 +vn 0.1868 -0.4007 -0.8970 +vn 0.1882 0.1938 -0.9628 +vn 0.5119 0.5842 0.6298 +vn -0.0200 0.5755 0.8176 +vn 0.3586 0.1069 0.9273 +vn -0.2636 0.0591 0.9628 +vn 0.0631 -0.4376 0.8970 +vn 0.5988 -0.3888 0.7002 +vn 0.8093 0.1142 0.5762 +vn -0.3394 0.8854 -0.3176 +vn -0.0302 0.7209 -0.6923 +vn -0.5768 0.5130 -0.6357 +vn -0.7699 0.6132 -0.1768 +vn -0.9129 0.1516 -0.3790 +vn -0.6401 -0.0577 -0.7661 +vn -0.1757 0.2373 -0.9554 +vn 0.9047 -0.3400 0.2567 +vn 0.7993 0.0248 0.6004 +vn 0.5768 -0.5130 0.6357 +vn 0.3636 -0.0559 0.9299 +vn 0.0278 -0.5353 0.8442 +vn 0.1699 -0.8707 0.4616 +vn 0.6030 -0.7737 0.1944 +vn 0.8714 -0.4712 0.1369 +vn 0.8896 0.4309 0.1515 +vn 0.9383 -0.2905 0.1879 +vn 0.4712 0.8714 0.1369 +vn -0.4310 0.8896 0.1515 +vn 0.2905 0.9383 0.1879 +vn -0.8713 0.4712 0.1369 +vn -0.8896 -0.4309 0.1515 +vn -0.9383 0.2904 0.1879 +vn -0.0512 0.3574 0.9325 +vn -0.2406 0.2479 0.9384 +vn -0.3288 0.0571 0.9427 +vn -0.2956 -0.1452 0.9442 +vn -0.1558 -0.2948 0.9428 +vn 0.0489 -0.3416 0.9386 +vn 0.2512 -0.2588 0.9327 +vn 0.3688 -0.0640 0.9273 +vn 0.3410 0.1674 0.9250 +vn 0.1750 0.3312 0.9272 +vn -0.3112 0.1830 0.9325 +vn -0.3439 -0.0334 0.9384 +vn -0.2497 -0.2213 0.9427 +vn -0.0710 -0.3215 0.9442 +vn 0.1332 -0.3057 0.9428 +vn 0.2975 -0.1749 0.9386 +vn 0.3590 0.0348 0.9327 +vn 0.2802 0.2482 0.9273 +vn 0.0820 0.3709 0.9250 +vn -0.1496 0.3434 0.9272 +vn -0.1740 0.1188 0.9775 +vn -0.1868 0.0049 0.9824 +vn -0.0105 0.0311 0.9995 +vn -0.1296 -0.0978 0.9867 +vn -0.0228 -0.1473 0.9888 +vn 0.0900 -0.1261 0.9879 +vn 0.1725 -0.0416 0.9841 +vn 0.1879 0.0784 0.9791 +vn 0.1303 0.1817 0.9747 +vn 0.0229 0.2315 0.9726 +vn -0.0957 0.2073 0.9736 +vn 0.3381 -0.9397 -0.0515 +vn 0.8662 0.4994 -0.0173 +vn 0.8661 0.4995 -0.0181 +vn 0.8663 0.4993 -0.0169 +vn -0.8663 -0.4993 0.0163 +vn -0.8663 -0.4993 0.0162 +vn -0.8664 -0.4992 0.0151 +vn -0.3014 -0.9535 -0.0003 +vn -0.3011 -0.9536 -0.0015 +vn -0.3014 -0.9535 -0.0002 +vn 0.3015 0.9535 -0.0007 +vn 0.3014 0.9535 -0.0005 +vn 0.3016 0.9534 -0.0015 +vn 0.0000 0.4367 -0.8996 +vn 0.0123 0.9997 -0.0213 +vn 0.0022 1.0000 0.0000 +vn -0.0029 0.9995 -0.0320 +vn -0.0009 0.9987 -0.0519 +vn 0.0150 -0.0011 0.9999 +vn 0.0357 -0.0027 0.9994 +vn 0.0489 -0.0038 0.9988 +vn 0.1265 -0.0097 -0.9919 +vn 0.0022 -0.0002 -1.0000 +vn 0.0055 -0.0004 -1.0000 +vn 0.0177 -0.0014 0.9998 +vn -0.0202 0.0015 0.9998 +vn 0.0170 -0.0013 -0.9999 +vn -0.0215 0.0016 -0.9998 +vn -0.0119 0.9998 -0.0144 +vn -0.0137 0.9993 -0.0345 +vn -0.0534 0.0042 0.9986 +vn -0.0545 0.0042 0.9985 +vn -0.0517 0.0044 0.9987 +vn -0.0516 0.0045 0.9987 +vn -0.0404 0.0035 -0.9992 +vn -0.1181 0.0104 -0.9929 +vn -0.1186 0.0095 -0.9929 +vn 0.0112 -0.0009 -0.9999 +vn -0.0152 0.9999 0.0053 +vn -0.0200 0.9998 0.0000 +vn -0.0183 0.9998 0.0037 +vn -0.0137 0.9999 -0.0047 +vn -0.1116 -0.0000 0.9937 +vn 0.0311 -0.0000 0.9995 +vn -0.0340 -0.0000 0.9994 +vn 0.1116 0.0000 -0.9937 +vn 0.0340 -0.0000 -0.9994 +vn -0.0311 -0.0000 -0.9995 +vn -0.0152 0.0000 0.9999 +vn 0.0369 0.0000 0.9993 +vn -0.0369 0.0000 -0.9993 +vn 0.0152 0.0000 -0.9999 +vn 0.0303 0.0000 0.9995 +vn -0.0265 0.0000 0.9996 +vn 0.0265 -0.0000 -0.9996 +vn -0.0303 0.0000 -0.9995 +vn 0.1055 0.0000 0.9944 +vn -0.1055 0.0000 -0.9944 +vn -0.8652 0.3129 -0.3918 +vn -0.8715 0.3076 -0.3819 +vn -0.8652 0.3129 -0.3919 +vn -0.8610 0.3164 -0.3983 +vn -0.8420 -0.5366 -0.0559 +vn -0.8381 -0.5436 -0.0451 +vn -0.8445 -0.5319 -0.0629 +vn 0.8420 -0.5366 -0.0559 +vn 0.8335 -0.5493 -0.0593 +vn 0.8469 -0.5290 -0.0538 +vn 0.8652 0.3129 -0.3918 +vn 0.8692 0.2989 -0.3939 +vn 0.8627 0.3212 -0.3906 +vn 0.9336 0.0904 -0.3468 +vn 0.9498 0.0944 -0.2983 +vn 0.9567 0.0010 -0.2911 +vn 0.9503 -0.0647 -0.3044 +vn 0.9442 -0.2843 -0.1665 +vn 0.9467 -0.2423 -0.2122 +vn 0.9253 -0.3593 -0.1213 +vn 0.9252 -0.3703 -0.0831 +vn 0.9550 -0.1426 -0.2601 +vn 0.9590 -0.1528 -0.2389 +vn 1.0000 -0.0096 -0.0026 +vn 0.9835 0.0928 0.1551 +vn 0.9283 0.1388 -0.3450 +vn 0.9499 0.1145 -0.2907 +vn 0.9195 -0.3927 -0.0170 +vn 0.9092 -0.4146 -0.0377 +vn 0.9184 -0.2259 0.3248 +vn -0.9336 0.0904 -0.3468 +vn -0.9503 -0.0647 -0.3044 +vn -0.9567 0.0010 -0.2911 +vn -0.9498 0.0944 -0.2983 +vn -0.9442 -0.2843 -0.1665 +vn -0.9252 -0.3703 -0.0831 +vn -0.9253 -0.3593 -0.1213 +vn -0.9467 -0.2423 -0.2122 +vn -0.9590 -0.1528 -0.2388 +vn -0.9550 -0.1426 -0.2601 +vn -1.0000 -0.0096 -0.0026 +vn -0.9835 0.0928 0.1551 +vn -0.9499 0.1145 -0.2907 +vn -0.9283 0.1388 -0.3450 +vn -0.9092 -0.4146 -0.0377 +vn -0.9195 -0.3927 -0.0170 +vn -0.9184 -0.2259 0.3248 +vn -0.0000 1.0000 0.0050 +vn 0.0000 0.9780 -0.2086 +vn 0.0000 0.9852 0.1715 +vn 0.0000 0.8034 0.5954 +vn 0.0000 0.7134 0.7007 +vn 0.4965 0.6786 0.5413 +vn 0.5039 0.6735 0.5408 +vn 0.4689 0.7248 0.5048 +vn 0.4285 0.7516 0.5015 +vn 0.9717 0.2257 -0.0703 +vn 0.9722 0.2203 -0.0794 +vn 0.9454 0.3136 -0.0885 +vn 0.9276 0.3691 -0.0580 +vn 0.5672 -0.2062 -0.7973 +vn 0.5620 -0.1920 -0.8046 +vn 0.5601 -0.0815 -0.8244 +vn 0.5725 -0.0663 -0.8172 +vn -0.5673 -0.2061 -0.7973 +vn -0.5616 -0.1849 -0.8065 +vn -0.5601 -0.0815 -0.8244 +vn -0.5731 -0.0882 -0.8147 +vn -0.9716 0.2257 -0.0703 +vn -0.9641 0.2499 -0.0901 +vn -0.9454 0.3136 -0.0885 +vn -0.9517 0.3034 -0.0476 +vn -0.4855 0.6941 0.5315 +vn -0.5096 0.6675 0.5429 +vn -0.4689 0.7248 0.5048 +vn -0.4474 0.7172 0.5342 +vn 0.4720 0.4488 0.7588 +vn 0.3885 0.4705 0.7923 +vn 0.4331 0.6812 0.5903 +vn 0.5481 0.5957 0.5871 +vn 0.9985 0.0454 -0.0294 +vn 0.9981 -0.0605 0.0095 +vn 0.9663 0.2305 -0.1146 +vn 0.9724 0.1957 -0.1270 +vn 0.4292 -0.4041 -0.8078 +vn 0.4032 -0.5802 -0.7077 +vn 0.4421 -0.1249 -0.8882 +vn 0.5036 -0.0493 -0.8626 +vn -0.4318 -0.3622 -0.8261 +vn -0.4081 -0.5402 -0.7360 +vn -0.4421 -0.1249 -0.8882 +vn -0.5297 -0.1694 -0.8311 +vn -0.9983 0.0486 -0.0315 +vn -0.9983 -0.0578 0.0091 +vn -0.9663 0.2305 -0.1146 +vn -0.9585 0.2391 -0.1552 +vn -0.4391 0.5116 0.7385 +vn -0.4434 0.3656 0.8183 +vn -0.4331 0.6812 0.5903 +vn -0.5285 0.6946 0.4881 +vn 0.5732 0.1622 0.8032 +vn 0.5704 0.1308 0.8109 +vn 0.5721 0.1970 0.7962 +vn 1.0000 0.0029 -0.0004 +vn 0.9992 -0.0396 0.0093 +vn 0.9987 0.0501 -0.0078 +vn 0.5733 -0.1595 -0.8037 +vn 0.5707 -0.2287 -0.7887 +vn 0.5731 -0.0825 -0.8153 +vn -0.5733 -0.1608 -0.8034 +vn -0.5707 -0.2287 -0.7887 +vn -0.5731 -0.0825 -0.8153 +vn -1.0000 0.0029 -0.0004 +vn -0.9992 -0.0396 0.0093 +vn -0.9987 0.0501 -0.0078 +vn -0.5732 0.1635 0.8030 +vn -0.5704 0.1308 0.8109 +vn -0.5721 0.1970 0.7962 +vn 0.9971 -0.0752 0.0124 +vn 0.9831 -0.1808 0.0273 +vn 0.9831 -0.1808 0.0272 +vn 0.9979 -0.0643 0.0107 +vn 0.5646 -0.2953 -0.7707 +vn 0.5730 -0.1850 -0.7984 +vn 0.5556 -0.3629 -0.7481 +vn 0.5556 -0.3628 -0.7481 +vn -0.5639 -0.2953 -0.7712 +vn -0.5730 -0.1850 -0.7984 +vn -0.5556 -0.3629 -0.7481 +vn -0.9929 -0.1179 0.0183 +vn -0.9998 -0.0185 0.0045 +vn -0.9831 -0.1808 0.0272 +vn -0.9831 -0.1808 0.0273 +vn -0.5700 0.0273 0.8212 +vn -0.5723 0.1422 0.8076 +vn -0.5651 -0.0468 0.8237 +vn 0.5705 0.0272 0.8209 +vn 0.5723 0.1422 0.8076 +vn 0.5651 -0.0468 0.8237 +vn 0.9990 -0.0384 0.0207 +vn 0.9991 -0.0352 0.0228 +vn 0.9999 -0.0107 0.0070 +vn 0.9999 0.0141 -0.0040 +vn 0.5511 -0.5438 -0.6329 +vn 0.5538 -0.5419 -0.6321 +vn 0.5616 -0.4522 -0.6929 +vn 0.5656 -0.3642 -0.7399 +vn -0.5511 -0.5438 -0.6329 +vn -0.5537 -0.5435 -0.6309 +vn -0.5615 -0.4535 -0.6921 +vn -0.5655 -0.3654 -0.7394 +vn -0.9990 -0.0384 0.0207 +vn -0.9990 -0.0374 0.0243 +vn -0.9999 -0.0109 0.0071 +vn -0.9999 0.0139 -0.0040 +vn -0.5579 0.4665 0.6863 +vn -0.5572 0.4666 0.6869 +vn -0.5613 0.4301 0.7071 +vn -0.5625 0.3961 0.7258 +vn 0.5581 0.4665 0.6862 +vn 0.5628 0.4124 0.7164 +vn 0.5615 0.4131 0.7170 +vn 0.5572 0.4666 0.6869 +vn 0.9579 -0.2726 0.0898 +vn 0.9332 -0.3551 0.0558 +vn 0.3751 -0.7587 -0.5326 +vn 0.4531 -0.7062 -0.5441 +vn -0.3751 -0.7586 -0.5327 +vn -0.4156 -0.7729 -0.4795 +vn -0.9579 -0.2726 0.0898 +vn -0.9662 -0.2546 0.0400 +vn -0.4681 0.1393 0.8727 +vn -0.5724 0.1900 0.7976 +vn 0.4681 0.1393 0.8727 +vn 0.5724 0.1900 0.7976 +vn 0.9921 0.1162 -0.0474 +vn 0.9911 0.1216 -0.0550 +vn 0.5636 -0.3485 -0.7490 +vn 0.5646 -0.3499 -0.7475 +vn -0.5637 -0.3489 -0.7487 +vn -0.5646 -0.3471 -0.7488 +vn -0.9921 0.1163 -0.0474 +vn -0.9931 0.1065 -0.0482 +vn -0.5289 0.6149 0.5850 +vn -0.5329 0.6222 0.5735 +vn 0.5289 0.6149 0.5850 +vn 0.5329 0.6222 0.5735 +vn 0.4697 -0.8410 0.2686 +vn 0.3625 -0.8378 0.4083 +vn 0.4872 -0.8733 0.0031 +vn 0.4065 -0.9020 -0.1455 +vn 0.2671 0.9624 -0.0490 +vn 0.2116 0.9384 -0.2732 +vn 0.2763 0.9392 -0.2037 +vn 0.2253 0.9737 0.0348 +vn 0.1224 -0.9444 -0.3052 +vn -0.0788 -0.9484 -0.3072 +vn -0.0393 0.9340 -0.3552 +vn 0.0673 0.9324 -0.3552 +vn -0.3868 -0.9058 -0.1729 +vn -0.4668 -0.8838 -0.0310 +vn -0.2636 0.9390 -0.2210 +vn -0.1957 0.9352 -0.2951 +vn -0.4871 -0.8399 0.2395 +vn -0.3870 -0.8431 0.3733 +vn -0.2372 0.9713 0.0174 +vn -0.2809 0.9571 -0.0710 +vn -0.1221 -0.8376 0.5324 +vn 0.0767 -0.8418 0.5343 +vn 0.0443 0.9928 0.1109 +vn -0.0721 0.9913 0.1102 +vn 0.9988 -0.0489 0.0090 +vn 1.0000 0.0067 -0.0048 +vn 0.5642 -0.2943 -0.7714 +vn 0.5641 -0.2694 -0.7805 +vn -0.5642 -0.2944 -0.7714 +vn -0.5640 -0.2691 -0.7807 +vn -0.9988 -0.0478 0.0088 +vn -1.0000 0.0069 -0.0049 +vn -0.5702 0.1814 0.8012 +vn -0.5665 0.2831 0.7739 +vn 0.5703 0.1799 0.8015 +vn 0.5672 0.2832 0.7733 +vn 0.9982 0.0593 -0.0063 +vn 0.9982 0.0594 -0.0062 +vn 0.5745 -0.0960 -0.8129 +vn 0.5746 -0.0959 -0.8128 +vn -0.5745 -0.0960 -0.8128 +vn -0.5746 -0.0960 -0.8128 +vn -0.9982 0.0592 -0.0063 +vn -0.9982 0.0592 -0.0062 +vn -0.5685 0.2300 0.7899 +vn -0.5684 0.2300 0.7900 +vn 0.5685 0.2301 0.7899 +vn 0.5684 0.2301 0.7899 +vn 0.9972 -0.0405 -0.0630 +vn 0.9980 -0.0626 0.0000 +vn -0.0035 0.1191 0.9929 +vn -0.0046 0.0798 0.9968 +vn -0.0020 0.0780 0.9970 +vn 0.0000 0.1241 0.9923 +vn -0.9953 0.0564 0.0785 +vn -0.9996 0.0297 0.0000 +vn -0.0036 -0.0446 0.9990 +vn -0.0031 -0.1100 0.9939 +vn -0.9990 -0.0224 -0.0400 +vn 0.9990 0.0050 0.0452 +vn 0.9999 -0.0171 0.0000 +vn -0.0056 -0.1839 0.9829 +vn 0.0000 -0.1964 0.9805 +vn -0.0047 0.1973 0.9803 +vn -0.0195 0.1797 0.9835 +vn 0.0080 0.2055 0.9786 +vn 0.0084 0.1952 0.9807 +vn -0.1079 0.9942 -0.0000 +vn 0.0292 0.9996 0.0000 +vn 0.0291 0.9996 -0.0000 +vn -0.0124 -0.9999 0.0000 +vn -0.0621 -0.9981 0.0000 +vn 0.0282 -0.9996 0.0000 +vn 0.0618 -0.9981 0.0000 +vn 0.1318 0.9913 0.0000 +vn 0.0067 0.1876 0.9822 +vn -0.0101 0.1637 0.9865 +vn 0.0035 -0.1633 0.9866 +vn 0.0170 -0.1409 0.9899 +vn -0.0024 -0.1731 0.9849 +vn -0.0058 -0.1776 0.9841 +vn -0.9948 -0.1014 -0.0006 +vn -0.1198 0.9928 0.0057 +vn -0.0173 0.9998 0.0058 +vn -0.0318 -0.9995 -0.0000 +vn -0.0791 -0.9969 0.0000 +vn 0.0136 -0.9999 -0.0000 +vn -0.0019 -0.1708 0.9853 +vn 0.0087 -0.1518 0.9884 +vn 0.0569 -0.9984 0.0000 +vn 0.0775 0.9970 0.0058 +vn 0.9939 0.0075 0.1096 +vn 0.9940 0.0080 0.1093 +vn 0.9968 0.0055 0.0794 +vn 0.9996 0.0017 0.0279 +vn -0.0000 0.9750 0.2222 +vn 0.0000 0.9933 0.1153 +vn 0.0000 0.9999 -0.0132 +vn 0.0000 -0.9883 0.1525 +vn -0.0000 -0.9967 0.0806 +vn 0.0000 -1.0000 -0.0033 +vn 1.0000 0.0000 0.0005 +vn -0.0000 -0.9975 -0.0712 +vn -0.0000 0.9930 -0.1178 +vn 0.0000 0.9245 -0.3812 +vn 0.9899 -0.0106 0.1411 +vn 0.9886 -0.0206 0.1492 +vn 0.9940 -0.0081 0.1088 +vn 0.9992 0.0014 0.0408 +vn 0.0000 0.9991 0.0435 +vn 0.0000 0.9999 -0.0157 +vn 0.0000 0.9952 -0.0974 +vn 1.0000 0.0000 0.0008 +vn 1.0000 0.0001 0.0008 +vn 0.0000 0.9844 -0.1761 +vn 0.0000 -0.9931 -0.1172 +vn -0.0000 -0.9336 -0.3583 +vn -0.0000 -0.9908 0.1354 +vn -0.0000 -0.9546 0.2979 +vn 0.9775 0.0173 0.2103 +vn 0.9795 0.0270 0.1995 +vn 0.9970 0.0099 0.0765 +vn 0.9975 0.0084 -0.0695 +vn 0.0131 0.9904 0.1379 +vn 0.0193 0.9893 0.1446 +vn 0.0054 0.9998 0.0208 +vn 0.0145 0.9943 -0.1054 +vn 0.0068 -0.9974 0.0723 +vn 0.0093 -0.9976 0.0692 +vn 0.0003 -0.9993 -0.0377 +vn 0.0171 -0.9867 -0.1615 +vn 0.9877 0.0093 -0.1564 +vn 0.9861 0.0189 -0.1651 +vn 0.0217 -0.9695 -0.2442 +vn 0.0567 -0.9586 -0.2792 +vn 0.0174 0.9801 -0.1977 +vn 0.0368 0.9828 -0.1810 +vn 0.0000 0.9997 0.0231 +vn 0.0000 1.0000 0.0078 +vn -0.0000 1.0000 -0.0090 +vn 0.0000 -0.9999 0.0163 +vn 0.0000 -1.0000 0.0088 +vn -0.0000 -1.0000 0.0006 +vn 0.0000 -1.0000 -0.0086 +vn 0.0000 0.9996 -0.0277 +vn 0.0000 -0.9990 0.0447 +vn 0.0000 -1.0000 0.0024 +vn 0.0000 -0.9997 0.0242 +vn 0.0000 0.9997 0.0235 +vn -0.0000 0.9998 -0.0197 +vn 0.0000 1.0000 0.0025 +vn 0.0000 0.9991 -0.0431 +vn 0.0000 -0.9998 -0.0207 +vn 0.9775 -0.0173 0.2103 +vn 0.9975 -0.0084 -0.0695 +vn 0.9970 -0.0099 0.0765 +vn 0.9795 -0.0270 0.1995 +vn 0.0133 -0.9903 0.1381 +vn 0.0145 -0.9943 -0.1054 +vn 0.0054 -0.9998 0.0208 +vn 0.0193 -0.9893 0.1446 +vn 0.0069 0.9974 0.0722 +vn 0.0171 0.9867 -0.1615 +vn 0.0003 0.9993 -0.0377 +vn 0.0093 0.9976 0.0692 +vn 0.9861 -0.0189 -0.1651 +vn 0.9876 -0.0096 -0.1567 +vn 0.0567 0.9586 -0.2792 +vn 0.0216 0.9695 -0.2441 +vn 0.0368 -0.9828 -0.1810 +vn 0.0174 -0.9801 -0.1977 +vn 0.3528 -0.0598 0.9338 +vn 0.0017 0.0276 0.9996 +vn 0.3770 -0.0910 0.9217 +vn 0.1387 0.0389 0.9896 +vn 0.3550 -0.0334 0.9343 +vn 0.1631 -0.0421 0.9857 +vn 0.2549 0.0104 0.9669 +vn 0.3647 -0.2473 0.8977 +vn 0.0711 0.5172 0.8529 +vn 0.0249 0.2768 0.9606 +vn -0.0102 0.0537 0.9985 +vn -0.0044 0.0653 0.9979 +vn -0.0038 -0.1373 0.9905 +vn -0.0308 -0.2490 0.9680 +vn -0.3871 0.0550 0.9204 +vn -0.2843 0.1402 0.9484 +vn -0.4437 0.0055 0.8962 +vn -0.1473 0.0905 0.9850 +vn -0.3197 0.0541 0.9460 +vn -0.1579 0.0228 0.9872 +vn -0.1891 0.1071 0.9761 +vn -0.3253 -0.0761 0.9425 +vn 0.0250 0.2768 0.9606 +vn 0.0000 -0.2425 -0.9701 +vn 0.0000 0.0272 -0.9996 +vn 0.0000 -0.4107 -0.9118 +vn 0.0000 0.9863 -0.1651 +vn -0.0000 0.8622 -0.5065 +vn 0.0000 0.9393 -0.3430 +vn 0.0000 0.9863 -0.1650 +vn 0.0000 0.7660 -0.6429 +vn 0.0000 0.0874 0.9962 +vn -0.0000 0.4943 0.8693 +vn 0.0000 0.2835 0.9590 +vn 0.0000 0.6861 0.7275 +vn 0.0000 -0.5159 -0.8567 +vn 0.0000 0.1038 -0.9946 +vn 0.0000 0.4193 -0.9078 +vn 0.0000 0.2977 -0.9546 +vn -0.0000 -0.9403 -0.3403 +vn 0.0000 -0.9818 -0.1901 +vn 0.0000 -0.8601 -0.5102 +vn 0.0000 0.9961 0.0878 +vn 0.0000 -0.3532 0.9356 +vn 0.0000 -0.2237 0.9747 +vn 0.0000 -0.4462 0.8949 +vn 0.0000 -0.7319 -0.6815 +vn 0.0000 -0.5142 0.8577 +vn 0.0000 0.4988 -0.8667 +vn 0.0000 -0.6064 0.7951 +vn 0.3438 0.4626 0.8172 +vn 0.5340 0.2646 0.8030 +vn 0.6157 0.3476 0.7072 +vn 0.3741 0.5881 0.7171 +vn 0.6119 -0.0136 0.7908 +vn 0.7190 0.0309 0.6943 +vn 0.5272 -0.2930 0.7976 +vn 0.6594 -0.2893 0.6939 +vn 0.3119 -0.4771 0.8217 +vn 0.4502 -0.5390 0.7119 +vn 0.0480 -0.5346 0.8437 +vn 0.1390 -0.6606 0.7378 +vn -0.2100 -0.4833 0.8499 +vn -0.2027 -0.6262 0.7528 +vn -0.4340 -0.3334 0.8369 +vn -0.4965 -0.4441 0.7458 +vn -0.5774 -0.0880 0.8117 +vn -0.6745 -0.1556 0.7217 +vn -0.5734 0.2049 0.7932 +vn -0.6951 0.1728 0.6979 +vn -0.4111 0.4446 0.7958 +vn -0.5541 0.4653 0.6902 +vn -0.1614 0.5630 0.8105 +vn -0.2852 0.6549 0.6999 +vn 0.1019 0.5627 0.8204 +vn 0.0495 0.6988 0.7136 +vn 0.7486 0.4287 0.5057 +vn 0.4500 0.7329 0.5103 +vn 0.8644 0.0403 0.5013 +vn 0.7926 -0.3412 0.5053 +vn 0.5555 -0.6486 0.5202 +vn 0.1876 -0.8203 0.5403 +vn -0.2401 -0.7979 0.5529 +vn -0.6108 -0.5714 0.5481 +vn -0.8216 -0.2105 0.5297 +vn -0.8397 0.1845 0.5107 +vn -0.6801 0.5353 0.5010 +vn -0.8397 0.1844 0.5107 +vn -0.3712 0.7811 0.5021 +vn 0.0374 0.8604 0.5082 +vn 0.8100 0.4741 0.3451 +vn 0.4800 0.8053 0.3479 +vn 0.9379 0.0501 0.3431 +vn 0.8632 -0.3654 0.3484 +vn 0.6112 -0.7036 0.3626 +vn 0.2150 -0.8993 0.3810 +vn -0.2528 -0.8842 0.3927 +vn -0.6619 -0.6408 0.3888 +vn -0.8946 -0.2471 0.3723 +vn -0.9169 0.1832 0.3546 +vn -0.7485 0.5668 0.3441 +vn -0.4184 0.8411 0.3427 +vn 0.0255 0.9378 0.3463 +vn 0.8345 0.5050 0.2205 +vn 0.4847 0.8463 0.2211 +vn 0.9731 0.0642 0.2215 +vn 0.9009 -0.3691 0.2281 +vn 0.6456 -0.7247 0.2410 +vn 0.2386 -0.9366 0.2567 +vn -0.2484 -0.9312 0.2668 +vn -0.6795 -0.6845 0.2641 +vn -0.9277 -0.2767 0.2504 +vn -0.9568 0.1713 0.2348 +vn -0.7885 0.5728 0.2240 +vn -0.9568 0.1713 0.2349 +vn -0.4518 0.8646 0.2199 +vn 0.0077 0.9754 0.2204 +vn 0.8001 0.5784 0.1590 +vn 0.4154 0.8957 0.1587 +vn 0.9770 0.1396 0.1612 +vn 0.9371 -0.3060 0.1679 +vn 0.7076 -0.6834 0.1796 +vn 0.3182 -0.9280 0.1937 +vn -0.1699 -0.9641 0.2039 +vn -0.6270 -0.7520 0.2035 +vn -0.9141 -0.3568 0.1927 +vn -0.9791 0.0975 0.1783 +vn -0.8400 0.5163 0.1668 +vn -0.5257 0.8354 0.1604 +vn -0.0756 0.9844 0.1586 +vn 0.9788 -0.0473 0.1993 +vn 0.9891 -0.0496 0.1385 +vn 0.9781 -0.0471 0.2030 +vn 0.9472 -0.0422 0.3179 +vn 0.9286 -0.0397 0.3691 +vn 0.8776 -0.0338 0.4783 +vn 0.8425 -0.0302 0.5378 +vn 0.7494 -0.0216 0.6617 +vn 0.6825 -0.0160 0.7307 +vn 0.5000 -0.0023 0.8661 +vn 0.3791 0.0060 0.9253 +vn 0.1005 0.0230 0.9947 +vn -0.0574 0.0317 0.9978 +vn -0.3445 0.0455 0.9377 +vn -0.4744 0.0508 0.8788 +vn -0.6660 0.0573 0.7438 +vn -0.7379 0.0592 0.6723 +vn -0.8362 0.0608 0.5451 +vn -0.8714 0.0611 0.4867 +vn -0.9230 0.0608 0.3799 +vn -0.9422 0.0604 0.3297 +vn -0.9708 0.0592 0.2326 +vn -0.9805 0.0584 0.1878 +vn -0.9879 0.0576 0.1440 +vn 0.0099 0.9970 -0.0762 +vn -0.0186 0.9969 -0.0760 +vn -0.0126 -0.9993 -0.0349 +vn 0.0152 -0.9993 -0.0337 +vn -0.3345 0.9014 0.2751 +vn -0.7364 0.6150 0.2820 +vn -0.6166 0.7364 0.2784 +vn -0.1702 0.9468 0.2733 +vn -0.9416 0.1660 0.2929 +vn -0.8985 0.3312 0.2882 +vn -0.8949 -0.3260 0.3048 +vn -0.9402 -0.1613 0.3001 +vn -0.6079 -0.7291 0.3146 +vn -0.7297 -0.6089 0.3110 +vn -0.1572 -0.9344 0.3196 +vn -0.3230 -0.8914 0.3179 +vn 0.3359 -0.8865 0.3184 +vn 0.1709 -0.9323 0.3188 +vn 0.7384 -0.5981 0.3114 +vn 0.6186 -0.7204 0.3137 +vn 0.9423 -0.1476 0.3005 +vn 0.8998 -0.3131 0.3038 +vn 0.8935 0.3441 0.2886 +vn 0.9394 0.1796 0.2919 +vn 0.6058 0.7451 0.2789 +vn 0.7277 0.6257 0.2811 +vn 0.1565 0.9489 0.2739 +vn 0.3216 0.9063 0.2743 +vn 0.0774 0.7367 0.6717 +vn 0.3231 0.4857 0.8123 +vn 0.2029 0.9207 0.3333 +vn 0.2914 0.9468 0.1366 +vn 0.0097 0.1705 0.9853 +vn 0.2824 -0.0630 0.9572 +vn 0.1184 -0.4871 0.8653 +vn 0.3851 -0.5706 0.7253 +vn 0.3249 -0.8516 0.4112 +vn 0.5615 -0.7726 0.2964 +vn 0.5363 -0.8382 -0.0988 +vn 0.7458 -0.6568 -0.1110 +vn 0.7022 -0.4967 -0.5101 +vn 0.8840 -0.2825 -0.3724 +vn 0.7392 0.1168 -0.6633 +vn 0.8954 0.2447 -0.3721 +vn 0.5663 0.7209 -0.3994 +vn 0.4706 0.8521 -0.2289 +vn 0.8247 0.3888 0.4108 +vn 0.8563 0.1546 0.4928 +vn 0.8972 0.2943 0.3294 +vn 0.8117 0.0127 0.5839 +vn 0.9617 -0.2007 0.1865 +vn 0.9924 -0.0464 0.1136 +vn 0.9394 0.3023 0.1615 +vn 0.9713 0.2133 0.1053 +vn -0.0766 0.9970 0.0072 +vn -0.2523 0.9049 0.3428 +vn -0.2050 0.9462 0.2502 +vn 0.0013 0.9908 -0.1352 +vn -0.2732 0.6034 0.7492 +vn -0.3778 0.7048 0.6005 +vn -0.0087 0.5295 0.8483 +vn -0.2503 0.4688 0.8471 +vn -0.2336 -0.3651 0.9012 +vn -0.1908 -0.1204 0.9742 +vn -0.2555 -0.2786 0.9258 +vn -0.1622 -0.3211 0.9330 +vn 0.0599 0.1966 0.9786 +vn -0.1244 0.0456 0.9912 +vn 0.0401 -0.7825 0.6214 +vn -0.0064 -0.9585 0.2849 +vn 0.0645 -0.8837 0.4635 +vn 0.3382 -0.5943 0.7297 +vn 0.2616 -0.9505 -0.1677 +vn 0.1344 -0.9906 -0.0270 +vn 0.4711 -0.8165 -0.3337 +vn 0.4308 -0.8482 -0.3081 +vn 0.4317 -0.5413 -0.7216 +vn 0.4695 -0.6526 -0.5947 +vn 0.4794 -0.0379 -0.8768 +vn 0.4763 -0.2520 -0.8424 +vn 0.3818 0.5102 -0.7707 +vn 0.4379 0.3035 -0.8462 +vn 0.1436 0.9111 -0.3864 +vn 0.2181 0.8305 -0.5126 +vn 0.9223 -0.0450 0.3840 +vn 0.9219 -0.0452 0.3847 +vn 0.9166 -0.0438 0.3974 +vn 0.9299 -0.0502 0.3642 +vn 0.9610 -0.1054 0.2555 +vn 0.9182 -0.0691 0.3901 +vn 0.9842 -0.0688 0.1634 +vn 0.9810 -0.0530 0.1865 +vn 0.9022 -0.0803 0.4239 +vn 0.9375 -0.0115 0.3477 +vn 0.9587 0.1377 0.2491 +vn 0.9169 -0.0654 0.3938 +vn 0.9312 0.2688 0.2461 +vn 0.9309 0.2609 0.2556 +vn 0.9210 0.0656 0.3840 +vn 0.9349 0.1663 0.3136 +vn 0.8449 0.1598 0.5105 +vn 0.8607 0.1468 0.4875 +vn 0.9464 0.1072 0.3046 +vn 0.9147 0.1207 0.3856 +vn 0.9340 -0.0896 0.3459 +vn 0.9399 -0.0040 0.3413 +vn 0.9346 -0.0948 0.3428 +vn 0.9249 -0.1436 0.3521 +vn 0.9337 -0.0509 0.3545 +vn 0.9296 -0.0493 0.3653 +vn 0.0885 -0.9956 -0.0294 +vn 0.2517 -0.9055 -0.3416 +vn 0.2079 -0.9441 -0.2559 +vn 0.0089 -0.9931 0.1169 +vn 0.2857 -0.5488 -0.7856 +vn 0.3693 -0.7243 -0.5822 +vn 0.0595 -0.2999 -0.9521 +vn 0.2646 -0.3958 -0.8794 +vn 0.2960 0.4503 -0.8424 +vn 0.4699 0.0969 -0.8774 +vn 0.3813 0.2711 -0.8838 +vn 0.1814 0.4897 -0.8528 +vn 0.4783 -0.0138 -0.8781 +vn 0.2543 0.7847 -0.5653 +vn 0.0613 0.9507 -0.3039 +vn 0.1603 0.8658 -0.4740 +vn 0.2504 0.7855 -0.5660 +vn -0.2439 0.9605 0.1340 +vn -0.0961 0.9951 -0.0247 +vn -0.4621 0.8191 0.3400 +vn -0.4571 0.8256 0.3309 +vn -0.4248 0.5677 0.7052 +vn -0.4534 0.7113 0.5372 +vn -0.4782 0.0100 0.8782 +vn -0.4798 0.1843 0.8578 +vn -0.3973 -0.4622 0.7928 +vn -0.4412 -0.2873 0.8502 +vn -0.1578 -0.8980 0.4107 +vn -0.2503 -0.7856 0.5658 +vn 0.9990 -0.0000 0.0458 +vn 0.9958 -0.0001 0.0913 +vn 0.9978 -0.0001 0.0670 +vn 0.9731 0.0956 -0.2095 +vn 0.9988 -0.0001 -0.0481 +vn 0.9210 0.2690 -0.2817 +vn 0.9220 0.1802 -0.3428 +vn 0.8879 0.4017 -0.2242 +vn 0.8949 0.3341 -0.2958 +vn 0.8879 0.4017 -0.2243 +vn 0.9966 0.0798 -0.0211 +vn 0.9761 0.1949 -0.0964 +vn 0.0000 -0.9993 0.0362 +vn 0.0000 -0.9998 0.0196 +vn -0.0000 -1.0000 0.0011 +vn -0.0000 0.9998 0.0204 +vn 0.0000 0.9991 0.0430 +vn -0.0000 -0.9953 -0.0968 +vn -0.0000 -0.9805 -0.1964 +vn -0.0000 0.9920 0.1266 +vn -0.0000 0.9821 0.1881 +vn -0.0000 -0.9162 -0.4007 +vn -0.0000 -0.8668 -0.4986 +vn -0.0000 0.9385 0.3453 +vn -0.0000 0.8929 0.4502 +vn -0.0000 -0.7409 -0.6716 +vn 0.0000 -0.6625 -0.7490 +vn 0.0000 0.7459 0.6660 +vn 0.0000 0.6530 0.7574 +vn 0.0205 -0.1624 -0.9865 +vn 0.0003 -0.1597 -0.9872 +vn 0.0065 0.1851 0.9827 +vn -0.0000 0.1935 0.9811 +vn 0.0166 0.0000 0.9999 +vn 0.0083 -0.0000 1.0000 +vn -0.0000 0.1936 0.9811 +vn 0.0212 -0.1624 -0.9865 +vn 0.0504 0.0000 -0.9987 +vn 0.0252 -0.0000 -0.9997 +vn -0.0000 -0.1596 -0.9872 +vn 0.9977 0.0001 0.0671 +vn 0.9958 0.0001 0.0913 +vn 0.9988 0.0001 -0.0481 +vn 0.9731 -0.0956 -0.2095 +vn 0.9235 -0.1804 -0.3384 +vn 0.9263 -0.2780 -0.2545 +vn 0.8992 -0.3535 -0.2578 +vn 0.8790 -0.4349 -0.1957 +vn 0.9749 -0.2048 -0.0874 +vn 0.9965 -0.0810 -0.0215 +vn 0.0000 0.9993 0.0362 +vn 0.0000 1.0000 0.0011 +vn 0.0000 0.9998 0.0196 +vn -0.0000 -0.9998 0.0204 +vn 0.0000 -0.9991 0.0430 +vn -0.0000 0.9805 -0.1964 +vn -0.0000 0.9953 -0.0968 +vn -0.0000 -0.9920 0.1266 +vn -0.0000 -0.9821 0.1881 +vn 0.0000 0.8470 -0.5315 +vn 0.0000 0.9056 -0.4242 +vn -0.0000 -0.9303 0.3668 +vn 0.0000 -0.8759 0.4825 +vn -0.0000 0.6683 -0.7439 +vn -0.0000 0.7349 -0.6781 +vn -0.0000 -0.7408 0.6717 +vn -0.0000 -0.6571 0.7538 +vn -0.0001 0.6683 -0.7439 +vn -0.0000 0.1473 -0.9891 +vn 0.0210 0.1521 -0.9881 +vn 0.0066 -0.1755 0.9845 +vn -0.0000 -0.1832 0.9831 +vn 0.0066 -0.1755 0.9844 +vn 0.9965 -0.0810 -0.0214 +vn 0.0000 0.1474 -0.9891 +vn -0.8829 0.3876 -0.2650 +vn -0.9131 0.4009 -0.0741 +vn -0.9129 0.4008 0.0766 +vn -0.7771 -0.5708 -0.2650 +vn -0.8037 -0.5903 -0.0741 +vn -0.8036 -0.5902 0.0766 +vn 0.1058 -0.9584 -0.2650 +vn 0.1094 -0.9912 -0.0741 +vn 0.1094 -0.9910 0.0766 +vn 0.8829 -0.3876 -0.2650 +vn 0.9131 -0.4009 -0.0741 +vn 0.9129 -0.4008 0.0766 +vn 0.7771 0.5708 -0.2650 +vn 0.8037 0.5903 -0.0741 +vn 0.8036 0.5902 0.0766 +vn -0.1058 0.9584 -0.2650 +vn -0.1094 0.9912 -0.0741 +vn -0.1094 0.9910 0.0766 +vn 0.8741 -0.3838 0.2977 +vn 0.1047 -0.9489 0.2977 +vn -0.7694 -0.5651 0.2977 +vn -0.8741 0.3838 0.2977 +vn -0.1047 0.9489 0.2977 +vn 0.7694 0.5651 0.2977 +vn -0.4522 -0.8790 -0.1513 +vn -0.4570 -0.8883 -0.0458 +vn -0.4570 -0.8882 0.0476 +vn 0.5351 -0.8311 -0.1513 +vn 0.5408 -0.8399 -0.0458 +vn 0.5407 -0.8398 0.0476 +vn 0.9873 0.0479 -0.1513 +vn 0.9978 0.0484 -0.0458 +vn 0.9977 0.0484 0.0476 +vn 0.4522 0.8790 -0.1513 +vn 0.4570 0.8883 -0.0458 +vn 0.4570 0.8882 0.0476 +vn -0.5351 0.8311 -0.1513 +vn -0.5408 0.8399 -0.0458 +vn -0.5407 0.8398 0.0476 +vn -0.9873 -0.0479 -0.1513 +vn -0.9978 -0.0484 -0.0458 +vn -0.9977 -0.0484 0.0476 +vn 0.4507 0.8761 0.1711 +vn 0.9841 0.0477 0.1711 +vn 0.5334 -0.8284 0.1711 +vn -0.4507 -0.8761 0.1711 +vn -0.9841 -0.0477 0.1711 +vn -0.5334 0.8284 0.1711 +vn 0.0603 -0.2958 0.9533 +vn -0.2055 -0.2381 0.9492 +vn -0.2064 -0.2547 0.9447 +vn 0.0544 -0.3166 0.9470 +vn 0.3171 -0.3152 0.8945 +vn 0.3230 -0.2944 0.8994 +vn -0.3558 0.5538 0.7528 +vn -0.3255 0.5939 0.7358 +vn -0.3371 0.5920 0.7320 +vn -0.3785 0.5126 0.7707 +vn -0.4034 0.4450 0.7995 +vn -0.4046 0.4445 0.7992 +vn -0.3803 -0.0847 0.9210 +vn -0.4434 0.2576 0.8585 +vn -0.4360 0.1198 0.8919 +vn -0.3119 -0.1575 0.9370 +vn -0.2541 -0.2410 0.9367 +vn -0.2476 -0.2176 0.9441 +vn 0.1913 0.7524 0.6304 +vn 0.2943 0.7596 0.5800 +vn 0.2964 0.7434 0.5996 +vn 0.1917 0.7436 0.6405 +vn 0.0821 0.7522 0.6538 +vn 0.0818 0.7504 0.6559 +vn 0.7132 -0.0262 0.7005 +vn 0.7478 -0.0838 0.6586 +vn 0.7111 -0.0697 0.6996 +vn 0.6880 -0.0174 0.7255 +vn 0.7130 0.0736 0.6973 +vn 0.7151 0.0688 0.6956 +vn 0.6822 0.4161 0.6012 +vn 0.7275 0.2696 0.6309 +vn 0.7113 0.3379 0.6164 +vn 0.8424 0.4615 0.2781 +vn 0.6699 0.4610 0.5820 +vn 0.8378 0.5311 0.1268 +vn 0.2226 0.9591 -0.1750 +vn 0.3593 0.9173 -0.1716 +vn 0.3546 0.9169 -0.1833 +vn 0.0764 0.9900 -0.1187 +vn -0.0749 0.9947 -0.0705 +vn -0.0351 0.9993 0.0114 +vn 0.9047 -0.4254 0.0250 +vn 0.8906 -0.4539 0.0276 +vn 0.8208 -0.5061 -0.2650 +vn 0.7465 -0.4517 -0.4886 +vn 0.9678 -0.2509 -0.0171 +vn 0.9679 -0.2508 -0.0175 +vn 0.9912 0.0878 -0.0987 +vn 0.9678 0.2183 -0.1249 +vn 0.8705 0.4640 -0.1641 +vn 0.8442 0.5085 -0.1698 +vn -0.2021 0.5475 -0.8120 +vn -0.2200 0.5786 -0.7854 +vn -0.0659 0.5226 -0.8500 +vn -0.0562 0.4786 -0.8762 +vn 0.1026 0.4953 -0.8626 +vn 0.0860 0.4827 -0.8715 +vn 0.5925 -0.4698 -0.6544 +vn 0.5577 -0.3999 -0.7274 +vn 0.5656 -0.3850 -0.7293 +vn 0.5700 -0.3817 -0.7276 +vn 0.5404 0.0934 -0.8362 +vn 0.6005 -0.1264 -0.7896 +vn 0.5760 -0.0212 -0.8172 +vn 0.5303 0.1274 -0.8382 +vn 0.5226 0.1579 -0.8378 +vn 0.5342 0.1581 -0.8305 +vn -0.2085 -0.7243 -0.6572 +vn -0.4707 -0.6550 -0.5912 +vn -0.4780 -0.6597 -0.5799 +vn -0.1963 -0.7460 -0.6363 +vn 0.0811 -0.7287 -0.6800 +vn 0.0622 -0.7117 -0.6997 +vn -0.6063 0.1544 -0.7801 +vn -0.5169 0.2147 -0.8287 +vn -0.5285 0.2645 -0.8067 +vn -0.6362 0.1711 -0.7523 +vn -0.6936 0.0000 -0.7204 +vn -0.6948 -0.0003 -0.7192 +vn -0.6393 -0.5077 -0.5775 +vn -0.7240 -0.2166 -0.6550 +vn -0.7118 -0.3419 -0.6136 +vn -0.5717 -0.5843 -0.5760 +vn -0.5152 -0.6411 -0.5688 +vn -0.4935 -0.6455 -0.5829 +vn 0.2890 -0.9433 0.1635 +vn -0.8523 0.5229 0.0122 +vn -0.9022 0.4295 0.0400 +vn -0.7980 0.6025 -0.0133 +vn -0.9362 0.3458 0.0634 +vn -0.8524 -0.4699 0.2295 +vn -0.7768 -0.5811 0.2429 +vn -0.9595 -0.2088 0.1893 +vn -0.9889 -0.0031 0.1482 +vn -0.7002 -0.6687 0.2503 +vn -0.7001 -0.6687 0.2503 +vn -0.4309 0.3981 0.8099 +vn -0.4337 0.3959 0.8094 +vn -0.9696 0.2250 0.0966 +vn -0.9694 0.2264 0.0945 +vn -0.7217 -0.0749 -0.6881 +vn -0.7312 -0.0577 -0.6797 +vn 0.6099 -0.2201 -0.7613 +vn 0.6101 -0.2202 -0.7611 +vn 0.9967 -0.0384 -0.0716 +vn 0.9965 -0.0377 -0.0748 +vn 0.7382 0.1910 0.6469 +vn 0.7438 0.1942 0.6395 +vn -0.7860 0.6183 -0.0047 +vn -0.7885 0.6135 -0.0429 +vn -0.7913 0.6107 -0.0302 +vn -0.7736 0.6332 -0.0219 +vn -0.7859 0.6183 -0.0047 +vn -0.7369 0.6723 0.0712 +vn -0.7892 0.6137 0.0245 +vn -0.6282 0.7780 0.0069 +vn -0.6824 0.7294 0.0474 +vn -0.6386 0.7570 -0.1384 +vn -0.6834 0.7151 -0.1473 +vn -0.7806 0.6212 -0.0687 +vn -0.7605 0.6320 -0.1488 +vn -0.2800 -0.9250 0.2568 +vn -0.2794 -0.9351 0.2182 +vn -0.2395 -0.9185 0.3146 +vn -0.2485 -0.9163 0.3142 +vn -0.2800 -0.9250 0.2567 +vn -0.2905 -0.9287 0.2306 +vn -0.2645 -0.9292 0.2581 +vn -0.2338 -0.9630 0.1340 +vn -0.2997 -0.9310 0.2083 +vn -0.0749 -0.9844 0.1590 +vn -0.1456 -0.9799 0.1366 +vn -0.0695 -0.9509 0.3017 +vn -0.1295 -0.9390 0.3185 +vn 0.6662 0.2306 -0.7092 +vn 0.2308 0.0072 -0.9730 +vn 0.4019 0.0870 -0.9115 +vn 0.7622 0.2939 -0.5768 +vn -0.3132 -0.2009 -0.9282 +vn -0.1312 -0.1393 -0.9815 +vn 0.4019 0.0869 -0.9115 +vn -0.7307 -0.3096 -0.6084 +vn -0.6120 -0.2865 -0.7372 +vn -0.9350 -0.3059 -0.1797 +vn -0.8887 -0.3180 -0.3303 +vn -0.9403 -0.2130 0.2654 +vn -0.9604 -0.2539 0.1150 +vn -0.7373 -0.0400 0.6743 +vn -0.8321 -0.1071 0.5441 +vn -0.3087 0.1932 0.9313 +vn -0.4773 0.1115 0.8717 +vn 0.2304 0.3984 0.8878 +vn 0.0497 0.3385 0.9397 +vn 0.6520 0.4939 0.5753 +vn 0.5318 0.4739 0.7018 +vn 0.8623 0.4833 0.1511 +vn 0.8142 0.4967 0.3007 +vn 0.8708 0.3935 -0.2948 +vn 0.8903 0.4321 -0.1435 +vn 0.2339 0.3907 0.8903 +vn 0.6567 0.4867 0.5761 +vn 0.5364 0.4665 0.7033 +vn 0.0521 0.3303 0.9424 +vn -0.3078 0.1842 0.9335 +vn -0.4767 0.1022 0.8731 +vn -0.7366 -0.0483 0.6746 +vn -0.8307 -0.1159 0.5445 +vn -0.9382 -0.2212 0.2662 +vn -0.9581 -0.2619 0.1162 +vn -0.9328 -0.3136 -0.1777 +vn -0.8867 -0.3258 -0.3281 +vn -0.7287 -0.3181 -0.6065 +vn -0.6099 -0.2948 -0.7356 +vn -0.3097 -0.2095 -0.9274 +vn -0.1270 -0.1475 -0.9809 +vn 0.2364 -0.0003 -0.9717 +vn 0.4076 0.0797 -0.9097 +vn 0.6713 0.2235 -0.7067 +vn 0.7669 0.2865 -0.5743 +vn 0.8746 0.3862 -0.2931 +vn 0.8941 0.4248 -0.1422 +vn 0.8663 0.4759 0.1516 +vn 0.8184 0.4894 0.3010 +vn 0.2127 0.4155 0.8843 +vn 0.6379 0.5117 0.5756 +vn 0.5159 0.4914 0.7017 +vn 0.0306 0.3547 0.9345 +vn -0.3263 0.2090 0.9219 +vn -0.4940 0.1265 0.8602 +vn -0.7495 -0.0240 0.6616 +vn -0.8424 -0.0915 0.5310 +vn -0.9471 -0.1961 0.2541 +vn -0.9660 -0.2368 0.1039 +vn -0.9389 -0.2880 -0.1885 +vn -0.8920 -0.2989 -0.3391 +vn -0.7334 -0.2878 -0.6159 +vn -0.6130 -0.2643 -0.7446 +vn -0.3123 -0.1776 -0.9332 +vn -0.1291 -0.1138 -0.9851 +vn 0.2322 0.0334 -0.9721 +vn 0.4031 0.1128 -0.9082 +vn 0.6635 0.2544 -0.7036 +vn 0.2323 0.0334 -0.9721 +vn 0.7577 0.3173 -0.5704 +vn 0.8632 0.4137 -0.2895 +vn 0.8821 0.4503 -0.1380 +vn 0.8513 0.5016 0.1540 +vn 0.8020 0.5146 0.3033 +vn -0.3992 0.9135 -0.0781 +vn -0.4299 0.8972 -0.1011 +vn -0.4210 0.9024 -0.0916 +vn -0.3861 0.9195 -0.0741 +vn -0.3590 0.9305 -0.0731 +vn -0.3993 0.9135 -0.0781 +vn -0.3452 0.9354 -0.0763 +vn -0.3206 0.9431 -0.0883 +vn -0.3102 0.9457 -0.0976 +vn -0.2950 0.9481 -0.1190 +vn -0.2908 0.9477 -0.1315 +vn -0.2887 0.9446 -0.1563 +vn -0.2914 0.9416 -0.1688 +vn -0.3026 0.9338 -0.1909 +vn -0.3115 0.9288 -0.2005 +vn -0.3335 0.9181 -0.2143 +vn -0.3468 0.9122 -0.2183 +vn -0.3740 0.9011 -0.2193 +vn -0.3880 0.8960 -0.2161 +vn -0.4125 0.8878 -0.2039 +vn -0.4228 0.8851 -0.1945 +vn -0.4377 0.8823 -0.1728 +vn -0.4418 0.8827 -0.1603 +vn -0.4437 0.8859 -0.1355 +vn -0.4410 0.8890 -0.1230 +vn 0.3807 -0.9055 0.1873 +vn 0.4014 -0.8991 0.1745 +vn 0.3951 -0.9009 0.1799 +vn 0.3725 -0.9085 0.1892 +vn 0.3563 -0.9150 0.1892 +vn 0.3484 -0.9185 0.1870 +vn 0.3349 -0.9250 0.1795 +vn 0.3293 -0.9281 0.1738 +vn 0.3221 -0.9330 0.1608 +vn 0.3205 -0.9348 0.1533 +vn 0.3214 -0.9368 0.1384 +vn 0.3241 -0.9369 0.1309 +vn 0.3330 -0.9355 0.1180 +vn 0.3393 -0.9339 0.1127 +vn 0.3537 -0.9294 0.1053 +vn 0.3619 -0.9265 0.1034 +vn 0.3780 -0.9200 0.1035 +vn 0.3859 -0.9165 0.1056 +vn 0.3993 -0.9098 0.1131 +vn 0.4048 -0.9067 0.1186 +vn 0.4121 -0.9016 0.1316 +vn 0.4137 -0.8997 0.1391 +vn 0.4128 -0.8977 0.1540 +vn 0.4101 -0.8976 0.1615 +vn -0.4264 0.9003 -0.0871 +vn -0.3883 0.9190 -0.0686 +vn -0.4028 0.9124 -0.0725 +vn -0.4364 0.8945 -0.0972 +vn -0.3441 0.9363 -0.0707 +vn -0.3592 0.9308 -0.0673 +vn -0.3057 0.9476 -0.0930 +vn -0.3174 0.9446 -0.0831 +vn -0.2834 0.9502 -0.1293 +vn -0.2885 0.9505 -0.1157 +vn -0.2834 0.9438 -0.1703 +vn -0.2804 0.9470 -0.1564 +vn -0.3056 0.9298 -0.2049 +vn -0.2954 0.9353 -0.1946 +vn -0.3443 0.9118 -0.2238 +vn -0.3296 0.9182 -0.2198 +vn -0.3887 0.8943 -0.2216 +vn -0.3736 0.8999 -0.2251 +vn -0.4269 0.8821 -0.1990 +vn -0.4154 0.8853 -0.2090 +vn -0.4487 0.8788 -0.1622 +vn -0.4438 0.8787 -0.1760 +vn -0.4485 0.8855 -0.1212 +vn -0.4515 0.8820 -0.1351 +vn 0.9339 -0.2815 -0.2205 +vn 0.3630 -0.9318 0.0000 +vn 0.5986 -0.8011 0.0000 +vn 0.1148 -0.9934 0.0000 +vn -0.0338 0.9994 0.0000 +vn 0.1090 0.9940 0.0000 +vn -0.1826 0.9832 0.0000 +vn 0.9977 0.0671 0.0000 +vn 0.9970 0.0771 -0.0000 +vn 0.9971 0.0762 -0.0000 +vn -0.9949 -0.1004 0.0000 +vn -0.9947 -0.1031 0.0000 +vn -0.9952 -0.0984 -0.0000 +vn -0.9755 -0.2202 0.0000 +vn -0.9922 -0.1250 -0.0000 +vn -0.9918 -0.1281 -0.0000 +vn 0.9842 0.1768 -0.0000 +vn 0.9858 0.1677 -0.0000 +vn 0.9785 0.2063 0.0000 +vn -0.1008 -0.9949 0.0000 +vn -0.3278 0.9448 0.0000 +vn -0.0019 0.0017 1.0000 +vn -0.9946 -0.1037 -0.0000 +vn -0.9946 -0.1035 -0.0000 +vn 0.9940 0.1097 -0.0000 +vn 0.9905 0.1377 0.0000 +vn -0.1955 -0.9807 0.0000 +vn 0.0907 -0.9959 0.0000 +vn 0.0906 -0.9959 -0.0000 +vn -0.4029 0.9153 0.0000 +vn -0.1309 0.9914 0.0000 +vn -0.2638 0.9646 0.0000 +vn 0.9953 0.0968 0.0000 +vn 0.9945 0.1043 0.0000 +vn 0.9946 0.1038 0.0000 +vn -0.9940 -0.1096 0.0000 +vn -0.9936 -0.1130 0.0000 +vn -0.0106 0.9999 0.0000 +vn 0.3383 -0.9410 0.0000 +vn -0.0032 0.0341 0.9994 +vn 0.0069 -0.0323 0.9995 +vn -0.9940 -0.1095 -0.0000 +vn -0.9944 -0.1053 0.0000 +vn 0.9946 0.1035 0.0000 +vn 0.9948 0.1015 -0.0000 +vn -0.9805 -0.1967 0.0000 +vn -0.9935 -0.1135 0.0000 +vn -0.9900 -0.1410 -0.0000 +vn 0.9891 0.1473 0.0000 +vn 0.9935 0.1135 -0.0000 +vn 0.9752 0.2212 0.0000 +vn -0.2700 0.9629 -0.0000 +vn -0.1541 0.9880 0.0000 +vn -0.3939 0.9192 -0.0000 +vn 1.0000 -0.0019 -0.0000 +vn 0.9952 0.0974 0.0000 +vn 0.9957 0.0927 0.0000 +vn -0.9849 -0.1730 0.0000 +vn -0.6818 -0.7315 -0.0000 +vn -0.8163 -0.5777 -0.0000 +vn -0.9950 -0.1002 -0.0000 +vn -0.9886 -0.1503 0.0000 +vn -0.9936 -0.1133 -0.0000 +vn -0.9934 -0.1145 0.0000 +vn 0.9903 0.1389 -0.0000 +vn 0.9935 0.1139 0.0000 +vn 0.9745 0.2244 -0.0000 +vn -0.5030 -0.8643 -0.0000 +vn -0.5195 0.8545 -0.0000 +vn -0.9960 -0.0894 -0.0000 +vn -0.9960 -0.0895 -0.0000 +vn 0.9939 0.1102 -0.0000 +vn 0.9942 0.1076 0.0000 +vn 0.0100 0.0028 0.9999 +vn -0.8167 0.4972 -0.2928 +vn -0.0604 0.8269 -0.5590 +vn -0.9187 -0.3486 -0.1857 +vn -0.2785 -0.9020 -0.3299 +vn 0.5015 -0.6229 -0.6004 +vn 0.6516 -0.2777 -0.7059 +vn 0.4813 0.6465 -0.5919 +vn -0.3101 0.9485 -0.0651 +vn -0.2598 0.9635 0.0651 +vn -0.9536 0.2387 0.1836 +vn -0.9128 0.2566 0.3178 +vn -0.6673 -0.7219 0.1835 +vn -0.6234 -0.7144 0.3177 +vn 0.2598 -0.9635 -0.0651 +vn 0.3101 -0.9485 0.0651 +vn 0.9128 -0.2566 -0.3177 +vn 0.9536 -0.2387 -0.1835 +vn 0.6234 0.7144 -0.3178 +vn 0.6673 0.7218 -0.1836 +vn -0.4022 0.7251 0.5590 +vn 0.4112 0.8632 0.2928 +vn -0.7567 0.2775 0.5919 +vn -0.0786 -0.7958 0.6004 +vn -0.3932 -0.5891 0.7059 +vn 0.7269 -0.6023 0.3299 +vn 0.9596 0.2113 0.1857 +vn 0.0116 0.9981 -0.0611 +vn 0.4569 0.6224 -0.6356 +vn -0.7070 0.6702 0.2257 +vn -0.9964 -0.0807 -0.0275 +vn -0.6112 -0.5212 -0.5956 +vn -0.3147 -0.4650 -0.8275 +vn 0.5012 0.0897 -0.8607 +vn 0.6776 0.7252 -0.1227 +vn 0.7621 0.6469 -0.0275 +vn -0.0580 0.8803 0.4708 +vn 0.0318 0.8148 0.5789 +vn -0.8132 0.1730 0.5557 +vn -0.7376 0.0945 0.6686 +vn -0.7621 -0.6469 0.0275 +vn -0.6776 -0.7252 0.1227 +vn -0.0318 -0.8148 -0.5789 +vn 0.0580 -0.8803 -0.4709 +vn 0.7376 -0.0945 -0.6686 +vn 0.8132 -0.1730 -0.5557 +vn 0.7106 0.4944 0.5007 +vn 0.9984 -0.0353 -0.0442 +vn 0.2284 0.5977 0.7685 +vn -0.4668 -0.5076 0.7242 +vn -0.3617 -0.1763 0.9155 +vn -0.1166 -0.9827 0.1440 +vn 0.6030 -0.7683 -0.2147 +vn 0.4781 0.8426 -0.2479 +vn -0.0949 0.9693 -0.2270 +vn 0.1098 0.9665 -0.2320 +vn 0.6425 0.7206 -0.2605 +vn -0.6341 0.7376 -0.2320 +vn -0.4662 0.8548 -0.2277 +vn -0.9364 0.2347 -0.2611 +vn -0.8687 0.4280 -0.2494 +vn -0.8859 -0.3507 -0.3036 +vn -0.9449 -0.1540 -0.2889 +vn -0.4986 -0.7959 -0.3435 +vn -0.6630 -0.6711 -0.3316 +vn 0.0799 -0.9275 -0.3652 +vn -0.1275 -0.9238 -0.3610 +vn 0.6256 -0.6921 -0.3600 +vn 0.4560 -0.8115 -0.3654 +vn 0.9263 -0.1819 -0.3300 +vn 0.8602 -0.3773 -0.3431 +vn 0.8684 0.4042 -0.2872 +vn 0.9300 0.2084 -0.3029 +vn 0.3266 0.9298 -0.1695 +vn -0.4266 0.8884 -0.1695 +vn -0.3001 0.9484 -0.1026 +vn 0.4584 0.8828 -0.1026 +vn -0.9298 0.3266 -0.1695 +vn -0.8828 0.4584 -0.1026 +vn -0.8884 -0.4266 -0.1695 +vn -0.9484 -0.3001 -0.1026 +vn -0.3266 -0.9298 -0.1695 +vn -0.4584 -0.8828 -0.1026 +vn 0.4266 -0.8884 -0.1695 +vn 0.3001 -0.9484 -0.1026 +vn 0.9299 -0.3266 -0.1695 +vn 0.8828 -0.4584 -0.1026 +vn 0.9298 -0.3266 -0.1695 +vn 0.8884 0.4266 -0.1695 +vn 0.9484 0.3001 -0.1026 +vn -0.4712 -0.8714 0.1369 +vn 0.4310 -0.8896 0.1515 +vn -0.2905 -0.9383 0.1879 +vn -0.8714 0.4712 0.1368 +vn -0.9383 0.2905 0.1879 +vn 0.8080 -0.5880 -0.0370 +vn 0.1555 -0.9871 -0.0370 +vn -0.5881 -0.8080 -0.0370 +vn -0.9871 -0.1555 -0.0370 +vn -0.8080 0.5881 -0.0370 +vn -0.1555 0.9871 -0.0370 +vn 0.5881 0.8080 -0.0370 +vn 0.9871 0.1555 -0.0370 +vn 0.8080 -0.5881 -0.0371 +vn 0.0935 -0.9956 0.0000 +vn 0.1121 -0.9937 -0.0000 +vn 0.1131 -0.9936 -0.0000 +vn 0.1137 0.0167 0.9934 +vn 0.0199 0.0058 0.9998 +vn 0.0273 -0.0016 0.9996 +vn 0.1220 0.0039 0.9925 +vn 0.0435 0.9991 0.0000 +vn -0.0736 0.9973 -0.0000 +vn -0.0155 0.9999 -0.0000 +vn 0.9528 0.3037 0.0000 +vn 0.9528 0.3036 0.0000 +vn -0.2828 0.9592 -0.0000 +vn -0.3238 0.9461 0.0000 +vn -0.2376 0.9714 -0.0000 +vn 0.1604 -0.9871 0.0000 +vn 0.1408 -0.9900 -0.0000 +vn 0.1778 -0.9841 0.0000 +vn -0.0457 -0.0121 0.9989 +vn -0.0460 -0.0116 0.9989 +vn -0.0455 -0.0130 0.9989 +vn -0.0460 -0.0147 0.9988 +vn -0.1670 0.9860 -0.0000 +vn -0.1512 0.9885 -0.0000 +vn 0.1285 -0.9917 -0.0000 +vn 0.1219 -0.9925 0.0000 +vn -0.0727 -0.0215 0.9971 +vn -0.0593 -0.0166 0.9981 +vn 0.4978 0.8058 0.3208 +vn -0.0709 0.9445 0.3208 +vn 0.1333 0.9379 0.3203 +vn 0.6591 0.6804 0.3203 +vn -0.6125 0.7224 0.3208 +vn -0.4435 0.8371 0.3203 +vn -0.9202 0.2244 0.3208 +vn -0.8508 0.4166 0.3203 +vn -0.8764 -0.3593 0.3208 +vn -0.9332 -0.1631 0.3203 +vn -0.4978 -0.8058 0.3208 +vn -0.6591 -0.6805 0.3203 +vn 0.0709 -0.9445 0.3208 +vn -0.1333 -0.9379 0.3203 +vn 0.6125 -0.7224 0.3208 +vn 0.4435 -0.8371 0.3203 +vn 0.9202 -0.2244 0.3208 +vn 0.8508 -0.4166 0.3203 +vn 0.8764 0.3593 0.3208 +vn 0.9332 0.1631 0.3203 +vn 0.6591 0.6805 0.3203 +vn -0.0910 -0.9958 0.0000 +vn -0.0716 -0.9974 0.0000 +vn -0.0726 -0.9974 0.0000 +vn 0.2411 0.0011 0.9705 +vn 0.0941 0.0042 0.9956 +vn 0.1093 -0.0019 0.9940 +vn 0.2440 -0.0059 0.9698 +vn 0.2943 0.9557 -0.0000 +vn 0.1307 0.9914 0.0000 +vn 0.2270 0.9739 -0.0000 +vn -0.2561 0.9667 -0.0000 +vn -0.2207 0.9753 -0.0000 +vn 0.1891 -0.9820 -0.0000 +vn 0.1645 -0.9864 -0.0000 +vn 0.2089 -0.9779 0.0000 +vn -0.1248 -0.0043 0.9922 +vn -0.0895 -0.0076 0.9960 +vn -0.1540 -0.0045 0.9881 +vn -0.1515 0.0028 0.9884 +vn -0.1168 0.9932 0.0000 +vn -0.0491 0.9988 0.0000 +vn 0.0190 -0.9998 0.0000 +vn 0.0796 -0.9968 -0.0000 +vn -0.0784 -0.0056 0.9969 +vn -0.0628 -0.0055 0.9980 +vn 0.2552 -0.9611 -0.1056 +vn 0.7714 -0.6276 -0.1056 +vn 0.6188 -0.7784 -0.1058 +vn 0.0432 -0.9934 -0.1058 +vn 0.9929 -0.0543 -0.1056 +vn 0.9581 -0.2660 -0.1058 +vn 0.8352 0.5397 -0.1056 +vn 0.9315 0.3480 -0.1058 +vn 0.3585 0.9275 -0.1056 +vn 0.5490 0.8291 -0.1058 +vn -0.2552 0.9611 -0.1056 +vn -0.0432 0.9934 -0.1058 +vn -0.7714 0.6276 -0.1056 +vn -0.6188 0.7784 -0.1058 +vn -0.9929 0.0543 -0.1056 +vn -0.9582 0.2660 -0.1058 +vn -0.8352 -0.5397 -0.1056 +vn -0.9315 -0.3480 -0.1058 +vn -0.3584 -0.9276 -0.1056 +vn -0.5490 -0.8291 -0.1058 +vn -0.3585 -0.9275 -0.1056 +vn 0.2540 -0.9523 -0.1693 +vn 0.7652 -0.6211 -0.1693 +vn 0.6141 -0.7708 -0.1697 +vn 0.0437 -0.9845 -0.1697 +vn 0.9841 -0.0527 -0.1693 +vn 0.9498 -0.2627 -0.1697 +vn 0.8272 0.5358 -0.1693 +vn 0.9228 0.3458 -0.1697 +vn 0.3543 0.9197 -0.1693 +vn 0.5433 0.8222 -0.1697 +vn -0.2540 0.9523 -0.1693 +vn -0.0437 0.9845 -0.1697 +vn -0.7652 0.6211 -0.1693 +vn -0.6141 0.7708 -0.1697 +vn -0.9841 0.0527 -0.1693 +vn -0.9498 0.2627 -0.1697 +vn -0.8272 -0.5358 -0.1693 +vn -0.9228 -0.3458 -0.1697 +vn -0.3543 -0.9197 -0.1693 +vn -0.5433 -0.8222 -0.1697 +vn 0.1412 -0.9837 -0.1115 +vn 0.6887 -0.7231 -0.0528 +vn 0.6000 -0.7501 -0.2783 +vn 0.0448 -0.9673 -0.2498 +vn 0.9812 -0.1862 -0.0506 +vn 0.9223 -0.2546 -0.2908 +vn 0.9047 0.4146 -0.0985 +vn 0.9008 0.3368 -0.2741 +vn 0.4957 0.8480 -0.1877 +vn 0.5340 0.8076 -0.2501 +vn -0.0869 0.9526 -0.2917 +vn -0.0437 0.9703 -0.2380 +vn -0.6239 0.6899 -0.3673 +vn -0.6062 0.7597 -0.2353 +vn -0.9116 0.1600 -0.3785 +vn -0.9374 0.2587 -0.2332 +vn -0.8424 -0.4345 -0.3187 +vn -0.9113 -0.3417 -0.2295 +vn -0.4429 -0.8707 -0.2140 +vn -0.5356 -0.8120 -0.2319 +vn 0.2088 -0.9765 0.0528 +vn 0.7087 -0.6814 0.1829 +vn 0.9733 -0.1397 0.1823 +vn 0.8946 0.4440 0.0497 +vn 0.5016 0.8496 -0.1632 +vn -0.0649 0.9230 -0.3793 +vn -0.5913 0.6197 -0.5160 +vn -0.8568 0.0503 -0.5132 +vn -0.7522 -0.5436 -0.3725 +vn -0.3416 -0.9267 -0.1567 +vn 0.2930 -0.9398 0.1761 +vn 0.7535 -0.5818 0.3061 +vn 0.9638 -0.0213 0.2659 +vn 0.8483 0.5246 0.0723 +vn 0.4599 0.8635 -0.2070 +vn -0.0783 0.8729 -0.4817 +vn -0.5761 0.5091 -0.6394 +vn -0.8011 -0.0961 -0.5908 +vn -0.6573 -0.6591 -0.3655 +vn -0.2391 -0.9681 -0.0754 +vn 0.8852 0.4588 0.0767 +vn 0.9021 0.4085 0.1388 +vn 0.8811 0.4687 0.0640 +vn 0.2904 0.8054 -0.5168 +vn 0.3300 0.8202 -0.4674 +vn 0.2904 0.8054 -0.5167 +vn 0.2821 0.8019 -0.5266 +vn -0.5017 -0.6937 -0.5168 +vn -0.4577 -0.7465 -0.4829 +vn -0.5017 -0.6937 -0.5167 +vn -0.5092 -0.6840 -0.5224 +vn 0.1198 -0.9898 0.0767 +vn 0.2106 -0.9715 0.1084 +vn 0.1038 -0.9921 0.0711 +vn -0.6136 0.3242 0.7200 +vn 0.9103 -0.4003 -0.1056 +vn 0.9717 0.2112 -0.1056 +vn 0.9944 -0.0021 -0.1058 +vn 0.8032 -0.5862 -0.1058 +vn 0.6620 0.7420 -0.1056 +vn 0.8058 0.5827 -0.1058 +vn 0.0995 0.9894 -0.1056 +vn 0.3093 0.9451 -0.1058 +vn -0.5011 0.8589 -0.1056 +vn -0.3052 0.9464 -0.1058 +vn -0.9103 0.4003 -0.1056 +vn -0.8032 0.5862 -0.1058 +vn -0.9717 -0.2112 -0.1056 +vn -0.9944 0.0021 -0.1058 +vn -0.6620 -0.7420 -0.1056 +vn -0.8057 -0.5828 -0.1058 +vn -0.0995 -0.9894 -0.1056 +vn -0.3093 -0.9451 -0.1058 +vn 0.5011 -0.8589 -0.1056 +vn 0.3052 -0.9464 -0.1058 +vn 0.9026 -0.3958 -0.1693 +vn 0.9628 0.2104 -0.1693 +vn 0.9855 -0.0012 -0.1697 +vn 0.7966 -0.5802 -0.1697 +vn 0.6553 0.7361 -0.1693 +vn 0.7980 0.5783 -0.1697 +vn 0.0975 0.9807 -0.1693 +vn 0.3056 0.9369 -0.1697 +vn -0.4976 0.8507 -0.1693 +vn -0.3034 0.9376 -0.1697 +vn -0.9026 0.3958 -0.1693 +vn -0.7966 0.5802 -0.1697 +vn -0.9628 -0.2104 -0.1693 +vn -0.9855 0.0012 -0.1697 +vn -0.6553 -0.7361 -0.1693 +vn -0.7980 -0.5783 -0.1697 +vn -0.0975 -0.9807 -0.1693 +vn -0.3056 -0.9369 -0.1697 +vn 0.4976 -0.8507 -0.1693 +vn 0.3034 -0.9376 -0.1697 +vn 0.8568 -0.5035 -0.1114 +vn 0.9948 0.0870 -0.0528 +vn 0.9605 0.0008 -0.2783 +vn 0.7838 -0.5686 -0.2498 +vn 0.7578 0.6505 -0.0506 +vn 0.7745 0.5618 -0.2908 +vn 0.2406 0.9656 -0.0985 +vn 0.2989 0.9141 -0.2741 +vn -0.3533 0.9165 -0.1877 +vn -0.2978 0.9213 -0.2501 +vn -0.7986 0.5265 -0.2917 +vn -0.7855 0.5713 -0.2380 +vn -0.9284 -0.0570 -0.3673 +vn -0.9719 0.0003 -0.2353 +vn -0.6939 -0.6125 -0.3785 +vn -0.7871 -0.5710 -0.2332 +vn -0.1862 -0.9294 -0.3187 +vn -0.3017 -0.9254 -0.2295 +vn 0.4040 -0.8894 -0.2141 +vn 0.3003 -0.9252 -0.2319 +vn 0.8934 -0.4462 0.0528 +vn 0.9747 0.1286 0.1829 +vn 0.7165 0.6734 0.1823 +vn 0.2113 0.9762 0.0498 +vn -0.3509 0.9221 -0.1632 +vn -0.7617 0.5253 -0.3793 +vn -0.8533 -0.0754 -0.5160 +vn -0.5739 -0.6382 -0.5132 +vn -0.0446 -0.9269 -0.3725 +vn 0.5109 -0.8452 -0.1567 +vn 0.9172 -0.3575 0.1761 +vn 0.9248 0.2258 0.3061 +vn 0.6181 0.7398 0.2659 +vn 0.1194 0.9902 0.0723 +vn -0.3878 0.8982 -0.2070 +vn -0.7309 0.4835 -0.4817 +vn -0.7574 -0.1325 -0.6394 +vn -0.4248 -0.6859 -0.5908 +vn 0.1049 -0.9249 -0.3655 +vn 0.6073 -0.7909 -0.0754 +vn 0.1939 0.9780 0.0767 +vn 0.2438 0.9598 0.1388 +vn 0.1836 0.9809 0.0640 +vn -0.4481 0.7295 -0.5168 +vn -0.4350 0.7696 -0.4674 +vn -0.4481 0.7295 -0.5167 +vn -0.4506 0.7208 -0.5266 +vn 0.2290 -0.8249 -0.5167 +vn 0.2977 -0.8235 -0.4829 +vn 0.2290 -0.8249 -0.5168 +vn 0.2168 -0.8247 -0.5224 +vn 0.8482 -0.5240 0.0767 +vn 0.8906 -0.4417 0.1084 +vn 0.8400 -0.5379 0.0711 +vn -0.4142 0.9092 0.0435 +vn -0.5528 0.8322 0.0435 +vn -0.2611 0.9644 0.0420 +vn 0.9802 -0.1932 0.0436 +vn 0.9961 0.0736 0.0481 +vn 0.9959 -0.0773 0.0464 +vn 0.9814 -0.1876 0.0406 +vn 0.7488 0.6611 0.0473 +vn 0.8888 0.4559 0.0479 +vn 0.2680 0.9625 0.0421 +vn 0.4205 0.9063 0.0436 +vn -0.0340 0.9986 0.0400 +vn 0.0370 0.9985 0.0400 +vn 0.2483 0.9675 0.0476 +vn -0.0311 0.9985 0.0448 +vn -0.0261 0.9992 -0.0300 +vn 0.2590 0.9653 -0.0322 +vn 0.7491 0.6601 0.0563 +vn 0.7622 0.6464 -0.0358 +vn 0.9961 0.0663 0.0581 +vn 0.9980 0.0519 -0.0350 +vn 0.9874 -0.1491 0.0540 +vn 0.9844 -0.1696 -0.0470 +vn -0.3836 0.9222 0.0495 +vn -0.5416 0.8391 0.0508 +vn -0.8597 0.5084 -0.0494 +vn -0.3728 0.9273 -0.0332 +vn 0.0250 0.9983 -0.0526 +vn 0.3700 0.9272 -0.0580 +vn 0.8676 0.4926 -0.0677 +vn 0.9966 -0.0496 -0.0655 +vn 0.9761 -0.2094 -0.0586 +vn -0.9941 -0.0862 -0.0654 +vn -0.9886 -0.1384 -0.0592 +vn -0.9826 -0.1746 -0.0632 +vn -0.9959 0.0600 -0.0683 +vn -0.7636 0.6423 -0.0664 +vn -0.2611 0.9637 -0.0562 +vn -0.4142 -0.9092 0.0433 +vn -0.2611 -0.9644 0.0420 +vn -0.5528 -0.8322 0.0435 +vn 0.9802 0.1932 0.0436 +vn 0.9814 0.1876 0.0406 +vn 0.9960 0.0773 0.0452 +vn 0.9962 -0.0736 0.0476 +vn 0.8888 -0.4559 0.0479 +vn 0.7488 -0.6611 0.0473 +vn 0.4205 -0.9063 0.0434 +vn 0.2680 -0.9625 0.0421 +vn 0.0370 -0.9985 0.0399 +vn -0.0340 -0.9986 0.0399 +vn 0.2483 -0.9675 0.0476 +vn 0.2590 -0.9653 -0.0322 +vn -0.0261 -0.9992 -0.0300 +vn -0.0311 -0.9985 0.0447 +vn 0.7491 -0.6601 0.0563 +vn 0.7622 -0.6464 -0.0358 +vn 0.9961 -0.0663 0.0581 +vn 0.9980 -0.0519 -0.0350 +vn 0.9874 0.1491 0.0540 +vn 0.9844 0.1696 -0.0470 +vn -0.9970 0.0538 0.0553 +vn -0.9980 0.0505 -0.0380 +vn -0.9896 0.1430 -0.0133 +vn -0.9859 0.1597 0.0502 +vn -0.8783 -0.4746 0.0577 +vn -0.8707 -0.4900 -0.0409 +vn -0.3836 -0.9222 0.0497 +vn -0.3728 -0.9273 -0.0332 +vn -0.0012 0.0003 1.0000 +vn -0.0029 0.0014 1.0000 +vn -0.0021 0.0009 1.0000 +vn -0.0015 0.0002 1.0000 +vn -0.0002 0.0004 1.0000 +vn 0.3700 -0.9272 -0.0581 +vn 0.0250 -0.9983 -0.0525 +vn 0.8676 -0.4926 -0.0677 +vn 0.9966 0.0496 -0.0653 +vn 0.9761 0.2094 -0.0586 +vn -0.9959 -0.0600 -0.0683 +vn -0.9826 0.1746 -0.0632 +vn -0.7636 -0.6423 -0.0664 +vn -0.2611 -0.9637 -0.0562 +vn 0.0000 1.0000 -0.0030 +vn -0.0000 1.0000 -0.0025 +vn -0.0000 1.0000 -0.0007 +vn -0.0000 1.0000 -0.0006 +vn 0.0000 1.0000 -0.0023 +vn -0.0004 -0.0001 1.0000 +vn -0.0014 0.0003 1.0000 +vn -0.0004 0.0002 1.0000 +vn -0.8840 0.4650 0.0479 +vn -0.7414 0.6694 0.0472 +vn -0.2612 0.9644 0.0420 +vn -0.9964 -0.0715 0.0464 +vn -0.9957 0.0790 0.0476 +vn -0.9792 -0.1988 0.0405 +vn -0.9802 -0.1932 0.0437 +vn 0.9802 -0.1932 0.0437 +vn 0.9873 -0.1491 0.0540 +vn -0.9970 -0.0538 0.0560 +vn -0.9859 -0.1597 0.0502 +vn -0.9896 -0.1430 -0.0133 +vn -0.9980 -0.0505 -0.0380 +vn -0.8783 0.4746 0.0577 +vn -0.8707 0.4901 -0.0409 +vn -0.0012 -0.0003 1.0000 +vn -0.0029 -0.0014 1.0000 +vn -0.0022 -0.0010 1.0000 +vn -0.0016 -0.0010 1.0000 +vn 0.9982 -0.0367 -0.0466 +vn 0.9905 0.0157 -0.1367 +vn 0.9979 0.0299 0.0568 +vn 0.9897 -0.0355 0.1387 +vn 0.0091 0.9989 -0.0461 +vn -0.0008 0.9940 -0.1094 +vn -0.0015 0.9980 0.0639 +vn 0.0090 0.9912 0.1324 +vn -0.0107 0.9968 -0.0795 +vn -0.0107 0.9965 0.0826 +vn 0.8978 0.4282 -0.1027 +vn 0.8975 0.4280 0.1066 +vn 0.9182 -0.0050 0.3960 +vn 0.9235 -0.0321 0.3822 +vn 0.7979 0.3806 0.4675 +vn 0.0024 0.9256 0.3786 +vn 0.0084 0.9255 0.3787 +vn -0.0099 0.9255 0.3785 +vn 0.9210 -0.0329 -0.3883 +vn 0.9055 0.0668 -0.4190 +vn -0.0041 0.9255 -0.3786 +vn -0.0099 0.9255 -0.3785 +vn 0.0084 0.9255 -0.3787 +vn 0.7979 0.3806 -0.4675 +vn 0.9979 -0.0444 -0.0466 +vn 0.9906 0.0187 -0.1356 +vn 0.9977 0.0353 0.0581 +vn 0.9895 -0.0432 0.1379 +vn -0.9983 -0.0328 0.0475 +vn -0.9899 0.0390 0.1364 +vn -0.9965 0.0576 -0.0599 +vn -0.9897 -0.0319 -0.1399 +vn -0.9015 0.4209 0.1009 +vn -0.9011 0.4208 -0.1048 +vn 0.9179 -0.0061 0.3968 +vn 0.9232 -0.0393 0.3823 +vn -0.9195 -0.0295 0.3920 +vn -0.8997 0.1006 0.4248 +vn -0.8039 0.3754 0.4612 +vn 0.9211 -0.0401 -0.3873 +vn 0.9035 0.0779 -0.4215 +vn -0.9156 0.0096 -0.4019 +vn -0.9211 -0.0289 -0.3883 +vn -0.8039 0.3754 -0.4612 +vn 0.0055 -1.0000 -0.0000 +vn 0.0046 -1.0000 0.0000 +vn -0.0049 -1.0000 -0.0000 +vn -0.0058 -1.0000 -0.0000 +vn 0.0598 -0.9982 -0.0000 +vn -0.0609 -0.9981 0.0000 +vn 0.9982 0.0367 -0.0466 +vn 0.9897 0.0360 0.1387 +vn 0.9979 -0.0299 0.0568 +vn 0.9905 -0.0157 -0.1367 +vn 0.0091 -0.9989 -0.0461 +vn 0.0090 -0.9912 0.1324 +vn -0.0015 -0.9980 0.0639 +vn -0.0001 -0.9940 -0.1094 +vn -0.0107 -0.9965 0.0826 +vn -0.0107 -0.9968 -0.0795 +vn 0.8975 -0.4280 0.1066 +vn 0.8978 -0.4282 -0.1027 +vn 0.9235 0.0321 0.3822 +vn 0.9182 0.0050 0.3960 +vn 0.7979 -0.3806 0.4675 +vn 0.0084 -0.9255 0.3787 +vn 0.0024 -0.9255 0.3786 +vn -0.0099 -0.9255 0.3785 +vn 0.9055 -0.0668 -0.4190 +vn 0.9210 0.0329 -0.3883 +vn -0.0099 -0.9255 -0.3785 +vn -0.0041 -0.9256 -0.3786 +vn 0.0084 -0.9255 -0.3787 +vn 0.7979 -0.3806 -0.4675 +vn 0.0046 1.0000 0.0000 +vn 0.0055 1.0000 -0.0000 +vn -0.0049 1.0000 0.0000 +vn -0.0058 1.0000 0.0000 +vn 0.0598 0.9982 -0.0000 +vn -0.0609 0.9981 0.0000 +vn -0.1658 0.0000 -0.9862 +vn -0.0243 -0.0000 -0.9997 +vn -0.0962 0.0000 -0.9954 +vn 0.0489 0.0000 -0.9988 +vn -0.0056 0.9993 -0.0376 +vn -0.0066 0.9992 -0.0382 +vn -0.0071 0.9989 -0.0472 +vn -0.0098 0.9984 -0.0556 +vn -0.0166 0.9975 -0.0694 +vn 0.0052 0.9947 -0.1029 +vn 0.0137 0.9931 -0.1165 +vn 0.0698 0.9807 -0.1828 +vn -0.0058 -0.9993 -0.0377 +vn -0.0079 -0.9987 -0.0512 +vn -0.0068 -0.9990 -0.0449 +vn -0.0066 -0.9993 -0.0381 +vn -0.0083 -0.9960 -0.0893 +vn -0.0163 -0.9976 -0.0666 +vn 0.0230 -0.9904 -0.1365 +vn -0.0073 -0.9949 -0.1004 +vn 0.9975 0.0000 -0.0710 +vn 0.8720 0.0000 -0.4894 +vn 0.9567 0.0000 -0.2909 +vn -0.9809 -0.0000 0.1944 +vn -0.9997 0.0000 0.0260 +vn -0.9144 -0.0000 0.4047 +vn 0.4643 -0.0000 -0.8857 +vn 0.6152 -0.0000 -0.7883 +vn -0.6299 0.0000 0.7767 +vn -0.4780 -0.0000 0.8784 +vn 0.3076 0.0000 -0.9515 +vn -0.3466 0.0000 0.9380 +vn 0.0000 0.0483 0.9988 +vn -0.0000 -0.0158 0.9999 +vn 0.0000 0.0161 0.9999 +vn 0.0000 0.0751 -0.9972 +vn 0.0000 0.0001 -1.0000 +vn 0.0000 -0.0472 0.9989 +vn -0.0000 -0.0735 -0.9973 +vn -0.0057 0.9993 -0.0377 +vn -0.0167 0.9975 -0.0694 +vn -0.0066 -0.9993 -0.0382 +vn -0.0164 -0.9976 -0.0667 +vn -0.1374 0.0000 -0.9905 +vn -0.0200 0.0000 -0.9998 +vn -0.0795 0.0000 -0.9968 +vn 0.0404 0.0000 -0.9992 +vn -0.0065 0.9988 -0.0492 +vn -0.0071 0.9987 -0.0496 +vn -0.0077 0.9981 -0.0615 +vn -0.0106 0.9973 -0.0724 +vn -0.0178 0.9958 -0.0902 +vn 0.0056 0.9910 -0.1334 +vn 0.0147 0.9884 -0.1509 +vn 0.0740 0.9692 -0.2350 +vn -0.0065 -0.9988 -0.0492 +vn -0.0084 -0.9977 -0.0665 +vn -0.0073 -0.9983 -0.0582 +vn -0.0071 -0.9987 -0.0496 +vn -0.0089 -0.9932 -0.1159 +vn -0.0174 -0.9961 -0.0864 +vn 0.0246 -0.9840 -0.1765 +vn -0.0079 -0.9915 -0.1302 +vn 0.9963 0.0000 -0.0859 +vn 0.8268 0.0000 -0.5625 +vn 0.9383 -0.0000 -0.3458 +vn -0.9723 0.0000 0.2336 +vn -0.9995 0.0000 0.0315 +vn -0.8812 0.0000 0.4727 +vn 0.3970 -0.0000 -0.9178 +vn 0.5414 0.0000 -0.8408 +vn -0.5561 0.0000 0.8311 +vn -0.4096 0.0000 0.9123 +vn 0.2577 0.0000 -0.9662 +vn -0.2916 0.0000 0.9565 +vn 0.0000 0.0421 0.9991 +vn 0.0000 -0.0137 0.9999 +vn 0.0000 0.0140 0.9999 +vn -0.0000 0.0655 -0.9979 +vn -0.0000 0.0002 -1.0000 +vn 0.0000 -0.0411 0.9992 +vn -0.0000 -0.0641 -0.9979 +vn -0.0201 0.0000 -0.9998 +vn -0.0076 0.9981 -0.0614 +vn -0.0105 0.9973 -0.0723 +vn -0.0180 0.9958 -0.0900 +vn -0.0084 -0.9978 -0.0665 +vn -0.0073 -0.9983 -0.0584 +vn -0.0174 -0.9961 -0.0865 +vn 0.0246 -0.9840 -0.1764 +vn -0.0078 -0.9915 -0.1302 +vn -0.5272 0.8411 0.1206 +vn -0.9353 0.3315 0.1235 +vn -0.8722 0.4889 0.0150 +vn -0.3926 0.9195 0.0191 +vn -0.9522 -0.2793 0.1236 +vn -0.9930 -0.1173 0.0140 +vn -0.6374 -0.7601 0.1261 +vn -0.7607 -0.6487 0.0231 +vn -0.0936 -0.9869 0.1317 +vn -0.2678 -0.9628 0.0357 +vn 0.5262 -0.8397 0.1343 +vn 0.3675 -0.9293 0.0370 +vn 0.9349 -0.3313 0.1276 +vn 0.8750 -0.4836 0.0234 +vn 0.3675 -0.9293 0.0369 +vn 0.9530 0.2795 0.1170 +vn 0.9885 0.1509 0.0116 +vn 0.6385 0.7614 0.1117 +vn 0.7300 0.6834 0.0116 +vn 0.0938 0.9890 0.1144 +vn 0.2242 0.9744 0.0173 +vn 0.6744 0.6898 -0.2633 +vn 0.9169 0.2000 -0.3454 +vn 0.8161 -0.4065 -0.4107 +vn 0.3225 -0.8487 -0.4191 +vn -0.3058 -0.8719 -0.3824 +vn -0.7781 -0.5370 -0.3259 +vn -0.9652 0.0005 -0.2616 +vn -0.7999 0.5636 -0.2062 +vn -0.3362 0.9240 -0.1821 +vn 0.2178 0.9547 -0.2026 +vn -0.1793 -0.9764 0.1206 +vn 0.4659 -0.8762 0.1235 +vn 0.3130 -0.9496 0.0150 +vn -0.3315 -0.9433 0.0191 +vn 0.8909 -0.4371 0.1236 +vn 0.8116 -0.5841 0.0140 +vn 0.9835 0.1301 0.1261 +vn 0.9991 -0.0353 0.0231 +vn 0.7356 0.6645 0.1317 +vn 0.8477 0.5292 0.0357 +vn 0.1790 0.9746 0.1343 +vn 0.3566 0.9335 0.0370 +vn -0.4657 0.8757 0.1276 +vn -0.3187 0.9476 0.0234 +vn 0.3566 0.9335 0.0369 +vn -0.8916 0.4375 0.1170 +vn -0.8309 0.5564 0.0116 +vn -0.9852 -0.1303 0.1117 +vn -0.9999 -0.0110 0.0116 +vn -0.7371 -0.6660 0.1144 +vn -0.8234 -0.5671 0.0173 +vn -0.9632 -0.0533 -0.2633 +vn -0.8113 0.4717 -0.3454 +vn -0.3273 0.8510 -0.4107 +vn 0.3354 0.8437 -0.4191 +vn 0.8144 0.4365 -0.3824 +vn 0.9365 -0.1295 -0.3259 +vn 0.7114 -0.6523 -0.2616 +vn 0.2092 -0.9559 -0.2062 +vn -0.3761 -0.9085 -0.1821 +vn -0.8054 -0.5570 -0.2026 +vn -0.0000 0.9935 -0.1139 +vn -0.8584 0.2261 -0.4605 +vn -0.8540 -0.3275 -0.4042 +vn -0.9397 -0.2288 -0.2542 +vn -0.8789 0.3591 -0.3140 +vn -0.5235 -0.7728 -0.3589 +vn -0.6416 -0.7399 -0.2022 +vn 0.0070 -0.9397 -0.3419 +vn -0.0984 -0.9791 -0.1778 +vn 0.5349 -0.7645 -0.3597 +vn 0.4824 -0.8550 -0.1905 +vn 0.8584 -0.3142 -0.4055 +vn 0.8789 -0.4150 -0.2352 +vn 0.8540 0.2394 -0.4618 +vn 0.9397 0.1729 -0.2950 +vn 0.5235 0.6847 -0.5072 +vn 0.6416 0.6841 -0.3470 +vn -0.0070 0.8516 -0.5241 +vn 0.0984 0.9233 -0.3714 +vn -0.5349 0.6764 -0.5063 +vn -0.4824 0.7991 -0.3587 +vn -0.0140 0.1062 0.9942 +vn -0.0143 0.0969 0.9952 +vn -0.0149 0.1001 0.9949 +vn -0.0127 0.1091 0.9939 +vn -0.0091 0.0895 0.9959 +vn -0.0115 0.0916 0.9957 +vn -0.0005 0.0864 0.9963 +vn -0.0037 0.0868 0.9962 +vn 0.0084 0.0889 0.9960 +vn 0.0056 0.0874 0.9962 +vn 0.0140 0.0962 0.9953 +vn 0.0127 0.0933 0.9956 +vn 0.0143 0.1054 0.9943 +vn 0.0149 0.1022 0.9946 +vn 0.0092 0.1129 0.9936 +vn 0.0115 0.1107 0.9938 +vn 0.0006 0.1160 0.9932 +vn 0.0036 0.1157 0.9933 +vn -0.0084 0.1135 0.9935 +vn -0.0056 0.1150 0.9933 +vn -0.0141 0.1062 0.9942 +vn 0.9495 -0.3123 0.0314 +vn 0.9530 0.3017 -0.0290 +vn 0.9956 0.0928 -0.0089 +vn 0.8203 -0.5424 0.1814 +vn 0.5954 0.7998 -0.0759 +vn 0.7514 0.6568 -0.0629 +vn 0.0135 0.9955 -0.0941 +vn 0.2234 0.9704 -0.0919 +vn -0.1928 0.9769 -0.0926 +vn -0.1927 0.9769 -0.0924 +vn -0.7885 0.6085 0.0898 +vn -0.8944 0.3433 0.2866 +vn -0.8654 0.4767 0.1544 +vn -0.8499 0.5246 -0.0497 +vn -0.8982 -0.2341 0.3721 +vn -0.9418 -0.0447 0.3331 +vn -0.5616 -0.6980 0.4443 +vn -0.7099 -0.5695 0.4144 +vn -0.0196 -0.8818 0.4713 +vn -0.2192 -0.8578 0.4649 +vn 0.5068 -0.7957 0.3317 +vn 0.2986 -0.8359 0.4606 +vn 0.9495 -0.3123 0.0310 +vn 0.8202 -0.5423 0.1820 +vn 0.6824 0.7299 -0.0403 +vn 0.1228 0.9902 -0.0668 +vn 0.2285 0.9701 0.0817 +vn 0.7473 0.6547 0.1138 +vn 0.9813 0.1922 0.0144 +vn 0.9806 0.0962 0.1706 +vn 0.9054 -0.4177 0.0765 +vn 0.8394 -0.4922 0.2305 +vn 0.4836 -0.8667 0.1222 +vn 0.3776 -0.8856 0.2705 +vn -0.1228 -0.9833 0.1340 +vn -0.2285 -0.9338 0.2754 +vn -0.6824 -0.7231 0.1075 +vn -0.7473 -0.6184 0.2433 +vn -0.9813 -0.1853 0.0528 +vn -0.9806 -0.0598 0.1865 +vn -0.9054 0.4245 -0.0092 +vn -0.8394 0.5285 0.1266 +vn -0.4837 0.8735 -0.0549 +vn -0.9054 0.4246 -0.0092 +vn -0.8395 0.5285 0.1266 +vn -0.3776 0.9219 0.0866 +vn -0.8817 -0.4718 0.0000 +vn -0.8810 -0.4715 0.0388 +vn -0.8746 -0.4680 0.1265 +vn 0.8810 0.4715 0.0388 +vn 0.8746 0.4680 0.1265 +vn 0.8817 0.4718 -0.0000 +vn 0.3398 -0.9405 0.0000 +vn 0.4718 -0.8817 0.0000 +vn 0.4714 -0.8808 0.0443 +vn 0.3363 -0.9308 0.1431 +vn -0.5134 0.8581 0.0000 +vn -0.5939 0.8045 -0.0000 +vn -0.5934 0.8037 0.0440 +vn -0.4367 0.8960 0.0803 +vn -0.7242 -0.3875 0.5704 +vn 0.3696 -0.6906 0.6216 +vn 0.2670 -0.7389 0.6186 +vn 0.7242 0.3875 0.5704 +vn -0.4667 0.6321 0.6186 +vn -0.3345 0.7090 0.6208 +vn -0.3417 0.9290 0.1425 +vn -0.2716 0.7386 0.6170 +vn -0.3452 0.9385 0.0000 +vn 0.5893 -0.8079 -0.0000 +vn 0.5833 -0.7996 0.1425 +vn 0.4638 -0.6358 0.6170 +vn -0.0420 -0.0006 0.9991 +vn -0.0150 -0.0002 0.9999 +vn 0.0162 0.0002 0.9999 +vn 0.0387 0.0006 0.9992 +vn 0.0218 0.0003 0.9998 +vn -0.0003 -0.0373 0.9993 +vn -0.0007 -0.0801 0.9968 +vn -0.0004 -0.0482 0.9988 +vn 0.0005 0.0540 0.9985 +vn 0.0015 0.1818 0.9833 +vn 0.9794 -0.2020 -0.0000 +vn 0.9787 -0.2018 0.0388 +vn 0.9715 -0.2003 0.1265 +vn -0.9787 0.2018 0.0388 +vn -0.9715 0.2003 0.1265 +vn -0.9794 0.2020 0.0000 +vn 0.3410 0.9401 -0.0000 +vn 0.2020 0.9794 -0.0000 +vn 0.2017 0.9784 0.0443 +vn 0.3375 0.9304 0.1431 +vn -0.1549 -0.9879 0.0000 +vn -0.0587 -0.9983 0.0000 +vn -0.0587 -0.9973 0.0440 +vn -0.2381 -0.9679 0.0803 +vn 0.8044 -0.1659 0.5704 +vn 0.1582 0.7672 0.6216 +vn 0.2679 0.7386 0.6186 +vn -0.8044 0.1659 0.5704 +vn -0.0461 -0.7843 0.6186 +vn -0.1969 -0.7588 0.6208 +vn -0.3322 -0.9324 0.1425 +vn -0.2641 -0.7413 0.6170 +vn -0.3356 -0.9420 0.0000 +vn 0.0644 0.9979 -0.0000 +vn 0.0637 0.9877 0.1425 +vn 0.0507 0.7853 0.6170 +vn 0.0549 0.0000 0.9985 +vn 0.0196 0.0000 0.9998 +vn -0.0211 0.0000 0.9998 +vn -0.0507 0.0000 0.9987 +vn -0.0284 0.0000 0.9996 +vn 0.5570 0.8305 0.0000 +vn 0.5566 0.8299 0.0388 +vn 0.5525 0.8239 0.1265 +vn -0.5566 -0.8299 0.0388 +vn -0.5525 -0.8239 0.1265 +vn -0.5570 -0.8305 -0.0000 +vn -0.7416 0.6708 0.0000 +vn -0.8305 0.5570 0.0000 +vn -0.8297 0.5564 0.0443 +vn -0.7340 0.6639 0.1431 +vn 0.8562 -0.5166 -0.0000 +vn 0.9021 -0.4315 0.0000 +vn 0.9012 -0.4311 0.0440 +vn 0.8062 -0.5861 0.0803 +vn 0.4575 0.6821 0.5704 +vn 0.4575 0.6822 0.5704 +vn -0.6506 0.4363 0.6216 +vn -0.5827 0.5271 0.6186 +vn -0.4575 -0.6822 0.5704 +vn 0.7088 -0.3390 0.6186 +vn 0.6282 -0.4690 0.6208 +vn 0.7378 -0.6598 0.1425 +vn 0.5866 -0.5246 0.6170 +vn 0.7454 -0.6666 0.0000 +vn -0.8996 0.4366 0.0000 +vn -0.8905 0.4322 0.1425 +vn -0.7080 0.3436 0.6170 +vn 0.0012 0.0716 0.9974 +vn 0.0004 0.0256 0.9997 +vn -0.0005 -0.0276 0.9996 +vn -0.0012 -0.0661 0.9978 +vn -0.0006 -0.0372 0.9993 +vn -0.7138 0.7003 0.0000 +vn -0.7133 0.6998 0.0388 +vn -0.7081 0.6947 0.1265 +vn 0.7133 -0.6998 0.0388 +vn 0.7081 -0.6947 0.1265 +vn 0.7138 -0.7003 0.0000 +vn -0.7959 -0.6055 0.0000 +vn -0.7003 -0.7139 -0.0000 +vn -0.6996 -0.7131 0.0443 +vn -0.7877 -0.5992 0.1431 +vn 0.6654 0.7465 0.0000 +vn 0.5901 0.8073 0.0000 +vn 0.5896 0.8065 0.0440 +vn 0.7245 0.6846 0.0803 +vn -0.5863 0.5752 0.5704 +vn -0.5486 -0.5592 0.6216 +vn -0.6253 -0.4757 0.6186 +vn 0.5863 -0.5752 0.5704 +vn 0.4637 0.6343 0.6186 +vn 0.5766 0.5312 0.6208 +vn 0.7843 0.6038 0.1425 +vn 0.6236 0.4800 0.6170 +vn 0.7924 0.6100 0.0000 +vn -0.5947 -0.8039 0.0000 +vn -0.5887 -0.7957 0.1425 +vn -0.4680 -0.6327 0.6170 +vn 0.1600 -0.1001 0.9820 +vn 0.1607 0.0335 0.9864 +vn -0.0540 -0.1012 0.9934 +vn 0.1600 0.1001 0.9820 +vn 0.0540 0.1012 0.9934 +vn -0.1607 -0.0335 0.9864 +vn -0.1600 -0.1001 0.9820 +vn -0.1600 0.1001 0.9820 +vn -0.2391 0.9236 0.2996 +vn -0.6532 0.6958 0.2986 +vn -0.6061 0.7468 0.2735 +vn -0.1749 0.9445 0.2779 +vn -0.8956 0.3302 0.2981 +vn -0.8849 0.3751 0.2763 +vn -0.8956 0.3301 0.2981 +vn -0.9317 -0.1774 0.3170 +vn -0.9534 -0.0954 0.2861 +vn -0.8849 0.3751 0.2762 +vn -0.6722 -0.6681 0.3189 +vn -0.7319 -0.6221 0.2780 +vn -0.1687 -0.9362 0.3084 +vn -0.2636 -0.9282 0.2627 +vn 0.1585 -0.9463 0.2818 +vn 0.1503 -0.9503 0.2728 +vn 0.5971 -0.7399 0.3097 +vn 0.5026 -0.8068 0.3106 +vn 0.9323 -0.1868 0.3098 +vn 0.9087 -0.2929 0.2975 +vn 0.8915 0.3521 0.2851 +vn 0.9206 0.2798 0.2724 +vn 0.7632 0.5888 0.2661 +vn 0.7716 0.5692 0.2839 +vn 0.3168 0.8994 0.3014 +vn 0.4231 0.8566 0.2953 +vn 0.9455 0.2873 0.1532 +vn 0.9808 0.1877 0.0531 +vn 0.8197 -0.5194 0.2414 +vn 0.8839 -0.4553 0.1072 +vn 0.2853 -0.9228 0.2588 +vn 0.2112 -0.9694 0.1251 +vn 0.2079 -0.9781 0.0023 +vn -0.4871 -0.8562 0.1720 +vn -0.7601 -0.6307 0.1564 +vn -0.8378 -0.5397 0.0824 +vn -0.9642 0.1413 0.2244 +vn -0.9106 0.3753 0.1732 +vn -0.9106 0.3752 0.1732 +vn -0.6147 0.7690 0.1755 +vn -0.1717 0.9679 0.1833 +vn -0.0558 0.9921 0.1121 +vn 0.6770 0.6741 0.2955 +vn 0.7591 0.6207 0.1961 +vn -0.5849 -0.8088 0.0618 +vn -0.5590 -0.8289 0.0198 +vn -0.6404 -0.7507 0.1622 +vn 0.5849 0.8088 -0.0617 +vn 0.5590 0.8289 -0.0198 +vn 0.6404 0.7507 -0.1622 +vn -0.5434 0.8390 -0.0274 +vn -0.5728 0.8171 -0.0660 +vn -0.4663 0.8822 0.0660 +vn 0.5434 -0.8390 0.0274 +vn 0.5728 -0.8171 0.0660 +vn 0.4663 -0.8822 -0.0660 +vn -0.8450 -0.4707 -0.2536 +vn -0.8468 -0.4677 -0.2532 +vn -0.9043 -0.3988 -0.1525 +vn -0.9250 -0.3650 -0.1056 +vn -0.5488 0.2589 -0.7948 +vn -0.5485 0.2613 -0.7943 +vn -0.6071 0.3517 -0.7125 +vn -0.6311 0.3906 -0.6702 +vn 0.3845 0.5828 -0.7159 +vn 0.3835 0.5816 -0.7174 +vn 0.3587 0.6848 -0.6344 +vn 0.3457 0.7285 -0.5915 +vn 0.9767 0.1767 -0.1220 +vn 0.9762 0.1765 -0.1260 +vn 0.9645 0.2632 -0.0202 +vn 0.9531 0.3013 0.0286 +vn 0.7068 -0.5709 0.4178 +vn 0.7076 -0.5709 0.4165 +vn 0.6801 -0.4952 0.5406 +vn 0.6634 -0.4568 0.5927 +vn -0.2511 -0.9039 0.3464 +vn -0.2528 -0.9031 0.3471 +vn -0.2979 -0.8333 0.4657 +vn -0.3171 -0.7959 0.5158 +vn -0.3223 0.7986 0.5084 +vn -0.2970 0.7954 0.5284 +vn -0.3042 0.7986 0.5193 +vn -0.3345 0.7941 0.5074 +vn 0.3067 -0.7997 -0.5162 +vn 0.3386 -0.7926 -0.5071 +vn 0.3263 -0.7971 -0.5081 +vn 0.2994 -0.7964 -0.5254 +vn -0.3522 0.7829 0.5129 +vn -0.3573 0.7751 0.5210 +vn 0.3590 -0.7725 -0.5238 +vn 0.3539 -0.7803 -0.5156 +vn -0.3571 0.7639 0.5376 +vn -0.3499 0.7606 0.5468 +vn 0.3475 -0.7595 -0.5499 +vn 0.3547 -0.7628 -0.5406 +vn -0.3319 0.7607 0.5579 +vn -0.3196 0.7652 0.5589 +vn 0.3154 -0.7667 -0.5592 +vn 0.3278 -0.7622 -0.5583 +vn -0.3016 0.7765 0.5533 +vn -0.2967 0.7842 0.5450 +vn 0.2950 -0.7867 -0.5422 +vn 0.3000 -0.7790 -0.5506 +vn 0.9465 0.3185 0.0526 +vn 0.9463 0.3191 0.0518 +vn 0.9467 0.3178 0.0530 +vn 0.9468 0.3173 0.0543 +vn 0.3576 0.7119 -0.6043 +vn 0.3468 0.7302 -0.5886 +vn 0.3753 0.6742 -0.6361 +vn 0.3910 0.6503 -0.6514 +vn -0.6278 0.3707 -0.6844 +vn -0.6337 0.3916 -0.6671 +vn -0.6130 0.3327 -0.7166 +vn -0.6071 0.3035 -0.7344 +vn -0.9338 -0.3484 -0.0818 +vn -0.9341 -0.3473 -0.0824 +vn -0.9336 -0.3489 -0.0811 +vn -0.9334 -0.3499 -0.0799 +vn -0.3454 -0.7398 0.5775 +vn -0.3348 -0.7582 0.5596 +vn -0.3635 -0.7028 0.6115 +vn -0.3796 -0.6771 0.6305 +vn 0.6404 -0.3992 0.6561 +vn 0.6464 -0.4187 0.6378 +vn 0.6255 -0.3602 0.6921 +vn 0.6193 -0.3322 0.7114 +vn 0.9468 0.3172 0.0547 +vn 0.9468 0.3169 0.0558 +vn 0.4053 0.6178 -0.6738 +vn 0.4101 0.6192 -0.6696 +vn -0.5945 0.2712 -0.7570 +vn -0.5987 0.2659 -0.7556 +vn -0.9335 -0.3498 -0.0793 +vn -0.9332 -0.3506 -0.0787 +vn -0.3946 -0.6446 0.6548 +vn -0.3999 -0.6432 0.6530 +vn 0.6063 -0.2979 0.7374 +vn 0.6109 -0.2961 0.7342 +vn 0.9472 0.3042 0.1014 +vn 0.9520 0.2720 0.1402 +vn 0.9528 0.2703 0.1380 +vn 0.9493 0.2950 0.1092 +vn 0.7777 0.5103 -0.3671 +vn 0.8945 0.4330 -0.1114 +vn 0.8856 0.4315 -0.1717 +vn 0.7692 0.4844 -0.4168 +vn 0.7547 0.6010 -0.2633 +vn 0.8483 0.5186 -0.1068 +vn 0.9458 0.3108 0.0946 +vn 0.9521 0.2720 0.1401 +vn 0.7022 0.6751 -0.2264 +vn 0.8892 0.4562 -0.0355 +vn 0.9497 0.2894 0.1200 +vn 0.9520 0.2721 0.1402 +vn -0.9316 -0.3621 -0.0327 +vn -0.9283 -0.3709 -0.0248 +vn -0.9193 -0.3935 0.0042 +vn -0.9200 -0.3918 0.0064 +vn -0.8681 -0.0696 -0.4915 +vn -0.8377 -0.0817 -0.5399 +vn -0.9292 -0.2110 -0.3036 +vn -0.9449 -0.2184 -0.2440 +vn -0.9220 0.0105 -0.3870 +vn -0.9637 -0.1225 -0.2373 +vn -0.9337 -0.3558 -0.0395 +vn -0.9200 -0.3918 0.0063 +vn -0.9329 0.0998 -0.3461 +vn -0.9651 -0.2009 -0.1682 +vn -0.9265 -0.3759 -0.0140 +vn -0.9201 -0.3917 0.0064 +vn 0.3440 -0.8900 -0.2992 +vn 0.3431 -0.9273 -0.1499 +vn 0.3446 -0.9118 -0.2233 +vn -0.2506 0.4823 0.8394 +vn -0.2756 0.5705 0.7736 +vn -0.2244 0.3947 0.8910 +vn -0.5897 0.1851 0.7861 +vn 0.0604 0.3267 0.9432 +vn -0.1817 0.2962 0.9377 +vn -0.7498 0.1111 0.6522 +vn 0.6726 0.2914 0.6802 +vn 0.4920 0.3225 0.8086 +vn 0.9703 0.1290 0.2047 +vn 0.9057 0.1936 0.3772 +vn 0.9492 -0.0897 -0.3015 +vn 0.9915 -0.0107 -0.1298 +vn 0.5995 -0.3203 -0.7335 +vn 0.7591 -0.2441 -0.6035 +vn -0.0429 -0.4637 -0.8850 +vn 0.1959 -0.4331 -0.8798 +vn -0.6504 -0.4232 -0.6307 +vn -0.4703 -0.4558 -0.7557 +vn -0.9528 -0.2557 -0.1635 +vn -0.8860 -0.3216 -0.3341 +vn -0.9381 -0.0389 0.3442 +vn -0.9784 -0.1165 0.1709 +vn -0.6663 0.3012 0.6821 +vn -0.0947 0.6433 0.7597 +vn -0.2017 0.5118 0.8351 +vn -0.7502 0.1681 0.6395 +vn 0.5086 0.6668 0.5447 +vn 0.4377 0.5981 0.6713 +vn 0.8932 0.4174 0.1673 +vn 0.8671 0.4083 0.2854 +vn 0.9719 -0.0018 -0.2355 +vn 0.9850 0.0512 -0.1646 +vn 0.7030 -0.4718 -0.5321 +vn 0.7504 -0.3563 -0.5567 +vn 0.1556 -0.7953 -0.5860 +vn 0.2079 -0.6551 -0.7264 +vn -0.4188 -0.8245 -0.3806 +vn -0.3950 -0.7092 -0.5839 +vn -0.8059 -0.5913 -0.0295 +vn -0.8102 -0.5405 -0.2267 +vn -0.9142 -0.1818 0.3622 +vn -0.9487 -0.2284 0.2188 +vn -0.9142 -0.1819 0.3622 +vn -0.6601 0.4640 0.5907 +vn -0.1586 0.8347 0.5273 +vn 0.4015 0.8613 0.3112 +vn 0.8240 0.5657 0.0326 +vn 0.9761 0.0344 -0.2144 +vn 0.7674 -0.5492 -0.3308 +vn 0.2735 -0.9250 -0.2639 +vn -0.2882 -0.9560 -0.0543 +vn -0.7227 -0.6554 0.2194 +vn -0.8760 -0.1165 0.4680 +vn -0.6898 0.6156 0.3811 +vn -0.2231 0.9522 0.2085 +vn 0.3243 0.9457 0.0239 +vn 0.7846 0.6090 -0.1160 +vn 0.9876 0.0339 -0.1532 +vn 0.8300 -0.5540 -0.0649 +vn 0.3844 -0.9169 0.1078 +vn -0.1803 -0.9370 0.2992 +vn -0.6729 -0.5921 0.4435 +vn -0.8789 0.0162 0.4767 +vn 0.7089 0.6882 -0.1543 +vn 0.6447 0.7432 -0.1789 +vn 0.7089 0.6884 -0.1534 +vn 0.7213 0.6766 -0.1481 +vn 0.9797 -0.1798 0.0886 +vn 0.9902 -0.1312 0.0484 +vn 0.9771 -0.1896 0.0968 +vn -0.5265 -0.4770 0.7037 +vn -0.5714 -0.4093 0.7113 +vn -0.5183 -0.4886 0.7019 +vn -0.7933 0.4336 0.4274 +vn -0.7512 0.5227 0.4031 +vn -0.7999 0.4175 0.4312 +vn -0.5897 -0.1851 0.7861 +vn -0.7498 -0.1111 0.6522 +vn -0.1816 -0.2953 0.9380 +vn 0.0605 -0.3263 0.9433 +vn 0.4920 -0.3225 0.8086 +vn 0.6726 -0.2914 0.6802 +vn 0.9057 -0.1936 0.3772 +vn 0.9703 -0.1290 0.2047 +vn 0.9915 0.0107 -0.1298 +vn 0.9492 0.0897 -0.3015 +vn 0.7591 0.2441 -0.6035 +vn 0.5995 0.3203 -0.7335 +vn 0.1959 0.4331 -0.8798 +vn -0.0429 0.4637 -0.8850 +vn -0.4701 0.4568 -0.7552 +vn -0.6504 0.4232 -0.6308 +vn -0.8860 0.3215 -0.3341 +vn -0.9528 0.2557 -0.1635 +vn -0.9784 0.1164 0.1709 +vn -0.9381 0.0389 0.3442 +vn -0.9381 0.0388 0.3442 +vn -0.9784 0.1165 0.1708 +vn -0.6663 -0.3012 0.6822 +vn -0.7502 -0.1681 0.6395 +vn -0.2017 -0.5118 0.8351 +vn -0.0947 -0.6433 0.7597 +vn 0.4377 -0.5981 0.6713 +vn 0.5086 -0.6668 0.5447 +vn 0.8671 -0.4083 0.2854 +vn 0.8932 -0.4174 0.1673 +vn 0.9850 -0.0512 -0.1646 +vn 0.9719 0.0018 -0.2355 +vn 0.7504 0.3563 -0.5567 +vn 0.7030 0.4718 -0.5321 +vn 0.2079 0.6551 -0.7264 +vn 0.1556 0.7953 -0.5859 +vn -0.3950 0.7092 -0.5839 +vn -0.4188 0.8245 -0.3806 +vn -0.8102 0.5406 -0.2267 +vn -0.8059 0.5913 -0.0295 +vn -0.9487 0.2284 0.2188 +vn -0.9142 0.1819 0.3622 +vn -0.9142 0.1818 0.3622 +vn -0.1586 -0.8347 0.5273 +vn -0.6601 -0.4640 0.5907 +vn 0.4015 -0.8613 0.3112 +vn 0.8240 -0.5657 0.0326 +vn 0.9761 -0.0344 -0.2144 +vn 0.7674 0.5492 -0.3308 +vn 0.2735 0.9250 -0.2639 +vn -0.2882 0.9560 -0.0543 +vn -0.7227 0.6554 0.2194 +vn -0.8760 0.1165 0.4680 +vn -0.2231 -0.9522 0.2084 +vn -0.6898 -0.6156 0.3811 +vn 0.3243 -0.9457 0.0239 +vn 0.7846 -0.6090 -0.1160 +vn 0.9876 -0.0339 -0.1532 +vn 0.8300 0.5540 -0.0649 +vn 0.3844 0.9169 0.1078 +vn -0.1803 0.9370 0.2992 +vn -0.6729 0.5921 0.4435 +vn -0.8789 -0.0163 0.4768 +vn -0.8789 -0.0162 0.4767 +vn 0.7089 -0.6884 -0.1534 +vn 0.7213 -0.6766 -0.1481 +vn 0.7088 -0.6885 -0.1534 +vn 0.6447 -0.7432 -0.1788 +vn 0.9797 0.1798 0.0886 +vn 0.9771 0.1896 0.0968 +vn 0.9902 0.1312 0.0484 +vn -0.5265 0.4770 0.7037 +vn -0.5183 0.4886 0.7019 +vn -0.5714 0.4093 0.7113 +vn -0.7933 -0.4336 0.4274 +vn -0.7999 -0.4175 0.4312 +vn -0.7512 -0.5227 0.4031 +vn 0.8663 0.4992 -0.0162 +usemtl Texture1 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 5/5/1 1/1/1 +f 1/1/1 5/5/1 2/2/1 +f 44/6/2 45/7/2 46/8/2 +f 50/9/2 51/10/2 52/11/2 +f 53/12/2 54/13/2 55/14/2 +f 56/15/1 57/16/1 58/17/1 +f 59/18/1 60/19/1 61/20/1 +f 98/21/3 99/22/3 100/23/3 +f 101/24/3 102/25/3 103/26/3 +f 224/27/2 225/28/2 226/29/2 +f 227/30/2 228/31/2 229/32/2 +f 230/33/2 231/34/2 232/35/2 +f 233/36/2 234/37/2 235/38/2 +f 236/39/2 235/38/2 237/40/2 +f 238/41/4 239/42/4 240/43/4 +f 241/44/4 238/41/4 242/45/4 +f 243/46/2 244/47/2 245/48/2 +f 246/49/2 245/48/2 247/50/2 +f 248/51/4 249/52/4 250/53/4 +f 251/54/4 248/51/4 252/55/4 +f 253/56/2 254/57/2 255/58/2 +f 256/59/2 257/60/2 254/57/2 +f 258/61/4 259/62/4 260/63/4 +f 261/64/4 262/65/4 258/61/4 +f 263/66/5 264/67/5 265/68/5 +f 266/69/6 267/70/6 268/71/6 +f 269/72/5 270/73/5 271/74/5 +f 272/75/6 273/76/6 274/77/6 +f 275/78/5 276/79/5 277/80/5 +f 278/81/6 279/82/6 280/83/6 +f 281/84/5 282/85/5 283/86/5 +f 284/87/6 285/88/6 286/89/6 +f 287/90/7 288/91/7 289/92/7 +f 290/93/7 291/94/7 292/95/7 +f 293/96/8 294/97/8 295/98/8 +f 296/99/8 297/100/8 298/101/8 +f 313/102/9 314/103/9 315/104/9 +f 328/105/10 329/106/10 330/107/10 +f 334/108/11 335/109/11 336/110/11 +f 337/111/12 338/112/12 339/113/12 +f 344/114/13 4311/115/13 4310/116/13 +f 344/114/13 4310/116/13 345/117/13 +f 346/118/14 4476/119/14 4475/120/14 +f 346/118/14 4475/120/14 347/121/14 +f 4106/122/15 348/123/15 349/124/15 +f 4106/122/15 349/124/15 4105/125/15 +f 350/126/1 351/127/1 352/128/1 +f 350/126/1 352/128/1 353/129/1 +f 354/130/1 355/131/1 356/132/1 +f 354/130/1 357/133/1 360/134/1 +f 354/130/1 360/134/1 361/135/1 +f 362/136/1 354/130/1 361/135/1 +f 362/136/1 361/135/1 363/137/1 +f 353/129/1 352/128/1 364/138/1 +f 352/128/1 362/136/1 363/137/1 +f 352/128/1 363/137/1 364/138/1 +f 366/139/5 367/140/5 368/141/5 +f 366/139/5 368/141/5 369/142/5 +f 3602/143/5 398/144/5 399/145/5 +f 3602/143/5 399/145/5 3599/146/5 +f 3599/146/5 399/145/5 404/147/5 +f 3599/146/5 404/147/5 3601/148/5 +f 3601/148/5 404/147/5 409/149/5 +f 3601/148/5 409/149/5 3603/150/5 +f 3603/150/5 414/151/5 3600/152/5 +f 4193/153/16 4191/154/16 423/155/16 +f 4193/153/16 423/155/16 424/156/16 +f 4240/157/17 4218/158/17 4217/159/17 +f 4240/157/17 4217/159/17 4239/160/17 +f 429/161/18 431/162/18 432/163/18 +f 429/161/18 432/163/18 433/164/18 +f 429/161/18 433/164/18 434/165/18 +f 4200/166/19 4234/167/19 447/168/19 +f 4199/169/20 458/170/20 4232/171/20 +f 462/172/21 463/173/21 4138/174/21 +f 462/172/21 4138/174/21 4174/175/21 +f 4137/176/22 465/177/22 4127/178/22 +f 4137/176/22 4127/178/22 4139/179/22 +f 466/180/23 467/181/23 468/182/23 +f 470/183/24 4456/184/24 4473/185/24 +f 472/186/25 4448/187/25 4472/188/25 +f 472/186/25 4472/188/25 473/189/25 +f 474/190/26 4459/191/26 4474/192/26 +f 474/190/26 4474/192/26 475/193/26 +f 476/194/27 4465/195/27 4478/196/27 +f 476/194/27 4478/196/27 477/197/27 +f 4462/198/28 478/199/28 479/200/28 +f 4462/198/28 479/200/28 4477/201/28 +f 480/202/29 481/203/29 482/204/29 +f 480/202/29 482/204/29 483/205/29 +f 484/206/29 482/204/29 481/203/29 +f 484/206/29 481/203/29 485/207/29 +f 4238/208/30 558/209/30 559/210/30 +f 4238/208/30 559/210/30 4246/211/30 +f 560/212/31 561/213/31 562/214/31 +f 560/212/31 562/214/31 563/215/31 +f 4238/208/30 564/216/30 558/209/30 +f 563/215/31 562/214/31 565/217/31 +f 563/215/31 565/217/31 566/218/31 +f 4222/219/30 4213/220/30 567/221/30 +f 4222/219/30 567/221/30 564/216/30 +f 568/222/31 570/223/31 571/224/31 +f 4214/225/30 4224/226/30 572/227/30 +f 4214/225/30 572/227/30 573/228/30 +f 571/224/31 570/223/31 574/229/31 +f 571/224/31 574/229/31 575/230/31 +f 4224/226/30 4236/231/30 576/232/30 +f 575/230/31 574/229/31 577/233/31 +f 575/230/31 577/233/31 578/234/31 +f 4236/231/30 4247/235/30 579/236/30 +f 4236/231/30 579/236/30 576/232/30 +f 560/212/31 580/237/31 581/238/31 +f 560/212/31 581/238/31 561/213/31 +f 589/239/32 4460/240/32 4466/241/32 +f 4430/242/33 591/243/33 4449/244/33 +f 4430/242/33 4449/244/33 4461/245/33 +f 4426/246/34 592/247/34 4457/248/34 +f 4426/246/34 4457/248/34 4450/249/34 +f 4429/250/35 593/251/35 4463/252/35 +f 4429/250/35 4463/252/35 4458/253/35 +f 4435/254/36 4469/255/36 4464/256/36 +f 595/257/37 4436/258/37 4467/259/37 +f 627/260/38 628/261/38 629/262/38 +f 627/260/38 629/262/38 624/263/38 +f 638/264/39 639/265/39 640/266/39 +f 644/267/40 645/268/40 646/269/40 +f 644/267/40 646/269/40 647/270/40 +f 654/271/41 655/272/41 656/273/41 +f 654/271/41 656/273/41 657/274/42 +f 660/275/43 662/276/43 663/277/44 +f 682/278/1 683/279/1 684/280/1 +f 4248/281/45 4291/282/45 686/283/45 +f 4248/281/45 686/283/45 687/284/45 +f 688/285/46 689/286/46 4278/287/46 +f 688/285/46 4278/287/46 4244/288/46 +f 692/289/47 4245/290/47 4249/291/47 +f 692/289/47 4249/291/47 693/292/47 +f 694/293/1 695/294/1 696/295/1 +f 694/293/1 696/295/1 697/296/1 +f 4341/297/48 4377/298/48 698/299/48 +f 4341/297/48 698/299/48 699/300/48 +f 700/301/49 701/302/49 4379/303/49 +f 700/301/49 4379/303/49 4339/304/49 +f 4380/305/50 702/306/50 703/307/50 +f 4380/305/50 703/307/50 4378/308/50 +f 704/309/51 4342/310/51 705/311/51 +f 722/312/52 723/313/52 724/314/52 +f 722/312/52 724/314/52 725/315/52 +f 726/316/53 727/317/53 4494/318/53 +f 726/316/53 4494/318/53 4425/319/53 +f 740/320/1 741/321/1 742/322/1 +f 740/320/1 742/322/1 743/323/1 +f 743/323/1 742/322/1 748/324/1 +f 743/323/1 748/324/1 749/325/1 +f 752/326/1 753/327/1 754/328/1 +f 753/327/1 760/329/1 761/330/1 +f 764/331/1 765/332/1 766/333/1 +f 764/331/1 766/333/1 767/334/1 +f 4110/335/54 4471/336/54 768/337/54 +f 4110/335/54 768/337/54 769/338/54 +f 770/339/55 771/340/55 4468/341/55 +f 770/339/55 4468/341/55 4115/342/55 +f 776/343/56 777/344/56 778/345/56 +f 776/343/56 778/345/56 779/346/56 +f 780/347/57 4123/348/57 4087/349/57 +f 780/347/57 4087/349/57 781/350/57 +f 46/8/2 45/7/2 48/351/2 +f 46/8/2 48/351/2 47/352/2 +f 822/353/5 823/354/5 4670/355/5 +f 822/353/5 4670/355/5 4672/356/5 +f 824/357/5 822/353/5 4672/356/5 +f 824/357/5 4672/356/5 4673/358/5 +f 825/359/5 824/357/5 4673/358/5 +f 825/359/5 4673/358/5 4674/360/5 +f 826/361/6 827/362/6 3575/363/6 +f 826/361/6 3575/363/6 3573/364/6 +f 827/362/6 828/365/6 3576/366/6 +f 827/362/6 3576/366/6 3575/363/6 +f 828/365/6 3577/367/6 3576/366/6 +f 44/6/2 50/9/2 52/11/2 +f 49/368/2 48/351/2 54/13/2 +f 49/368/2 54/13/2 53/12/2 +f 830/369/58 3574/370/58 4671/371/58 +f 830/369/58 4671/371/58 831/372/58 +f 3578/373/1 832/374/1 833/375/1 +f 3578/373/1 833/375/1 4675/376/1 +f 54/13/2 52/11/2 51/10/2 +f 54/13/2 51/10/2 55/14/2 +f 834/377/59 835/378/59 836/379/59 +f 834/377/59 836/379/59 837/380/59 +f 4525/381/1 838/382/1 839/383/1 +f 4525/381/1 839/383/1 840/384/1 +f 841/385/60 4523/386/60 4500/387/60 +f 841/385/60 4500/387/60 842/388/60 +f 843/389/61 4515/390/61 4526/391/61 +f 843/389/61 4526/391/61 4524/392/61 +f 844/393/62 845/394/62 846/395/62 +f 844/393/62 846/395/62 847/396/62 +f 4063/397/1 848/398/1 849/399/1 +f 4063/397/1 849/399/1 850/400/1 +f 851/401/63 852/402/63 4083/403/63 +f 851/401/63 4083/403/63 4067/404/63 +f 853/405/64 4062/406/64 4064/407/64 +f 853/405/64 4064/407/64 4071/408/64 +f 854/409/1 855/410/1 856/411/1 +f 854/409/1 856/411/1 857/412/1 +f 56/15/1 58/17/1 855/410/1 +f 56/15/1 858/413/1 859/414/1 +f 56/15/1 859/414/1 57/16/1 +f 57/16/1 860/415/1 861/416/1 +f 862/417/1 863/418/1 864/419/1 +f 862/417/1 864/419/1 865/420/1 +f 59/18/1 862/417/1 865/420/1 +f 59/18/1 865/420/1 60/19/1 +f 59/18/1 61/20/1 866/421/1 +f 61/20/1 60/19/1 868/422/1 +f 61/20/1 868/422/1 869/423/1 +f 857/412/1 856/411/1 870/424/1 +f 864/419/1 863/418/1 871/425/1 +f 864/419/1 871/425/1 870/424/1 +f 872/426/65 873/427/65 874/428/65 +f 872/426/65 874/428/65 875/429/65 +f 880/430/66 4479/431/66 4480/432/66 +f 880/430/66 4480/432/66 881/433/66 +f 886/434/67 887/435/67 888/436/67 +f 886/434/67 888/436/67 889/437/67 +f 4492/438/68 894/439/68 895/440/68 +f 4492/438/68 895/440/68 4493/441/68 +f 4427/442/69 4481/443/69 4482/444/69 +f 4427/442/69 4482/444/69 4428/445/69 +f 4408/446/70 896/447/70 897/448/70 +f 4408/446/70 897/448/70 4409/449/70 +f 904/450/71 905/451/71 906/452/71 +f 904/450/71 906/452/71 907/453/71 +f 4068/454/72 916/455/72 917/456/72 +f 4068/454/72 917/456/72 4069/457/72 +f 4102/458/73 920/459/73 921/460/73 +f 4102/458/73 921/460/73 4103/461/73 +f 4135/462/74 922/463/74 923/464/74 +f 4135/462/74 923/464/74 4136/465/74 +f 924/466/75 925/467/75 926/468/75 +f 924/466/75 926/468/75 927/469/75 +f 925/467/75 929/470/75 926/468/75 +f 930/471/76 931/472/76 4299/473/76 +f 930/471/76 4299/473/76 4273/474/76 +f 4298/475/77 932/476/77 4323/477/77 +f 4298/475/77 4323/477/77 4300/478/77 +f 4324/479/78 933/480/78 934/481/78 +f 4324/479/78 934/481/78 4329/482/78 +f 935/483/79 4274/484/79 4266/485/79 +f 935/483/79 4266/485/79 936/486/79 +f 1051/487/3 1053/488/3 1054/489/3 +f 1054/489/3 1055/490/3 1056/491/3 +f 1054/489/3 1056/491/3 1051/487/3 +f 1052/492/3 102/25/3 101/24/3 +f 1052/492/3 101/24/3 1053/488/3 +f 1055/490/3 100/23/3 99/22/3 +f 1055/490/3 99/22/3 1056/491/3 +f 1134/493/4 1135/494/4 1136/495/4 +f 1134/493/4 1136/495/4 1137/496/4 +f 1179/497/4 1180/498/4 1181/499/4 +f 1179/497/4 1181/499/4 1182/500/4 +f 1230/501/2 1231/502/2 1232/503/2 +f 1230/501/2 1232/503/2 1233/504/2 +f 1230/501/2 1233/504/2 1234/505/2 +f 1230/501/2 1234/505/2 1235/506/2 +f 1270/507/2 1271/508/2 1272/509/2 +f 1270/507/2 1272/509/2 1273/510/2 +f 1270/507/2 1273/510/2 1274/511/2 +f 1270/507/2 1274/511/2 1275/512/2 +f 1342/513/80 4026/514/80 4009/515/80 +f 1342/513/81 4009/515/81 1343/516/81 +f 1489/517/82 1490/518/82 1491/519/82 +f 1489/517/82 1491/519/82 1492/520/82 +f 1490/518/82 1493/521/82 1494/522/82 +f 1490/518/82 1494/522/82 1491/519/82 +f 1492/520/82 1495/523/82 1496/524/82 +f 1497/525/83 1496/524/83 1495/523/83 +f 1494/522/82 1493/521/82 1499/526/82 +f 1494/522/82 1499/526/82 1500/527/82 +f 1501/528/84 1502/529/84 1503/530/84 +f 4280/531/85 1505/532/85 1506/533/85 +f 4280/531/85 1506/533/85 4253/534/85 +f 4265/535/86 1507/536/86 1508/537/86 +f 4265/535/86 1508/537/86 4227/538/86 +f 4294/539/87 1511/540/87 1512/541/87 +f 4294/539/87 1512/541/87 4259/542/87 +f 4309/543/88 1513/544/88 1514/545/88 +f 4309/543/88 1514/545/88 4284/546/88 +f 1515/547/89 1516/548/89 1517/549/89 +f 1515/547/89 1517/549/89 1518/550/89 +f 1515/547/89 1518/550/89 1519/551/89 +f 1515/547/89 1519/551/89 1520/552/89 +f 1521/553/90 1522/554/90 1523/555/90 +f 1521/553/90 1523/555/90 1524/556/90 +f 4595/557/91 1525/558/91 1526/559/91 +f 4602/560/92 4636/561/92 1527/562/92 +f 4602/560/92 1527/562/92 1528/563/92 +f 1529/564/93 1530/565/93 4637/566/93 +f 1529/564/93 4637/566/93 4630/567/93 +f 1531/568/94 1532/569/94 4596/570/94 +f 1531/568/94 4596/570/94 4603/571/94 +f 1533/572/94 1534/573/94 1535/574/94 +f 1533/572/94 1535/574/94 1536/575/94 +f 1537/576/93 1538/577/93 1539/578/93 +f 1537/576/93 1539/578/93 1540/579/93 +f 4648/580/92 4582/581/92 4583/582/92 +f 4648/580/92 4583/582/92 4649/583/92 +f 1543/584/95 1544/585/95 1545/586/95 +f 1543/584/95 1545/586/95 1546/587/95 +f 4662/588/93 4656/589/93 1547/590/93 +f 4662/588/93 1547/590/93 1548/591/93 +f 1549/592/96 1550/593/96 1551/594/96 +f 1549/592/96 1551/594/96 1552/595/96 +f 1553/596/90 1554/597/90 4657/598/90 +f 1553/596/90 4657/598/90 4628/599/90 +f 1557/600/94 1558/601/94 1559/602/94 +f 1557/600/94 1559/602/94 1560/603/94 +f 1561/604/93 1562/605/93 1563/606/93 +f 1561/604/93 1563/606/93 1564/607/93 +f 1565/608/97 4654/609/97 4651/610/97 +f 1565/608/97 4651/610/97 1566/611/97 +f 4660/612/98 1567/613/98 1568/614/98 +f 4660/612/98 1568/614/98 4661/615/98 +f 1569/616/99 1570/617/99 1571/618/99 +f 1569/616/99 1571/618/99 1572/619/99 +f 4576/620/2 4550/621/2 1573/622/2 +f 4576/620/2 1573/622/2 1574/623/2 +f 4658/624/100 4632/625/100 1575/626/100 +f 1577/627/90 1578/628/90 4633/629/90 +f 1577/627/90 4633/629/90 4551/630/90 +f 1579/631/92 1580/632/92 4577/633/92 +f 1579/631/92 4577/633/92 4659/634/92 +f 1581/635/94 1582/636/94 1583/637/94 +f 4580/638/2 4553/639/2 1585/640/2 +f 4580/638/2 1585/640/2 1586/641/2 +f 4652/642/93 4626/643/93 1587/644/93 +f 4652/642/93 1587/644/93 1588/645/93 +f 1589/646/101 1590/647/101 1591/648/101 +f 1589/646/101 1591/648/101 1592/649/101 +f 1595/650/92 1596/651/92 4581/652/92 +f 1595/650/92 4581/652/92 4653/653/92 +f 1633/654/102 1634/655/102 3607/656/102 +f 1633/654/102 3607/656/102 3596/657/102 +f 3742/658/103 3846/659/103 3858/660/103 +f 3858/660/103 3759/661/103 3742/658/103 +f 3788/662/103 3759/661/103 3848/663/103 +f 3758/664/103 3785/665/103 3816/666/103 +f 3758/664/103 3816/666/103 3846/659/103 +f 1725/667/2 1726/668/2 1727/669/2 +f 1725/667/2 1727/669/2 1728/670/2 +f 1726/668/2 1729/671/2 1730/672/2 +f 1726/668/2 1730/672/2 1727/669/2 +f 1729/671/2 1731/673/2 1732/674/2 +f 1729/671/2 1732/674/2 1730/672/2 +f 1731/673/2 1733/675/2 1734/676/2 +f 1731/673/2 1734/676/2 1732/674/2 +f 1733/675/2 1735/677/2 1736/678/2 +f 1733/675/2 1736/678/2 1734/676/2 +f 1735/677/2 1737/679/2 1738/680/2 +f 1735/677/2 1738/680/2 1736/678/2 +f 1739/681/2 1740/682/2 1741/683/2 +f 1739/681/2 1741/683/2 1742/684/2 +f 1740/682/2 1725/667/2 1728/670/2 +f 1740/682/2 1728/670/2 1741/683/2 +f 1760/685/104 1761/686/104 3834/687/104 +f 1760/685/104 3834/687/104 3890/688/104 +f 1772/689/105 1773/690/105 1774/691/105 +f 1772/689/105 1774/691/105 1775/692/105 +f 1776/693/106 1777/694/106 1778/695/106 +f 1776/693/106 1778/695/106 1779/696/106 +f 3900/697/107 1780/698/107 1781/699/107 +f 3900/697/107 1781/699/107 3868/700/107 +f 3887/701/108 3853/702/108 3870/703/108 +f 3887/701/108 3870/703/108 3920/704/108 +f 1782/705/109 1783/706/109 1784/707/109 +f 1782/705/109 1784/707/109 1785/708/109 +f 1786/709/110 1787/710/110 1788/711/110 +f 1786/709/110 1788/711/110 1789/712/110 +f 3885/713/111 3912/714/111 3879/715/111 +f 3885/713/111 3879/715/111 3855/716/111 +f 3897/717/112 3872/718/112 1790/719/112 +f 3897/717/112 1790/719/112 1791/720/112 +f 1792/721/113 1793/722/113 1794/723/113 +f 1792/721/113 1794/723/113 1795/724/113 +f 1796/725/114 1797/726/114 1798/727/114 +f 1796/725/114 1798/727/114 1799/728/114 +f 3695/729/115 1800/730/115 1801/731/115 +f 3695/729/115 1801/731/115 3669/732/115 +f 3685/733/116 3644/734/116 3671/735/116 +f 3685/733/116 3671/735/116 3712/736/116 +f 1802/737/117 1803/738/117 1804/739/117 +f 1802/737/117 1804/739/117 1805/740/117 +f 1806/741/118 1807/742/118 1808/743/118 +f 1806/741/118 1808/743/118 1809/744/118 +f 3682/745/119 3706/746/119 3679/747/119 +f 3682/745/119 3679/747/119 3652/748/119 +f 3692/749/120 3670/750/120 1810/751/120 +f 3692/749/120 1810/751/120 1811/752/120 +f 3810/753/2 3825/754/2 3995/755/2 +f 3810/753/2 3995/755/2 4011/756/2 +f 4011/756/2 3996/757/2 3827/758/2 +f 4011/756/2 3827/758/2 3810/753/2 +f 3867/759/2 3827/758/2 3996/757/2 +f 3867/759/2 3996/757/2 3946/760/2 +f 3825/754/2 3861/761/2 3939/762/2 +f 3825/754/2 3939/762/2 3995/755/2 +f 1832/763/121 1833/764/121 1834/765/121 +f 1832/763/121 1834/765/121 1835/766/121 +f 3979/767/122 1836/768/122 1837/769/122 +f 3979/767/122 1837/769/122 3959/770/122 +f 1838/771/123 1839/772/123 1840/773/123 +f 1838/771/123 1840/773/123 1841/774/123 +f 3998/775/124 3981/776/124 3972/777/124 +f 1842/778/125 1843/779/125 1844/780/125 +f 1842/778/125 1844/780/125 1845/781/125 +f 3843/782/126 1846/783/126 1847/784/126 +f 1848/785/127 1849/786/127 1850/787/127 +f 1848/785/127 1850/787/127 1851/788/127 +f 3903/789/128 3860/790/128 3869/791/128 +f 3903/789/128 3869/791/128 3896/792/128 +f 1852/793/129 1853/794/129 1854/795/129 +f 1852/793/129 1854/795/129 1855/796/129 +f 3963/797/130 1856/798/130 1857/799/130 +f 1858/800/131 1859/801/131 1860/802/131 +f 1858/800/131 1860/802/131 1861/803/131 +f 3891/804/132 3940/805/132 3926/806/132 +f 3891/804/132 3926/806/132 3899/807/132 +f 1862/808/133 1863/809/133 1864/810/133 +f 1862/808/133 1864/810/133 1865/811/133 +f 3831/812/134 1866/813/134 1867/814/134 +f 3831/812/134 1867/814/134 3847/815/134 +f 1868/816/135 1870/817/135 1871/818/135 +f 3821/819/136 3801/820/136 3830/821/136 +f 3821/819/136 3830/821/136 3837/822/136 +f 1872/823/129 1873/824/129 1874/825/129 +f 1872/823/129 1874/825/129 1875/826/129 +f 3722/827/130 1876/828/130 1877/829/130 +f 3722/827/130 1877/829/130 3711/830/130 +f 1878/831/131 1879/832/131 1880/833/131 +f 1878/831/131 1880/833/131 1881/834/131 +f 3680/835/132 3707/836/132 3697/837/132 +f 3621/838/2 3632/839/2 3728/840/2 +f 3621/838/2 3728/840/2 3734/841/2 +f 3734/841/2 3729/842/2 3633/843/2 +f 3734/841/2 3633/843/2 3621/838/2 +f 3663/844/2 3633/843/2 3729/842/2 +f 3663/844/2 3729/842/2 3710/845/2 +f 3632/839/2 3658/846/2 3705/847/2 +f 3632/839/2 3705/847/2 3728/840/2 +f 1902/848/137 1903/849/137 1904/850/137 +f 1902/848/125 1904/850/125 1905/851/125 +f 3643/852/126 1906/853/126 1907/854/126 +f 3643/852/126 1907/854/126 3656/855/126 +f 1908/856/127 1910/857/127 1911/858/127 +f 3688/859/128 3657/860/128 3664/861/128 +f 3688/859/128 3664/861/128 3683/862/128 +f 1912/863/121 1913/864/121 1914/865/121 +f 1912/863/121 1914/865/121 1915/866/121 +f 3725/867/122 1917/868/122 3715/869/122 +f 1918/870/123 1919/871/123 1920/872/123 +f 1918/870/123 1920/872/123 1921/873/123 +f 3730/874/124 3735/875/124 3726/876/124 +f 3730/874/124 3726/876/124 3723/877/124 +f 1922/878/133 1923/879/133 1924/880/133 +f 1922/878/133 1924/880/133 1925/881/133 +f 3641/882/138 1926/883/138 1927/884/138 +f 3641/882/134 1927/884/134 3649/885/134 +f 1928/886/135 1929/887/135 1930/888/135 +f 1928/886/135 1930/888/135 1931/889/135 +f 3629/890/136 3620/891/136 3640/892/136 +f 3629/890/136 3640/892/136 3642/893/136 +f 1940/894/139 1941/895/139 1942/896/139 +f 1940/894/139 1942/896/139 1943/897/139 +f 1944/898/140 1945/899/140 3638/900/140 +f 1944/898/140 3638/900/140 3704/901/140 +f 1978/902/2 1979/903/2 1980/904/2 +f 1978/902/2 1980/904/2 1981/905/2 +f 1981/905/2 1982/906/2 1983/907/2 +f 1984/908/2 1980/904/2 1979/903/2 +f 1984/908/2 1979/903/2 1985/909/2 +f 1982/906/2 1986/910/2 1987/911/2 +f 1982/906/2 1987/911/2 1983/907/2 +f 1988/912/4 1989/913/4 1990/914/4 +f 1988/912/4 1990/914/4 1991/915/4 +f 1992/916/4 1988/912/4 1991/915/4 +f 1992/916/4 1991/915/4 1993/917/4 +f 1994/918/4 1992/916/4 1993/917/4 +f 1994/918/4 1993/917/4 1995/919/4 +f 1989/913/4 1996/920/4 1997/921/4 +f 1989/913/4 1997/921/4 1990/914/4 +f 2060/922/141 2062/923/141 2063/924/141 +f 4643/925/142 2068/926/142 2069/927/142 +f 4643/925/142 2069/927/142 4650/928/142 +f 2074/929/143 2075/930/143 2076/931/143 +f 2074/929/143 2076/931/143 2077/932/143 +f 2078/933/143 2079/934/143 2077/932/143 +f 2078/933/143 2077/932/143 2076/931/143 +f 2080/935/144 2081/936/144 2082/937/144 +f 2080/935/144 2083/938/144 2084/939/144 +f 2080/935/144 2084/939/144 2085/940/144 +f 2108/941/2 2109/942/2 2110/943/2 +f 2108/941/2 2110/943/2 2111/944/2 +f 2111/944/2 2112/945/2 2113/946/2 +f 2111/944/2 2113/946/2 2108/941/2 +f 2114/947/2 2110/943/2 2109/942/2 +f 2114/947/2 2109/942/2 2115/948/2 +f 2112/945/2 2116/949/2 2117/950/2 +f 2112/945/2 2117/950/2 2113/946/2 +f 2118/951/4 2120/952/4 2121/953/4 +f 2122/954/4 2118/951/4 2121/953/4 +f 2122/954/4 2121/953/4 2123/955/4 +f 2124/956/4 2122/954/4 2123/955/4 +f 2119/957/4 2126/958/4 2127/959/4 +f 2119/957/4 2127/959/4 2120/952/4 +f 2190/960/145 2191/961/145 2192/962/145 +f 2190/960/146 2192/962/146 2193/963/146 +f 3691/964/147 2198/965/147 2199/966/147 +f 3691/964/148 2199/966/148 3672/967/148 +f 2204/968/149 2205/969/149 2206/970/149 +f 2204/968/149 2206/970/149 2207/971/149 +f 2208/972/149 2207/971/149 2206/970/149 +f 2210/973/150 2213/974/150 2214/975/150 +f 2244/976/2 2245/977/2 3665/978/2 +f 2246/979/2 2247/980/2 3580/981/2 +f 2246/979/2 3580/981/2 3583/982/2 +f 2248/983/2 2246/979/2 3583/982/2 +f 2248/983/2 3583/982/2 3624/984/2 +f 2249/985/2 2248/983/2 3624/984/2 +f 2249/985/2 3624/984/2 3666/986/2 +f 2250/987/2 2249/985/2 3666/986/2 +f 2250/987/2 3666/986/2 3677/988/2 +f 2245/977/2 2250/987/2 3677/988/2 +f 2245/977/2 3677/988/2 3665/978/2 +f 2262/989/2 2263/990/2 2264/991/2 +f 2262/989/2 2264/991/2 2265/992/2 +f 2266/993/2 2264/991/2 2263/990/2 +f 2266/993/2 2263/990/2 2267/994/2 +f 225/28/2 2266/993/2 2267/994/2 +f 225/28/2 2267/994/2 226/29/2 +f 2300/995/2 4621/996/2 2301/997/2 +f 2308/998/2 4625/999/2 4647/1000/2 +f 2308/998/2 4647/1000/2 2306/1001/2 +f 2309/1002/2 4622/1003/2 4625/999/2 +f 2309/1002/2 4625/999/2 2308/998/2 +f 2310/1004/2 4618/1005/2 4622/1003/2 +f 2310/1004/2 4622/1003/2 2309/1002/2 +f 2301/997/2 4621/996/2 4618/1005/2 +f 2301/997/2 4618/1005/2 2310/1004/2 +f 4667/1006/151 4669/1007/151 2326/1008/151 +f 4667/1006/151 2326/1008/151 2327/1009/151 +f 2330/1010/2 2331/1011/2 2332/1012/2 +f 2330/1010/2 2332/1012/2 2333/1013/2 +f 2334/1014/2 2335/1015/2 2333/1013/2 +f 2334/1014/2 2333/1013/2 2332/1012/2 +f 229/32/2 228/31/2 2335/1015/2 +f 229/32/2 2335/1015/2 2334/1014/2 +f 2372/1016/2 2373/1017/2 3667/1018/2 +f 2376/1019/2 2377/1020/2 3581/1021/2 +f 2376/1019/2 3581/1021/2 3584/1022/2 +f 2378/1023/2 2376/1019/2 3584/1022/2 +f 2379/1024/2 2378/1023/2 3626/1025/2 +f 2379/1024/2 3626/1025/2 3668/1026/2 +f 2380/1027/2 2379/1024/2 3668/1026/2 +f 2380/1027/2 3668/1026/2 3678/1028/2 +f 2373/1017/2 2380/1027/2 3678/1028/2 +f 2373/1017/2 3678/1028/2 3667/1018/2 +f 2390/1029/2 2391/1030/2 2392/1031/2 +f 2390/1029/2 2392/1031/2 2393/1032/2 +f 2394/1033/2 2392/1031/2 2391/1030/2 +f 231/34/2 2394/1033/2 2395/1034/2 +f 231/34/2 2395/1034/2 232/35/2 +f 2400/1035/2 233/36/2 235/38/2 +f 2400/1035/2 235/38/2 2401/1036/2 +f 2402/1037/4 238/41/4 241/44/4 +f 2402/1037/4 241/44/4 2403/1038/4 +f 2401/1036/2 235/38/2 236/39/2 +f 2401/1036/2 236/39/2 2408/1039/2 +f 2409/1040/4 239/42/4 238/41/4 +f 2409/1040/4 238/41/4 2402/1037/4 +f 2426/1041/2 243/46/2 245/48/2 +f 2426/1041/2 245/48/2 2427/1042/2 +f 2432/1043/4 248/51/4 251/54/4 +f 2432/1043/4 251/54/4 2433/1044/4 +f 2427/1042/2 245/48/2 246/49/2 +f 2427/1042/2 246/49/2 2438/1045/2 +f 2439/1046/4 249/52/4 248/51/4 +f 2439/1046/4 248/51/4 2432/1043/4 +f 2470/1047/2 2471/1048/2 254/57/2 +f 2470/1047/2 254/57/2 253/56/2 +f 2472/1049/4 2473/1050/4 261/64/4 +f 2472/1049/4 261/64/4 258/61/4 +f 2471/1048/2 2478/1051/2 256/59/2 +f 2479/1052/4 2472/1049/4 258/61/4 +f 2479/1052/4 258/61/4 260/63/4 +f 2502/1053/5 2503/1054/5 2504/1055/5 +f 2502/1053/5 2504/1055/5 2505/1056/5 +f 2504/1055/5 2503/1054/5 264/67/5 +f 2504/1055/5 264/67/5 263/66/5 +f 265/68/5 264/67/5 2506/1057/5 +f 265/68/5 2506/1057/5 2507/1058/5 +f 2508/1059/6 2509/1060/6 2510/1061/6 +f 2508/1059/6 2510/1061/6 2511/1062/6 +f 2510/1061/6 266/69/6 268/71/6 +f 2510/1061/6 268/71/6 2511/1062/6 +f 267/70/6 2512/1063/6 2513/1064/6 +f 267/70/6 2513/1064/6 268/71/6 +f 2518/1065/152 3749/1066/152 3778/1067/152 +f 2518/1065/152 3778/1067/152 2519/1068/152 +f 3750/1069/153 2522/1070/153 2523/1071/153 +f 3750/1069/153 2523/1071/153 3779/1072/153 +f 3748/1073/4 2524/1074/4 2525/1075/4 +f 3748/1073/4 2525/1075/4 3777/1076/4 +f 2558/1077/1 2559/1078/1 2560/1079/1 +f 2558/1077/1 2560/1079/1 2561/1080/1 +f 3718/1081/58 3877/1082/58 2564/1083/58 +f 3718/1081/58 2564/1083/58 2565/1084/58 +f 2570/1085/5 2571/1086/5 2572/1087/5 +f 2570/1085/5 2572/1087/5 2573/1088/5 +f 2574/1089/6 2575/1090/6 3721/1091/6 +f 2574/1089/6 3721/1091/6 3719/1092/6 +f 2564/1083/58 3877/1082/58 4076/1093/58 +f 2564/1083/58 4076/1093/58 2576/1094/58 +f 2560/1079/1 2559/1078/1 2579/1095/1 +f 2560/1079/1 2579/1095/1 4078/1096/1 +f 2580/1097/5 2581/1098/5 2582/1099/5 +f 2580/1097/5 2582/1099/5 2583/1100/5 +f 2582/1099/5 2581/1098/5 270/73/5 +f 2582/1099/5 270/73/5 269/72/5 +f 271/74/5 270/73/5 2584/1101/5 +f 271/74/5 2584/1101/5 2585/1102/5 +f 2586/1103/6 2587/1104/6 2588/1105/6 +f 2586/1103/6 2588/1105/6 2589/1106/6 +f 2588/1105/6 272/75/6 274/77/6 +f 2588/1105/6 274/77/6 2589/1106/6 +f 273/76/6 2590/1107/6 2591/1108/6 +f 273/76/6 2591/1108/6 274/77/6 +f 2596/1109/152 4023/1110/152 4060/1111/152 +f 2596/1109/152 4060/1111/152 2597/1112/152 +f 4024/1113/153 2600/1114/153 2601/1115/153 +f 4024/1113/153 2601/1115/153 4061/1116/153 +f 4022/1117/4 2602/1118/4 2603/1119/4 +f 4022/1117/4 2603/1119/4 4059/1120/4 +f 2636/1121/5 2637/1122/5 2638/1123/5 +f 2636/1121/5 2638/1123/5 2639/1124/5 +f 2638/1123/5 2637/1122/5 276/79/5 +f 2638/1123/5 276/79/5 275/78/5 +f 277/80/5 276/79/5 2640/1125/5 +f 2642/1126/6 2643/1127/6 2644/1128/6 +f 2642/1126/6 2644/1128/6 2645/1129/6 +f 2644/1128/6 278/81/6 280/83/6 +f 2644/1128/6 280/83/6 2645/1129/6 +f 279/82/6 2647/1130/6 280/83/6 +f 2652/1131/154 4518/1132/154 4534/1133/154 +f 2652/1131/154 4534/1133/154 2653/1134/154 +f 4519/1135/155 2656/1136/155 2657/1137/155 +f 4519/1135/155 2657/1137/155 4535/1138/155 +f 4517/1139/4 2658/1140/4 2659/1141/4 +f 4517/1139/4 2659/1141/4 4533/1142/4 +f 2692/1143/1 2693/1144/1 2694/1145/1 +f 2692/1143/1 2694/1145/1 2695/1146/1 +f 4505/1147/58 4563/1148/58 2698/1149/58 +f 4505/1147/58 2698/1149/58 2699/1150/58 +f 2704/1151/5 2705/1152/5 2706/1153/5 +f 2704/1151/5 2706/1153/5 2707/1154/5 +f 2708/1155/6 2709/1156/6 4508/1157/6 +f 2708/1155/6 4508/1157/6 4506/1158/6 +f 2698/1149/58 4563/1148/58 4611/1159/58 +f 2698/1149/58 4611/1159/58 2710/1160/58 +f 2694/1145/1 2693/1144/1 2713/1161/1 +f 2694/1145/1 2713/1161/1 4613/1162/1 +f 2714/1163/5 2715/1164/5 2716/1165/5 +f 2714/1163/5 2716/1165/5 2717/1166/5 +f 2716/1165/5 2715/1164/5 282/85/5 +f 2716/1165/5 282/85/5 281/84/5 +f 283/86/5 282/85/5 2718/1167/5 +f 2720/1168/6 2721/1169/6 2722/1170/6 +f 2720/1168/6 2722/1170/6 2723/1171/6 +f 2722/1170/6 284/87/6 286/89/6 +f 2722/1170/6 286/89/6 2723/1171/6 +f 285/88/6 2725/1172/6 286/89/6 +f 4590/1173/155 2734/1174/155 2735/1175/155 +f 4590/1173/155 2735/1175/155 4606/1176/155 +f 4588/1177/4 2736/1178/4 2737/1179/4 +f 4588/1177/4 2737/1179/4 4604/1180/4 +f 2803/1181/7 2804/1182/7 2805/1183/7 +f 2803/1181/7 2805/1183/7 2806/1184/7 +f 2804/1182/7 287/90/7 289/92/7 +f 2804/1182/7 289/92/7 2805/1183/7 +f 292/95/7 2803/1181/7 2806/1184/7 +f 292/95/7 2806/1184/7 290/93/7 +f 2840/1185/8 2841/1186/8 2842/1187/8 +f 2840/1185/8 2842/1187/8 2843/1188/8 +f 2841/1186/8 293/96/8 295/98/8 +f 2841/1186/8 295/98/8 2842/1187/8 +f 298/101/8 2840/1185/8 2843/1188/8 +f 298/101/8 2843/1188/8 296/99/8 +f 2844/1189/1 2845/1190/1 2846/1191/1 +f 2844/1189/1 2846/1191/1 2847/1192/1 +f 2848/1193/156 4510/1194/156 2849/1195/156 +f 2848/1193/156 2849/1195/156 2850/1196/156 +f 2852/1197/157 2853/1198/157 2854/1199/157 +f 2852/1197/157 2854/1199/157 2855/1200/157 +f 2856/1201/1 2857/1202/1 2858/1203/1 +f 2860/1204/158 2861/1205/158 2862/1206/158 +f 2860/1204/158 2862/1206/158 4073/1207/158 +f 4079/1208/159 4074/1209/159 4072/1210/159 +f 4079/1208/159 4072/1210/159 2863/1211/159 +f 2864/1212/160 2865/1213/160 2866/1214/160 +f 2864/1212/160 2866/1214/160 2867/1215/160 +f 2868/1216/161 2869/1217/161 2870/1218/161 +f 2868/1216/161 2870/1218/161 2871/1219/161 +f 4088/1220/1 2872/1221/1 2873/1222/1 +f 4088/1220/1 2873/1222/1 4495/1223/1 +f 2944/1224/2 2945/1225/2 2946/1226/2 +f 2944/1224/2 2946/1226/2 2947/1227/2 +f 2947/1227/2 2946/1226/2 2965/1228/2 +f 2947/1227/2 2965/1228/2 2966/1229/2 +f 2971/1230/162 2972/1231/162 4447/1232/162 +f 2973/1233/163 4501/1234/163 4502/1235/163 +f 2978/1236/163 2973/1233/163 4502/1235/163 +f 2978/1236/163 4502/1235/163 4503/1237/163 +f 2975/1238/162 2979/1239/162 2980/1240/162 +f 2975/1238/162 2980/1240/162 2976/1241/162 +f 2982/1242/163 2978/1236/163 4503/1237/163 +f 2982/1242/163 4503/1237/163 4504/1243/163 +f 2988/1244/164 2991/1245/164 2992/1246/164 +f 2988/1244/164 2992/1246/164 4252/1247/164 +f 2994/1248/165 4254/1249/165 4368/1250/165 +f 2991/1245/164 2995/1251/164 2996/1252/164 +f 2998/1253/165 2994/1248/165 4368/1250/165 +f 2998/1253/165 4368/1250/165 4445/1254/165 +f 3003/1255/2 3004/1256/2 3005/1257/2 +f 3003/1255/2 3005/1257/2 3006/1258/2 +f 3006/1258/2 3005/1257/2 3024/1259/2 +f 3006/1258/2 3024/1259/2 3025/1260/2 +f 3030/1261/5 3031/1262/5 4096/1263/5 +f 3030/1261/5 4096/1263/5 4095/1264/5 +f 3032/1265/6 4057/1266/6 4058/1267/6 +f 3031/1262/5 3034/1268/5 3035/1269/5 +f 3031/1262/5 3035/1269/5 4096/1263/5 +f 3037/1270/6 3032/1265/6 4058/1267/6 +f 3037/1270/6 4058/1267/6 4056/1271/6 +f 3046/1272/2 3047/1273/2 3048/1274/2 +f 3046/1272/2 3048/1274/2 3049/1275/2 +f 3049/1275/2 3048/1274/2 3067/1276/2 +f 3049/1275/2 3067/1276/2 3068/1277/2 +f 3073/1278/166 3074/1279/166 4318/1280/166 +f 3073/1278/166 4318/1280/166 4452/1281/166 +f 3075/1282/167 3076/1283/167 4446/1284/167 +f 3075/1282/167 4446/1284/167 4316/1285/167 +f 3074/1279/166 3077/1286/166 3078/1287/166 +f 3074/1279/166 3078/1287/166 4318/1280/166 +f 3080/1288/167 4316/1285/167 4186/1289/167 +f 3077/1286/166 3081/1290/166 3082/1291/166 +f 3077/1286/166 3082/1291/166 3078/1287/166 +f 3084/1292/167 3080/1288/167 4186/1289/167 +f 3084/1292/167 4186/1289/167 4091/1293/167 +f 3089/1294/2 3090/1295/2 3091/1296/2 +f 3089/1294/2 3091/1296/2 3092/1297/2 +f 3092/1297/2 3091/1296/2 3110/1298/2 +f 3092/1297/2 3110/1298/2 3111/1299/2 +f 3160/1300/168 3161/1301/168 3162/1302/168 +f 3160/1300/168 3162/1302/168 3163/1303/168 +f 3164/1304/168 3160/1300/168 3163/1303/168 +f 3164/1304/168 3163/1303/168 3165/1305/168 +f 3166/1306/168 3164/1304/168 3165/1305/168 +f 3166/1306/168 3165/1305/168 3167/1307/168 +f 3166/1306/168 3167/1307/168 3168/1308/168 +f 3166/1306/168 3168/1308/168 3169/1309/168 +f 3161/1301/168 3171/1310/168 3162/1302/168 +f 3172/1311/169 3173/1312/169 3174/1313/169 +f 3172/1311/169 3174/1313/169 3175/1314/169 +f 3774/1315/170 3177/1316/170 3932/1317/170 +f 3178/1318/171 3179/1319/171 3180/1320/171 +f 3178/1318/171 3180/1320/171 3181/1321/171 +f 3812/1322/172 3799/1323/172 3961/1324/172 +f 3812/1322/173 3961/1324/173 3980/1325/173 +f 3190/1326/174 3191/1327/174 3192/1328/174 +f 3906/1329/175 3194/1330/175 3195/1331/175 +f 3906/1329/175 3195/1331/175 3765/1332/175 +f 3196/1333/176 3197/1334/176 3198/1335/176 +f 3196/1333/176 3198/1335/176 3199/1336/176 +f 3953/1337/177 3775/1338/177 3795/1339/177 +f 3222/1340/178 3223/1341/178 3224/1342/178 +f 3226/1343/178 3227/1344/178 3224/1342/178 +f 3226/1343/178 3224/1342/178 3223/1341/178 +f 3228/1345/179 3229/1346/179 3230/1347/179 +f 3228/1345/179 3231/1348/179 3232/1349/179 +f 3228/1345/179 3232/1349/179 3233/1350/179 +f 3234/1351/180 3235/1352/180 3236/1353/180 +f 3234/1351/180 3236/1353/180 3237/1354/180 +f 3238/1355/181 3767/1356/181 3754/1357/181 +f 3238/1355/181 3754/1357/181 3239/1358/181 +f 3240/1359/182 3764/1360/182 3741/1361/182 +f 3240/1359/182 3741/1361/182 3241/1362/182 +f 3242/1363/183 3752/1364/183 3736/1365/183 +f 3242/1363/184 3736/1365/184 3243/1366/184 +f 3244/1367/185 3753/1368/185 3737/1369/185 +f 3244/1367/185 3737/1369/185 3245/1370/185 +f 3768/1371/186 3246/1372/186 3247/1373/186 +f 3768/1371/186 3247/1373/186 3755/1374/186 +f 3248/1375/187 3250/1376/187 3251/1377/187 +f 3252/1378/188 3253/1379/188 3254/1380/188 +f 3252/1378/188 3254/1380/188 3255/1381/188 +f 3256/1382/189 3803/1383/189 3760/1384/189 +f 3256/1382/189 3760/1384/189 3257/1385/189 +f 3258/1386/190 3791/1387/190 3744/1388/190 +f 3258/1386/190 3744/1388/190 3259/1389/190 +f 3260/1390/191 3793/1391/191 3746/1392/191 +f 3260/1390/191 3746/1392/191 3261/1393/191 +f 3819/1394/192 3805/1395/192 3762/1396/192 +f 3819/1394/192 3762/1396/192 3772/1397/192 +f 3347/1398/193 3348/1399/193 3349/1400/193 +f 3347/1398/193 3349/1400/193 3350/1401/193 +f 3351/1402/193 3347/1398/193 3350/1401/193 +f 3351/1402/193 3350/1401/193 3352/1403/193 +f 3353/1404/193 3351/1402/193 3352/1403/193 +f 3353/1404/193 3352/1403/193 3354/1405/193 +f 3348/1399/193 3355/1406/193 3356/1407/193 +f 3401/1408/194 3402/1409/194 3403/1410/194 +f 3401/1408/194 3403/1410/194 3404/1411/194 +f 4157/1412/195 3411/1413/195 3412/1414/195 +f 4157/1412/195 3412/1414/195 4140/1415/195 +f 3415/1416/196 3416/1417/196 3417/1418/196 +f 3415/1416/196 3417/1418/196 3418/1419/196 +f 3419/1420/197 3420/1421/197 3418/1419/197 +f 3419/1420/196 3418/1419/196 3417/1418/196 +f 3421/1422/198 3423/1423/198 3424/1424/198 +f 3421/1422/199 3424/1424/199 3425/1425/199 +f 3421/1422/198 3425/1425/198 3426/1426/198 +f 3449/1427/200 3450/1428/200 3451/1429/200 +f 3449/1427/200 3451/1429/200 3452/1430/200 +f 3453/1431/200 3454/1432/200 3450/1428/200 +f 3453/1431/200 3450/1428/200 3449/1427/200 +f 3455/1433/200 3454/1432/200 3453/1431/200 +f 3452/1430/200 3451/1429/200 3457/1434/200 +f 3452/1430/200 3457/1434/200 3458/1435/200 +f 3503/1436/201 3504/1437/201 3505/1438/201 +f 3503/1436/201 3505/1438/201 3506/1439/201 +f 4403/1440/202 4416/1441/202 3513/1442/202 +f 4403/1440/202 3513/1442/202 3514/1443/202 +f 3517/1444/203 3518/1445/203 3519/1446/203 +f 3517/1444/204 3519/1446/204 3520/1447/204 +f 3521/1448/203 3519/1446/203 3518/1445/203 +f 3521/1448/204 3518/1445/204 3522/1449/204 +f 3523/1450/205 3525/1451/205 3526/1452/205 +f 3523/1450/205 3527/1453/205 3528/1454/205 +f 3523/1450/206 3528/1454/206 3524/1455/206 +f 3529/1456/207 3531/1457/207 3532/1458/207 +f 3530/1459/207 3533/1460/207 3534/1461/207 +f 3530/1459/207 3534/1461/207 3531/1457/207 +f 3535/1462/208 3536/1463/208 3537/1464/208 +f 3535/1462/208 3537/1464/208 3538/1465/208 +f 3538/1465/208 3537/1464/208 3539/1466/208 +f 3538/1465/208 3539/1466/208 3540/1467/208 +f 3540/1467/208 3539/1466/208 320/1468/209 +f 3541/1469/210 3542/1470/210 3543/1471/210 +f 3542/1470/210 3545/1472/210 3546/1473/210 +f 3542/1470/210 3546/1473/210 3543/1471/210 +f 3547/1474/211 3549/1475/211 3550/1476/211 +f 3550/1476/211 3551/1477/211 3552/1478/211 +f 3552/1478/211 3551/1477/211 326/1479/212 +f 3553/1480/10 3554/1481/10 3555/1482/10 +f 3553/1480/10 3555/1482/10 3556/1483/10 +f 3554/1481/213 328/105/213 330/107/213 +f 3554/1481/10 330/107/10 3555/1482/10 +f 3557/1484/214 3558/1485/214 3559/1486/214 +f 3557/1484/214 3559/1486/214 3560/1487/214 +f 3560/1487/214 3559/1486/214 332/1488/214 +f 3560/1487/215 332/1488/215 331/1489/215 +f 3561/1490/11 3562/1491/11 3563/1492/11 +f 3561/1490/11 3563/1492/11 3564/1493/11 +f 3562/1491/216 334/108/216 336/110/216 +f 3562/1491/11 336/110/11 3563/1492/11 +f 3565/1494/217 3566/1495/217 3567/1496/217 +f 3565/1494/12 3567/1496/12 3568/1497/12 +f 3568/1497/217 3567/1496/217 338/112/217 +f 3568/1497/218 338/112/218 337/111/218 +f 3569/1498/2 3570/1499/2 3571/1500/2 +f 3569/1498/2 3571/1500/2 3572/1501/2 +s 1 +f 6/1502/219 7/1503/220 8/1504/221 +f 9/1505/222 10/1506/223 11/1507/224 +f 12/1508/225 13/1509/226 14/1510/227 +f 15/1511/228 16/1512/229 17/1513/230 +f 18/1514/231 19/1515/232 20/1516/233 +f 21/1517/234 22/1518/234 23/1519/234 +f 24/1520/235 25/1521/236 26/1522/237 +f 27/1523/238 28/1524/239 29/1525/240 +f 30/1526/241 31/1527/242 32/1528/243 +f 33/1529/244 31/1527/242 30/1526/241 +f 34/1530/245 35/1531/246 36/1532/247 +f 37/1533/248 38/1534/249 39/1535/250 +f 40/1536/251 37/1533/248 39/1535/250 +f 41/1537/252 42/1538/253 43/1539/254 +f 47/352/2 48/351/2 49/368/2 +f 62/1540/255 63/1541/256 64/1542/257 +f 65/1543/258 66/1544/259 67/1545/260 +f 68/1546/261 69/1547/262 70/1548/263 +f 71/1549/264 72/1550/265 73/1551/266 +f 74/1552/267 75/1553/268 76/1554/269 +f 77/1555/270 78/1556/271 79/1557/272 +f 80/1558/273 81/1559/274 82/1560/275 +f 83/1561/276 84/1562/277 85/1563/278 +f 86/1564/279 87/1565/280 88/1566/281 +f 89/1567/282 90/1568/283 91/1569/284 +f 92/1570/285 93/1571/286 94/1572/287 +f 95/1573/288 96/1574/289 97/1575/290 +f 104/1576/291 105/1577/292 106/1578/293 +f 107/1579/294 108/1580/295 109/1581/296 +f 108/1580/295 110/1582/297 109/1581/296 +f 110/1582/297 111/1583/298 109/1581/296 +f 111/1583/298 112/1584/299 109/1581/296 +f 112/1584/299 113/1585/300 109/1581/296 +f 113/1585/300 114/1586/301 109/1581/296 +f 114/1586/301 115/1587/302 109/1581/296 +f 115/1587/302 116/1588/303 109/1581/296 +f 116/1588/303 117/1589/304 109/1581/296 +f 117/1589/304 118/1590/305 109/1581/296 +f 118/1590/305 119/1591/306 109/1581/296 +f 119/1591/306 120/1592/307 109/1581/296 +f 120/1592/307 107/1579/294 109/1581/296 +f 121/1593/308 122/1594/309 123/1595/310 +f 122/1594/309 124/1596/311 123/1595/310 +f 124/1596/311 125/1597/312 123/1595/310 +f 125/1597/312 126/1598/313 123/1595/310 +f 126/1598/313 127/1599/314 123/1595/310 +f 128/1600/315 129/1601/316 123/1595/310 +f 129/1601/316 130/1602/317 123/1595/310 +f 130/1602/317 131/1603/318 123/1595/310 +f 131/1603/318 132/1604/319 123/1595/310 +f 132/1604/319 133/1605/320 123/1595/310 +f 133/1605/320 134/1606/321 123/1595/310 +f 134/1606/321 121/1593/308 123/1595/310 +f 135/1607/322 136/1608/323 137/1609/324 +f 137/1609/324 136/1608/323 138/1610/325 +f 139/1611/326 140/1612/327 141/1613/328 +f 141/1613/328 140/1612/327 142/1614/329 +f 143/1615/330 137/1609/324 138/1610/325 +f 139/1611/326 141/1613/328 144/1616/331 +f 145/1617/332 146/1618/333 147/1619/334 +f 147/1619/334 146/1618/333 148/1620/335 +f 148/1620/335 146/1618/333 149/1621/336 +f 150/1622/337 151/1623/338 152/1624/339 +f 150/1622/337 153/1625/340 151/1623/338 +f 151/1623/338 153/1625/340 154/1626/341 +f 155/1627/342 156/1628/343 157/1629/344 +f 157/1629/344 156/1628/343 158/1630/345 +f 159/1631/346 160/1632/347 161/1633/348 +f 161/1633/348 160/1632/347 162/1634/349 +f 163/1635/350 157/1629/344 158/1630/345 +f 159/1631/346 161/1633/348 164/1636/351 +f 165/1637/352 166/1638/353 167/1639/354 +f 168/1640/355 165/1637/352 167/1639/354 +f 169/1641/356 168/1640/355 167/1639/354 +f 170/1642/357 169/1641/356 167/1639/354 +f 171/1643/358 170/1642/357 167/1639/354 +f 166/1638/353 171/1643/358 167/1639/354 +f 172/1644/359 173/1645/360 174/1646/361 +f 173/1645/360 175/1647/362 174/1646/361 +f 175/1647/362 176/1648/363 174/1646/361 +f 176/1648/363 177/1649/364 174/1646/361 +f 177/1649/364 178/1650/365 174/1646/361 +f 178/1650/365 172/1644/359 174/1646/361 +f 179/1651/366 180/1652/367 181/1653/368 +f 182/1654/369 179/1651/366 181/1653/368 +f 183/1655/370 182/1654/369 181/1653/368 +f 184/1656/371 183/1655/370 181/1653/368 +f 185/1657/372 184/1656/371 181/1653/368 +f 180/1652/367 185/1657/372 181/1653/368 +f 186/1658/373 187/1659/374 188/1660/375 +f 187/1659/374 189/1661/376 188/1660/375 +f 189/1661/376 190/1662/377 188/1660/375 +f 190/1662/377 191/1663/378 188/1660/375 +f 191/1663/378 192/1664/379 188/1660/375 +f 192/1664/379 186/1658/373 188/1660/375 +f 193/1665/380 194/1666/381 195/1667/382 +f 196/1668/383 197/1669/384 198/1670/385 +f 199/1671/386 200/1672/387 201/1673/388 +f 202/1674/389 203/1675/390 204/1676/2 +f 203/1675/390 205/1677/391 204/1676/2 +f 205/1677/391 206/1678/392 204/1676/2 +f 206/1678/392 207/1679/393 204/1676/2 +f 207/1679/393 208/1680/394 204/1676/2 +f 208/1680/394 209/1681/395 204/1676/2 +f 209/1681/395 210/1682/396 204/1676/2 +f 210/1682/396 211/1683/397 204/1676/2 +f 211/1683/397 212/1684/398 204/1676/2 +f 212/1684/398 202/1674/389 204/1676/2 +f 213/1685/399 214/1686/400 215/1687/2 +f 214/1686/400 216/1688/401 215/1687/2 +f 216/1688/401 217/1689/402 215/1687/2 +f 217/1689/402 218/1690/403 215/1687/2 +f 218/1690/403 219/1691/404 215/1687/2 +f 219/1691/404 220/1692/405 215/1687/2 +f 220/1692/405 221/1693/406 215/1687/2 +f 221/1693/406 222/1694/407 215/1687/2 +f 222/1694/407 223/1695/408 215/1687/2 +f 223/1695/408 213/1685/399 215/1687/2 +f 299/1696/409 300/1697/410 301/1698/411 +f 300/1697/410 302/1699/412 301/1698/411 +f 302/1699/412 303/1700/413 301/1698/411 +f 303/1700/413 304/1701/414 301/1698/411 +f 304/1701/414 305/1702/415 301/1698/411 +f 305/1702/415 306/1703/416 301/1698/411 +f 306/1703/416 307/1704/417 301/1698/411 +f 307/1704/417 308/1705/418 301/1698/411 +f 308/1705/418 309/1706/419 301/1698/411 +f 309/1706/419 299/1696/409 301/1698/411 +f 310/1707/420 311/1708/420 312/1709/420 +f 316/1710/421 317/1711/422 318/1712/423 +f 319/1713/424 320/1468/425 321/1714/426 +f 322/1715/427 323/1716/428 324/1717/429 +f 325/1718/430 326/1479/431 327/1719/432 +f 331/1489/214 332/1488/214 333/1720/214 +f 340/1721/433 341/1722/433 342/1723/433 +f 340/1721/433 342/1723/433 343/1724/433 +f 354/130/1 356/132/1 357/133/1 +f 358/1725/2 4453/1726/2 4118/1727/2 +f 358/1725/2 4118/1727/2 359/1728/2 +f 353/129/1 364/138/1 365/1729/1 +f 370/1730/434 371/1731/435 372/1732/436 +f 370/1730/434 372/1732/436 373/1733/437 +f 3588/1734/438 374/1735/438 375/1736/439 +f 3588/1734/438 375/1736/439 3586/1737/440 +f 376/1738/441 3587/1739/441 3585/1740/442 +f 376/1738/441 3585/1740/442 377/1741/443 +f 3586/1737/440 375/1736/439 378/1742/444 +f 3586/1737/440 378/1742/444 379/1743/445 +f 3585/1740/442 380/1744/446 381/1745/447 +f 3585/1740/442 381/1745/447 377/1741/443 +f 372/1732/436 3590/1746/448 3589/1747/449 +f 372/1732/436 3589/1747/449 373/1733/437 +f 382/1748/450 383/1749/451 384/1750/452 +f 382/1748/450 384/1750/452 385/1751/453 +f 386/1752/454 387/1753/455 388/1754/456 +f 386/1752/454 388/1754/456 389/1755/457 +f 3591/1756/458 3594/1757/459 3593/1758/460 +f 3591/1756/458 3593/1758/460 3592/1759/461 +f 379/1743/445 378/1742/444 383/1749/451 +f 379/1743/445 383/1749/451 382/1748/450 +f 380/1744/446 386/1752/454 389/1755/457 +f 380/1744/446 389/1755/457 381/1745/447 +f 3590/1746/448 3591/1756/458 3592/1759/461 +f 3590/1746/448 3592/1759/461 3589/1747/449 +f 390/1760/462 391/1761/463 392/1762/464 +f 390/1760/462 392/1762/464 393/1763/462 +f 394/1764/465 395/1765/465 396/1766/466 +f 394/1764/465 396/1766/466 397/1767/467 +f 391/1761/463 400/1768/468 401/1769/469 +f 391/1761/463 401/1769/469 392/1762/464 +f 397/1767/467 396/1766/466 402/1770/470 +f 397/1767/467 402/1770/470 403/1771/471 +f 400/1768/468 405/1772/472 406/1773/473 +f 400/1768/468 406/1773/473 401/1769/469 +f 403/1771/471 402/1770/470 407/1774/474 +f 403/1771/471 407/1774/474 408/1775/475 +f 405/1772/472 410/1776/476 411/1777/476 +f 405/1772/472 411/1777/476 406/1773/473 +f 408/1775/475 407/1774/474 412/1778/477 +f 408/1775/475 412/1778/477 413/1779/477 +f 3603/150/5 409/149/5 414/151/5 +f 415/1780/478 416/1781/479 417/1782/480 +f 415/1780/478 417/1782/480 418/1783/481 +f 419/1784/482 420/1785/483 421/1786/482 +f 419/1784/482 421/1786/482 422/1787/484 +f 4194/1788/485 4192/1789/486 425/1790/485 +f 4194/1788/485 425/1790/485 426/1791/487 +f 4215/1792/488 4202/1793/489 427/1794/488 +f 4215/1792/488 427/1794/488 428/1795/490 +f 429/161/18 430/1796/18 431/162/18 +f 435/1797/491 436/1798/492 437/1799/493 +f 435/1797/491 437/1799/493 438/1800/494 +f 439/1801/495 440/1802/496 441/1803/497 +f 439/1801/495 441/1803/497 442/1804/498 +f 438/1800/494 437/1799/493 443/1805/499 +f 438/1800/494 443/1805/499 444/1806/500 +f 444/1806/500 443/1805/499 440/1802/496 +f 444/1806/500 440/1802/496 439/1801/495 +f 445/1807/501 8/1504/221 7/1503/220 +f 445/1807/501 7/1503/220 446/1808/502 +f 10/1506/223 445/1807/501 446/1808/502 +f 10/1506/223 446/1808/502 11/1507/224 +f 436/1798/492 435/1797/491 4242/1809/503 +f 436/1798/492 4242/1809/503 4233/1810/504 +f 442/1804/498 441/1803/497 4116/1811/505 +f 442/1804/498 4116/1811/505 4100/1812/506 +f 6/1502/219 436/1798/492 4233/1810/504 +f 437/1799/493 436/1798/492 6/1502/219 +f 437/1799/493 6/1502/219 8/1504/221 +f 443/1805/499 437/1799/493 8/1504/221 +f 443/1805/499 8/1504/221 445/1807/501 +f 440/1802/496 443/1805/499 445/1807/501 +f 440/1802/496 445/1807/501 10/1506/223 +f 441/1803/497 440/1802/496 10/1506/223 +f 441/1803/497 10/1506/223 9/1505/222 +f 4116/1811/505 441/1803/497 9/1505/222 +f 4116/1811/505 9/1505/222 448/1813/507 +f 4196/1814/508 4177/1815/509 449/1816/510 +f 4196/1814/508 449/1816/510 450/1817/511 +f 4117/1818/512 4104/1819/513 451/1820/514 +f 4117/1818/512 451/1820/514 452/1821/515 +f 4177/1815/509 4134/1822/516 453/1823/517 +f 4177/1815/509 453/1823/517 449/1816/510 +f 4134/1822/516 4117/1818/512 452/1821/515 +f 4134/1822/516 452/1821/515 453/1823/517 +f 454/1824/518 455/1825/519 14/1510/227 +f 454/1824/518 14/1510/227 13/1509/226 +f 17/1513/230 16/1512/229 455/1825/519 +f 17/1513/230 455/1825/519 454/1824/518 +f 450/1817/511 456/1826/520 4243/1827/521 +f 450/1817/511 4243/1827/521 4196/1814/508 +f 4104/1819/513 4101/1828/522 457/1829/523 +f 4104/1819/513 457/1829/523 451/1820/514 +f 12/1508/225 456/1826/520 450/1817/511 +f 449/1816/510 13/1509/226 12/1508/225 +f 449/1816/510 12/1508/225 450/1817/511 +f 453/1823/517 454/1824/518 13/1509/226 +f 453/1823/517 13/1509/226 449/1816/510 +f 452/1821/515 17/1513/230 454/1824/518 +f 452/1821/515 454/1824/518 453/1823/517 +f 451/1820/514 15/1511/228 17/1513/230 +f 451/1820/514 17/1513/230 452/1821/515 +f 457/1829/523 459/1830/524 15/1511/228 +f 457/1829/523 15/1511/228 451/1820/514 +f 460/1831/525 461/1832/526 4208/1833/526 +f 460/1831/525 4208/1833/526 4201/1834/527 +f 19/1515/232 464/1835/528 4216/1836/529 +f 19/1515/232 4216/1836/529 20/1516/233 +f 464/1835/528 460/1831/525 4201/1834/527 +f 464/1835/528 4201/1834/527 4216/1836/529 +f 4126/1837/234 21/1517/234 23/1519/234 +f 4126/1837/234 23/1519/234 4128/1838/234 +f 466/180/23 468/182/23 469/1839/23 +f 470/183/24 4473/185/24 471/1840/24 +f 486/1841/530 487/1842/531 488/1843/532 +f 486/1841/530 488/1843/532 489/1844/533 +f 4148/1845/534 490/1846/535 491/1847/536 +f 4148/1845/534 491/1847/536 4176/1848/537 +f 4142/1849/538 492/1850/539 493/1851/540 +f 4142/1849/538 493/1851/540 4173/1852/541 +f 494/1853/542 495/1854/543 496/1855/544 +f 494/1853/542 496/1855/544 497/1856/545 +f 4141/1857/546 498/1858/547 499/1859/548 +f 4141/1857/546 499/1859/548 4172/1860/549 +f 4147/1861/550 4149/1862/551 4182/1863/552 +f 4147/1861/550 4182/1863/552 4175/1864/553 +f 500/1865/554 501/1866/555 502/1867/556 +f 500/1865/554 502/1867/556 503/1868/557 +f 4198/1869/558 504/1870/559 505/1871/560 +f 4198/1869/558 505/1871/560 4237/1872/561 +f 4189/1873/562 506/1874/563 507/1875/564 +f 4189/1873/562 507/1875/564 4221/1876/565 +f 508/1877/566 509/1878/567 510/1879/568 +f 508/1877/566 510/1879/568 511/1880/569 +f 4188/1881/570 512/1882/571 513/1883/572 +f 4188/1881/570 513/1883/572 4223/1884/573 +f 4197/1885/574 514/1886/575 515/1887/576 +f 4197/1885/574 515/1887/576 4235/1888/577 +f 516/1889/578 517/1890/579 518/1891/580 +f 516/1889/578 518/1891/580 519/1892/580 +f 4333/1893/581 520/1894/582 521/1895/583 +f 4333/1893/581 521/1895/583 4352/1896/583 +f 4331/1897/584 522/1898/585 523/1899/586 +f 4331/1897/584 523/1899/586 4348/1900/586 +f 524/1901/587 525/1902/588 526/1903/589 +f 524/1901/587 526/1903/589 527/1904/589 +f 4330/1905/590 528/1906/591 529/1907/592 +f 4330/1905/590 529/1907/592 4347/1908/592 +f 4332/1909/593 4334/1910/594 4357/1911/595 +f 4332/1909/593 4357/1911/595 4351/1912/595 +f 530/1913/596 531/1914/597 532/1915/598 +f 530/1913/596 532/1915/598 533/1916/599 +f 4386/1917/600 534/1918/601 535/1919/602 +f 4386/1917/600 535/1919/602 4422/1920/603 +f 536/1921/604 537/1922/605 538/1923/606 +f 536/1921/604 538/1923/606 539/1924/606 +f 4385/1925/607 540/1926/608 541/1927/609 +f 4385/1925/607 541/1927/609 4420/1928/610 +f 4388/1929/611 542/1930/612 543/1931/613 +f 4388/1929/611 543/1931/613 4433/1932/613 +f 4390/1933/614 4387/1934/615 4431/1935/616 +f 4390/1933/614 4431/1935/616 4437/1936/616 +f 544/1937/617 545/1938/618 546/1939/619 +f 544/1937/617 546/1939/619 547/1940/620 +f 4226/1941/621 548/1942/622 549/1943/623 +f 4226/1941/621 549/1943/623 4258/1944/624 +f 550/1945/625 551/1946/626 552/1947/627 +f 550/1945/625 552/1947/627 553/1948/628 +f 4225/1949/629 554/1950/630 555/1951/631 +f 4225/1949/629 555/1951/631 4257/1952/632 +f 4230/1953/633 556/1954/634 557/1955/635 +f 4230/1953/633 557/1955/635 4261/1956/636 +f 4231/1957/637 4262/1958/638 4264/1959/639 +f 4231/1957/637 4264/1959/639 4241/1960/640 +f 4238/208/30 4222/219/30 564/216/30 +f 568/222/31 569/1961/31 570/223/31 +f 4224/226/30 576/232/30 572/227/30 +f 4180/1962/641 4169/1963/642 504/1870/559 +f 4180/1962/641 504/1870/559 4198/1869/558 +f 4170/1964/643 4163/1965/644 506/1874/563 +f 4170/1964/643 506/1874/563 4189/1873/562 +f 4164/1966/645 4167/1967/646 509/1878/567 +f 4164/1966/645 509/1878/567 508/1877/566 +f 4168/1968/647 4178/1969/648 512/1882/571 +f 4168/1968/647 512/1882/571 4188/1881/570 +f 4179/1970/649 4183/1971/650 514/1886/575 +f 4179/1970/649 514/1886/575 4197/1885/574 +f 4181/1972/651 501/1866/555 500/1865/554 +f 4181/1972/651 500/1865/554 4184/1973/652 +f 582/1974/653 490/1846/535 4148/1845/534 +f 582/1974/653 4148/1845/534 583/1975/654 +f 584/1976/655 492/1850/539 4142/1849/538 +f 584/1976/655 4142/1849/538 4120/1977/656 +f 585/1978/657 495/1854/543 494/1853/542 +f 585/1978/657 494/1853/542 586/1979/658 +f 587/1980/659 498/1858/547 4141/1857/546 +f 587/1980/659 4141/1857/546 4119/1981/660 +f 4132/1982/661 588/1983/662 4149/1862/551 +f 4132/1982/661 4149/1862/551 4147/1861/550 +f 4133/1984/663 487/1842/531 486/1841/530 +f 4133/1984/663 486/1841/530 4144/1985/664 +f 589/239/32 590/1986/32 4460/240/32 +f 4435/254/36 594/1987/36 4469/255/36 +f 595/257/37 4467/259/37 4470/1988/37 +f 596/1989/665 597/1990/666 598/1991/667 +f 596/1989/665 598/1991/667 599/1992/668 +f 4432/1993/669 4423/1994/670 600/1995/671 +f 4432/1993/669 600/1995/671 601/1996/672 +f 599/1992/668 598/1991/667 602/1997/673 +f 599/1992/668 602/1997/673 603/1998/674 +f 4423/1994/670 4418/1999/675 604/2000/676 +f 4423/1994/670 604/2000/676 600/1995/671 +f 605/2001/674 606/2002/673 607/2003/677 +f 605/2001/674 607/2003/677 608/2004/678 +f 4419/2005/675 4421/2006/679 609/2007/680 +f 4419/2005/675 609/2007/680 610/2008/676 +f 608/2004/678 607/2003/677 611/2009/681 +f 608/2004/678 611/2009/681 612/2010/682 +f 4421/2006/679 4434/2011/683 613/2012/684 +f 4421/2006/679 613/2012/684 609/2007/680 +f 612/2010/682 611/2009/681 614/2013/685 +f 612/2010/682 614/2013/685 615/2014/686 +f 4434/2011/683 4438/2015/687 616/2016/688 +f 4434/2011/683 616/2016/688 613/2012/684 +f 615/2014/686 614/2013/685 597/1990/666 +f 615/2014/686 597/1990/666 596/1989/665 +f 4438/2015/687 4432/1993/669 601/1996/672 +f 4438/2015/687 601/1996/672 616/2016/688 +f 617/2017/689 618/2018/690 520/1894/582 +f 617/2017/689 520/1894/582 4333/1893/581 +f 4297/2019/691 619/2020/692 522/1898/585 +f 4297/2019/691 522/1898/585 4331/1897/584 +f 620/2021/693 621/2022/694 525/1902/588 +f 620/2021/693 525/1902/588 524/1901/587 +f 4296/2023/695 622/2024/696 528/1906/591 +f 4296/2023/695 528/1906/591 4330/1905/590 +f 4301/2025/697 623/2026/698 4334/1910/594 +f 4301/2025/697 4334/1910/594 4332/1909/593 +f 4303/2027/699 4302/2028/700 517/1890/579 +f 4303/2027/699 517/1890/579 516/1889/578 +f 4360/2029/701 4355/2030/702 530/1913/596 +f 4360/2029/701 530/1913/596 533/1916/599 +f 4356/2031/703 4349/2032/704 534/1918/601 +f 4356/2031/703 534/1918/601 4386/1917/600 +f 4350/2033/705 4353/2034/706 537/1922/605 +f 4350/2033/705 537/1922/605 536/1921/604 +f 4354/2035/707 4358/2036/708 540/1926/608 +f 4354/2035/707 540/1926/608 4385/1925/607 +f 4359/2037/709 4362/2038/710 542/1930/612 +f 4359/2037/709 542/1930/612 4388/1929/611 +f 4363/2039/711 4361/2040/712 4387/1934/615 +f 4363/2039/711 4387/1934/615 4390/1933/614 +f 547/1940/620 546/1939/619 618/2018/690 +f 547/1940/620 618/2018/690 617/2017/689 +f 4258/1944/624 549/1943/623 619/2020/692 +f 4258/1944/624 619/2020/692 4297/2019/691 +f 553/1948/628 552/1947/627 621/2022/694 +f 553/1948/628 621/2022/694 620/2021/693 +f 4257/1952/632 555/1951/631 622/2024/696 +f 4257/1952/632 622/2024/696 4296/2023/695 +f 4261/1956/636 557/1955/635 623/2026/698 +f 4261/1956/636 623/2026/698 4301/2025/697 +f 4264/1959/639 4262/1958/638 4302/2028/700 +f 4264/1959/639 4302/2028/700 4303/2027/699 +f 624/263/38 625/2041/38 626/2042/38 +f 624/263/38 626/2042/38 627/260/38 +f 630/2043/713 28/1524/239 27/1523/238 +f 630/2043/713 27/1523/238 631/2044/714 +f 4204/2045/715 4295/2046/716 4287/2047/717 +f 4204/2045/715 4287/2047/717 632/2048/718 +f 4203/2049/719 24/1520/235 26/1522/237 +f 4203/2049/719 26/1522/237 633/2050/720 +f 4287/2047/717 4295/2046/716 4337/2051/721 +f 4287/2047/717 4337/2051/721 4338/2052/722 +f 25/1521/236 634/2053/58 635/2054/723 +f 25/1521/236 635/2054/723 26/1522/237 +f 29/1525/240 28/1524/239 636/2055/724 +f 29/1525/240 636/2055/724 637/2056/725 +f 4338/2052/722 4337/2051/721 4383/2057/726 +f 4338/2052/722 4383/2057/726 4382/2058/727 +f 638/264/39 640/266/39 641/2059/39 +f 4154/2060/728 4209/2061/729 642/2062/730 +f 4154/2060/728 642/2062/730 643/2063/731 +f 648/2064/732 649/2065/733 4206/2066/734 +f 648/2064/732 4206/2066/734 4210/2067/732 +f 650/2068/735 651/2069/736 4155/2070/736 +f 650/2068/735 4155/2070/736 4162/2071/737 +f 652/2072/738 650/2068/735 4162/2071/737 +f 652/2072/738 4162/2071/737 4152/2073/738 +f 4206/2066/734 649/2065/733 653/2074/739 +f 4206/2066/734 653/2074/739 4219/2075/739 +f 643/2063/731 642/2062/730 4220/2076/740 +f 643/2063/731 4220/2076/740 4153/2077/741 +f 4373/2078/742 4414/2079/743 658/2080/744 +f 4373/2078/742 658/2080/744 659/2081/745 +f 660/275/43 661/2082/746 662/276/43 +f 664/2083/747 665/2084/748 4406/2085/748 +f 664/2083/747 4406/2085/748 4415/2086/747 +f 666/2087/749 667/2088/750 4374/2089/750 +f 666/2087/749 4374/2089/750 4381/2090/751 +f 659/2081/745 658/2080/744 4410/2091/752 +f 659/2081/745 4410/2091/752 4375/2092/753 +f 668/2093/754 666/2087/749 4381/2090/751 +f 668/2093/754 4381/2090/751 4376/2094/754 +f 4406/2085/748 665/2084/748 669/2095/755 +f 4406/2085/748 669/2095/755 4411/2096/755 +f 670/2097/756 671/2098/757 672/2099/758 +f 670/2097/756 672/2099/758 673/2100/759 +f 4275/2101/760 674/2102/760 675/2103/761 +f 4275/2101/760 675/2103/761 4263/2104/762 +f 676/2105/763 4250/2106/763 4255/2107/764 +f 676/2105/763 4255/2107/764 677/2108/765 +f 673/2100/759 672/2099/758 678/2109/766 +f 673/2100/759 678/2109/766 679/2110/766 +f 677/2108/765 4255/2107/764 4251/2111/767 +f 677/2108/765 4251/2111/767 680/2112/767 +f 4263/2104/762 675/2103/761 681/2113/768 +f 4263/2104/762 681/2113/768 4270/2114/768 +f 682/278/1 684/280/1 685/2115/1 +f 4279/2116/769 690/2117/769 691/2118/769 +f 4279/2116/769 691/2118/769 4292/2119/769 +f 704/309/51 4340/2120/51 4342/310/51 +f 706/2121/770 707/2122/771 708/2123/772 +f 706/2121/770 708/2123/772 709/2124/773 +f 4371/2125/774 710/2126/774 711/2127/775 +f 4371/2125/774 711/2127/775 4369/2128/776 +f 709/2124/773 708/2123/772 712/2129/777 +f 709/2124/773 712/2129/777 713/2130/778 +f 4369/2128/776 711/2127/775 714/2131/779 +f 4369/2128/776 714/2131/779 4372/2132/779 +f 4366/2133/780 4346/2134/781 715/2135/781 +f 4366/2133/780 715/2135/781 716/2136/782 +f 716/2136/782 717/2137/783 4345/2138/783 +f 716/2136/782 4345/2138/783 4366/2133/780 +f 718/2139/784 719/2140/785 720/2141/786 +f 718/2139/784 720/2141/786 721/2142/787 +f 728/2143/788 729/2144/789 730/2145/790 +f 728/2143/788 730/2145/790 731/2146/791 +f 732/2147/792 733/2148/793 734/2149/794 +f 732/2147/792 734/2149/794 735/2150/795 +f 721/2142/787 720/2141/786 4496/2151/796 +f 721/2142/787 4496/2151/796 4412/2152/797 +f 735/2150/795 734/2149/794 736/2153/798 +f 735/2150/795 736/2153/798 737/2154/799 +f 731/2146/791 730/2145/790 738/2155/800 +f 731/2146/791 738/2155/800 739/2156/801 +f 4124/2157/802 744/2158/802 745/2159/803 +f 4124/2157/802 745/2159/803 4121/2160/804 +f 746/2161/805 4097/2162/805 4099/2163/806 +f 746/2161/805 4099/2163/806 747/2164/807 +f 747/2164/807 4099/2163/806 4098/2165/808 +f 747/2164/807 4098/2165/808 750/2166/808 +f 4121/2160/804 745/2159/803 751/2167/809 +f 4121/2160/804 751/2167/809 4125/2168/809 +f 752/326/1 754/328/1 755/2169/1 +f 4424/2170/810 4440/2171/811 756/2172/812 +f 4424/2170/810 756/2172/812 757/2173/810 +f 758/2174/813 759/2175/814 4483/2176/815 +f 758/2174/813 4483/2176/815 4486/2177/813 +f 753/327/1 761/330/1 754/328/1 +f 759/2175/814 762/2178/816 4491/2179/816 +f 759/2175/814 4491/2179/816 4483/2176/815 +f 4440/2171/811 4439/2180/817 763/2181/817 +f 4440/2171/811 763/2181/817 756/2172/812 +f 772/2182/818 773/2183/819 774/2184/820 +f 772/2182/818 774/2184/820 775/2185/821 +f 782/2186/822 783/2187/823 784/2188/824 +f 782/2186/822 784/2188/824 785/2189/825 +f 786/2190/826 787/2191/827 788/2192/828 +f 786/2190/826 788/2192/828 789/2193/829 +f 773/2183/819 4143/2194/830 4084/2195/831 +f 773/2183/819 4084/2195/831 774/2184/820 +f 787/2191/827 790/2196/832 791/2197/833 +f 787/2191/827 791/2197/833 788/2192/828 +f 783/2187/823 792/2198/834 793/2199/835 +f 783/2187/823 793/2199/835 784/2188/824 +f 794/2200/836 31/1527/242 33/1529/244 +f 794/2200/836 33/1529/244 795/2201/837 +f 796/2202/838 797/2203/839 31/1527/242 +f 796/2202/838 31/1527/242 794/2200/836 +f 798/2204/840 799/2205/841 797/2203/839 +f 798/2204/840 797/2203/839 796/2202/838 +f 800/2206/842 34/1530/245 36/1532/247 +f 800/2206/842 36/1532/247 801/2207/843 +f 35/1531/246 802/2208/844 803/2209/845 +f 35/1531/246 803/2209/845 36/1532/247 +f 797/2203/839 799/2205/841 804/2210/846 +f 797/2203/839 804/2210/846 805/2211/847 +f 31/1527/242 797/2203/839 805/2211/847 +f 31/1527/242 805/2211/847 806/2212/848 +f 32/1528/243 31/1527/242 806/2212/848 +f 32/1528/243 806/2212/848 807/2213/849 +f 801/2207/843 36/1532/247 799/2205/841 +f 801/2207/843 799/2205/841 798/2204/840 +f 804/2210/846 799/2205/841 36/1532/247 +f 804/2210/846 36/1532/247 803/2209/845 +f 808/2214/850 809/2215/837 4538/2216/851 +f 808/2214/850 4538/2216/851 39/1535/250 +f 810/2217/852 808/2214/850 39/1535/250 +f 810/2217/852 39/1535/250 811/2218/853 +f 812/2219/854 810/2217/852 811/2218/853 +f 812/2219/854 811/2218/853 813/2220/855 +f 814/2221/856 815/2222/857 42/1538/253 +f 814/2221/856 42/1538/253 41/1537/252 +f 43/1539/254 42/1538/253 816/2223/858 +f 43/1539/254 816/2223/858 817/2224/844 +f 811/2218/853 818/2225/847 819/2226/846 +f 811/2218/853 819/2226/846 813/2220/855 +f 39/1535/250 820/2227/848 818/2225/847 +f 39/1535/250 818/2225/847 811/2218/853 +f 38/1534/249 821/2228/849 820/2227/848 +f 38/1534/249 820/2227/848 39/1535/250 +f 815/2222/857 812/2219/854 813/2220/855 +f 815/2222/857 813/2220/855 42/1538/253 +f 819/2226/846 816/2223/858 42/1538/253 +f 819/2226/846 42/1538/253 813/2220/855 +f 828/365/6 829/2229/6 3577/367/6 +f 44/6/2 52/11/2 45/7/2 +f 56/15/1 855/410/1 854/409/1 +f 57/16/1 861/416/1 58/17/1 +f 59/18/1 866/421/1 867/2230/1 +f 857/412/1 870/424/1 871/425/1 +f 876/2231/859 877/2232/860 878/2233/860 +f 876/2231/859 878/2233/860 879/2234/861 +f 4497/2235/862 882/2236/863 883/2237/864 +f 4497/2235/862 883/2237/864 4498/2238/865 +f 882/2236/863 884/2239/866 885/2240/866 +f 882/2236/863 885/2240/866 883/2237/864 +f 4520/2241/867 890/2242/868 891/2243/869 +f 4520/2241/867 891/2243/869 4521/2244/867 +f 890/2242/868 892/2245/870 893/2246/870 +f 890/2242/868 893/2246/870 891/2243/869 +f 898/2247/871 876/2231/859 879/2234/861 +f 898/2247/871 879/2234/861 899/2248/871 +f 900/2249/872 901/2250/873 902/2251/874 +f 900/2249/872 902/2251/874 903/2252/872 +f 908/2253/875 4085/2254/876 4086/2255/876 +f 908/2253/875 4086/2255/876 909/2256/877 +f 4107/2257/878 910/2258/878 911/2259/878 +f 4107/2257/878 911/2259/878 4108/2260/878 +f 912/2261/879 913/2262/880 914/2263/880 +f 912/2261/879 914/2263/880 915/2264/881 +f 918/2265/882 908/2253/875 909/2256/877 +f 918/2265/882 909/2256/877 919/2266/882 +f 4111/2267/883 912/2261/879 915/2264/881 +f 4111/2267/883 915/2264/881 4112/2268/883 +f 901/2250/873 4304/2269/884 4305/2270/884 +f 901/2250/873 4305/2270/884 902/2251/874 +f 4307/2271/885 4158/2272/885 4159/2273/885 +f 4307/2271/885 4159/2273/885 4308/2274/885 +f 925/467/75 928/2275/75 929/470/75 +f 937/2276/886 938/2277/887 939/2278/888 +f 937/2276/886 939/2278/888 940/2279/889 +f 938/2277/887 941/2280/890 942/2281/891 +f 938/2277/887 942/2281/891 939/2278/888 +f 941/2280/890 943/2282/892 944/2283/893 +f 941/2280/890 944/2283/893 942/2281/891 +f 943/2282/892 945/2284/894 946/2285/895 +f 943/2282/892 946/2285/895 944/2283/893 +f 945/2284/894 947/2286/896 948/2287/897 +f 945/2284/894 948/2287/897 946/2285/895 +f 947/2286/896 949/2288/898 950/2289/899 +f 947/2286/896 950/2289/899 948/2287/897 +f 949/2288/898 951/2290/900 952/2291/901 +f 949/2288/898 952/2291/901 950/2289/899 +f 951/2290/900 953/2292/902 954/2293/903 +f 951/2290/900 954/2293/903 952/2291/901 +f 953/2292/902 955/2294/904 956/2295/905 +f 953/2292/902 956/2295/905 954/2293/903 +f 957/2296/904 958/2297/906 959/2298/907 +f 957/2296/904 959/2298/907 960/2299/905 +f 958/2297/906 961/2300/908 962/2301/909 +f 958/2297/906 962/2301/909 959/2298/907 +f 961/2300/908 963/2302/910 964/2303/911 +f 961/2300/908 964/2303/911 962/2301/909 +f 963/2302/910 937/2276/886 940/2279/889 +f 963/2302/910 940/2279/889 964/2303/911 +f 940/2279/889 939/2278/888 965/2304/912 +f 940/2279/889 965/2304/912 966/2305/913 +f 939/2278/888 942/2281/891 967/2306/914 +f 939/2278/888 967/2306/914 965/2304/912 +f 942/2281/891 944/2283/893 968/2307/915 +f 942/2281/891 968/2307/915 967/2306/914 +f 944/2283/893 946/2285/895 969/2308/916 +f 944/2283/893 969/2308/916 968/2307/915 +f 946/2285/895 948/2287/897 970/2309/917 +f 946/2285/895 970/2309/917 969/2308/916 +f 948/2287/897 950/2289/899 971/2310/918 +f 948/2287/897 971/2310/918 970/2309/917 +f 950/2289/899 952/2291/901 972/2311/919 +f 950/2289/899 972/2311/919 971/2310/918 +f 952/2291/901 954/2293/903 973/2312/920 +f 952/2291/901 973/2312/920 972/2311/919 +f 954/2293/903 956/2295/905 974/2313/921 +f 954/2293/903 974/2313/921 973/2312/920 +f 960/2299/905 959/2298/907 975/2314/922 +f 960/2299/905 975/2314/922 976/2315/923 +f 959/2298/907 962/2301/909 977/2316/924 +f 959/2298/907 977/2316/924 975/2314/922 +f 962/2301/909 964/2303/911 978/2317/925 +f 962/2301/909 978/2317/925 977/2316/924 +f 964/2303/911 940/2279/889 966/2305/913 +f 964/2303/911 966/2305/913 978/2317/925 +f 966/2305/913 965/2304/912 979/2318/926 +f 966/2305/913 979/2318/926 980/2319/927 +f 965/2304/912 967/2306/914 981/2320/928 +f 965/2304/912 981/2320/928 979/2318/926 +f 967/2306/914 968/2307/915 982/2321/929 +f 967/2306/914 982/2321/929 981/2320/928 +f 968/2307/915 969/2308/916 983/2322/930 +f 968/2307/915 983/2322/930 982/2321/929 +f 969/2308/916 970/2309/917 984/2323/931 +f 969/2308/916 984/2323/931 983/2322/930 +f 970/2309/917 971/2310/918 985/2324/932 +f 970/2309/917 985/2324/932 984/2323/931 +f 971/2310/918 972/2311/919 986/2325/933 +f 971/2310/918 986/2325/933 985/2324/932 +f 972/2311/919 973/2312/920 987/2326/934 +f 972/2311/919 987/2326/934 986/2325/933 +f 973/2312/920 974/2313/921 988/2327/935 +f 973/2312/920 988/2327/935 987/2326/934 +f 976/2315/923 975/2314/922 989/2328/936 +f 976/2315/923 989/2328/936 990/2329/935 +f 975/2314/922 977/2316/924 991/2330/937 +f 975/2314/922 991/2330/937 989/2328/936 +f 977/2316/924 978/2317/925 992/2331/938 +f 977/2316/924 992/2331/938 991/2330/937 +f 978/2317/925 966/2305/913 980/2319/927 +f 978/2317/925 980/2319/927 992/2331/938 +f 980/2319/927 979/2318/926 993/2332/939 +f 980/2319/927 993/2332/939 994/2333/940 +f 979/2318/926 981/2320/928 995/2334/941 +f 979/2318/926 995/2334/941 993/2332/939 +f 981/2320/928 982/2321/929 996/2335/942 +f 981/2320/928 996/2335/942 995/2334/941 +f 982/2321/929 983/2322/930 997/2336/943 +f 982/2321/929 997/2336/943 996/2335/942 +f 983/2322/930 984/2323/931 998/2337/944 +f 983/2322/930 998/2337/944 997/2336/943 +f 984/2323/931 985/2324/932 999/2338/945 +f 984/2323/931 999/2338/945 998/2337/944 +f 985/2324/932 986/2325/933 1000/2339/946 +f 985/2324/932 1000/2339/946 999/2338/945 +f 986/2325/933 987/2326/934 1001/2340/947 +f 986/2325/933 1001/2340/947 1000/2339/946 +f 987/2326/934 988/2327/935 1002/2341/948 +f 987/2326/934 1002/2341/948 1001/2340/947 +f 990/2329/935 989/2328/936 1003/2342/949 +f 990/2329/935 1003/2342/949 1004/2343/950 +f 989/2328/936 991/2330/937 1005/2344/951 +f 989/2328/936 1005/2344/951 1003/2342/949 +f 991/2330/937 992/2331/938 1006/2345/952 +f 991/2330/937 1006/2345/952 1005/2344/951 +f 992/2331/938 980/2319/927 994/2333/940 +f 992/2331/938 994/2333/940 1006/2345/952 +f 994/2333/940 993/2332/939 1007/2346/953 +f 994/2333/940 1007/2346/953 1008/2347/954 +f 993/2332/939 995/2334/941 1009/2348/955 +f 993/2332/939 1009/2348/955 1007/2346/953 +f 995/2334/941 996/2335/942 1010/2349/956 +f 995/2334/941 1010/2349/956 1009/2348/955 +f 996/2335/942 997/2336/943 1011/2350/957 +f 996/2335/942 1011/2350/957 1010/2349/956 +f 997/2336/943 998/2337/944 1012/2351/958 +f 997/2336/943 1012/2351/958 1011/2350/957 +f 998/2337/944 999/2338/945 1013/2352/959 +f 998/2337/944 1013/2352/959 1012/2351/958 +f 999/2338/945 1000/2339/946 1014/2353/960 +f 999/2338/945 1014/2353/960 1013/2352/959 +f 1000/2339/946 1001/2340/947 1015/2354/961 +f 1000/2339/946 1015/2354/961 1014/2353/960 +f 1001/2340/947 1002/2341/948 1016/2355/962 +f 1001/2340/947 1016/2355/962 1015/2354/961 +f 1004/2343/950 1003/2342/949 1017/2356/963 +f 1004/2343/950 1017/2356/963 1018/2357/962 +f 1003/2342/949 1005/2344/951 1019/2358/964 +f 1003/2342/949 1019/2358/964 1017/2356/963 +f 1005/2344/951 1006/2345/952 1020/2359/965 +f 1005/2344/951 1020/2359/965 1019/2358/964 +f 1006/2345/952 994/2333/940 1008/2347/954 +f 1006/2345/952 1008/2347/954 1020/2359/965 +f 4271/2360/966 4268/2361/967 4327/2362/967 +f 4271/2360/966 4327/2362/967 4325/2363/968 +f 4271/2360/966 4325/2363/968 4321/2364/969 +f 4271/2360/966 4321/2364/969 4276/2365/970 +f 4276/2365/970 4321/2364/969 4319/2366/971 +f 4276/2365/970 4319/2366/971 4281/2367/972 +f 4281/2367/972 4319/2366/971 4315/2368/973 +f 4281/2367/972 4315/2368/973 4285/2369/974 +f 4285/2369/974 4315/2368/973 4313/2370/975 +f 4285/2369/974 4313/2370/975 4288/2371/976 +f 4288/2371/976 4313/2370/975 1021/2372/977 +f 4288/2371/976 1021/2372/977 1022/2373/978 +f 1022/2373/978 1021/2372/977 4314/2374/979 +f 1022/2373/978 4314/2374/979 4289/2375/980 +f 4289/2375/980 4314/2374/979 4317/2376/981 +f 4289/2375/980 4317/2376/981 4286/2377/982 +f 4286/2377/982 4317/2376/981 4320/2378/983 +f 4286/2377/982 4320/2378/983 4282/2379/984 +f 4282/2379/984 4320/2378/983 4322/2380/985 +f 4282/2379/984 4322/2380/985 4277/2381/986 +f 4277/2381/986 4322/2380/985 4326/2382/987 +f 4277/2381/986 4326/2382/987 4272/2383/988 +f 4272/2383/988 4326/2382/987 4328/2384/989 +f 4272/2383/988 4328/2384/989 4269/2385/989 +f 65/1543/258 68/1546/261 70/1548/263 +f 65/1543/258 70/1548/263 66/1544/259 +f 71/1549/264 62/1540/255 64/1542/257 +f 71/1549/264 64/1542/257 72/1550/265 +f 68/1546/261 74/1552/267 76/1554/269 +f 68/1546/261 76/1554/269 69/1547/262 +f 77/1555/270 71/1549/264 73/1551/266 +f 77/1555/270 73/1551/266 78/1556/271 +f 74/1552/267 1023/2386/990 4312/2387/991 +f 74/1552/267 4312/2387/991 75/1553/268 +f 1024/2388/992 77/1555/270 79/1557/272 +f 1024/2388/992 79/1557/272 4290/2389/993 +f 1023/2386/990 80/1558/273 82/1560/275 +f 1023/2386/990 82/1560/275 4312/2387/991 +f 83/1561/276 1024/2388/992 4290/2389/993 +f 83/1561/276 4290/2389/993 84/1562/277 +f 80/1558/273 86/1564/279 88/1566/281 +f 80/1558/273 88/1566/281 81/1559/274 +f 89/1567/282 83/1561/276 85/1563/278 +f 89/1567/282 85/1563/278 90/1568/283 +f 86/1564/279 92/1570/285 94/1572/287 +f 86/1564/279 94/1572/287 87/1565/280 +f 95/1573/288 89/1567/282 91/1569/284 +f 95/1573/288 91/1569/284 96/1574/289 +f 1025/2390/994 1026/2391/995 1027/2392/996 +f 1025/2390/994 1027/2392/996 1028/2393/997 +f 1026/2391/995 1029/2394/998 1030/2395/999 +f 1026/2391/995 1030/2395/999 1027/2392/996 +f 1029/2394/998 1031/2396/1000 1032/2397/1001 +f 1029/2394/998 1032/2397/1001 1030/2395/999 +f 1031/2396/1000 1033/2398/1002 1034/2399/1003 +f 1031/2396/1000 1034/2399/1003 1032/2397/1001 +f 1035/2400/1002 1036/2401/1004 1037/2402/1005 +f 1035/2400/1002 1037/2402/1005 1038/2403/1003 +f 1036/2401/1004 1039/2404/1006 1040/2405/1007 +f 1036/2401/1004 1040/2405/1007 1037/2402/1005 +f 1039/2404/1006 1041/2406/1008 1042/2407/1009 +f 1039/2404/1006 1042/2407/1009 1040/2405/1007 +f 1041/2406/1008 1043/2408/1010 1044/2409/1011 +f 1041/2406/1008 1044/2409/1011 1042/2407/1009 +f 1043/2408/1010 1045/2410/1012 1046/2411/1013 +f 1043/2408/1010 1046/2411/1013 1044/2409/1011 +f 1045/2410/1012 1047/2412/1014 1048/2413/1015 +f 1045/2410/1012 1048/2413/1015 1046/2411/1013 +f 1047/2412/1014 1049/2414/1016 1050/2415/1017 +f 1047/2412/1014 1050/2415/1017 1048/2413/1015 +f 1049/2414/1016 1025/2390/994 1028/2393/997 +f 1049/2414/1016 1028/2393/997 1050/2415/1017 +f 1051/487/3 1052/492/3 1053/488/3 +f 1057/2416/1018 1058/2417/1019 1059/2418/1020 +f 1057/2416/1018 1059/2418/1020 1060/2419/1021 +f 1061/2420/1022 1062/2421/1023 1058/2417/1019 +f 1061/2420/1022 1058/2417/1019 1057/2416/1018 +f 1063/2422/1024 1064/2423/1025 1062/2421/1023 +f 1063/2422/1024 1062/2421/1023 1061/2420/1022 +f 1065/2424/1026 1066/2425/1027 1064/2423/1025 +f 1065/2424/1026 1064/2423/1025 1063/2422/1024 +f 1067/2426/1028 1068/2427/1029 1066/2425/1027 +f 1067/2426/1028 1066/2425/1027 1065/2424/1026 +f 1069/2428/1030 1070/2429/1031 1068/2427/1029 +f 1069/2428/1030 1068/2427/1029 1067/2426/1028 +f 1071/2430/1032 1072/2431/1033 1070/2429/1031 +f 1071/2430/1032 1070/2429/1031 1069/2428/1030 +f 1073/2432/1034 1074/2433/1035 1072/2431/1033 +f 1073/2432/1034 1072/2431/1033 1071/2430/1032 +f 1060/2419/1021 1059/2418/1020 1074/2433/1035 +f 1060/2419/1021 1074/2433/1035 1073/2432/1034 +f 4575/2434/1036 1058/2417/1019 1075/2435/1037 +f 4575/2434/1036 1075/2435/1037 1076/2436/1038 +f 1058/2417/1019 1062/2421/1023 1077/2437/1039 +f 1058/2417/1019 1077/2437/1039 1075/2435/1037 +f 1062/2421/1023 1064/2423/1025 104/1576/291 +f 1062/2421/1023 104/1576/291 1077/2437/1039 +f 1064/2423/1025 1066/2425/1027 105/1577/292 +f 1064/2423/1025 105/1577/292 104/1576/291 +f 1066/2425/1027 1068/2427/1029 106/1578/293 +f 1066/2425/1027 106/1578/293 105/1577/292 +f 1068/2427/1029 1070/2429/1031 1078/2438/1040 +f 1068/2427/1029 1078/2438/1040 106/1578/293 +f 1070/2429/1031 1072/2431/1033 1079/2439/1041 +f 1070/2429/1031 1079/2439/1041 1078/2438/1040 +f 1072/2431/1033 4572/2440/1042 1080/2441/1043 +f 1072/2431/1033 1080/2441/1043 1079/2439/1041 +f 4572/2440/1042 4575/2434/1036 1076/2436/1038 +f 4572/2440/1042 1076/2436/1038 1080/2441/1043 +f 1078/2438/1040 1079/2439/1041 1075/2435/1037 +f 1078/2438/1040 1075/2435/1037 1077/2437/1039 +f 1079/2439/1041 1080/2441/1043 1076/2436/1038 +f 1079/2439/1041 1076/2436/1038 1075/2435/1037 +f 1077/2437/1039 104/1576/291 106/1578/293 +f 1077/2437/1039 106/1578/293 1078/2438/1040 +f 1081/2442/1044 1082/2443/1045 1083/2444/1046 +f 1081/2442/1044 1083/2444/1046 1084/2445/1047 +f 1082/2443/1045 1085/2446/1048 1086/2447/1049 +f 1082/2443/1045 1086/2447/1049 1083/2444/1046 +f 1085/2446/1048 1087/2448/1050 1088/2449/1051 +f 1085/2446/1048 1088/2449/1051 1086/2447/1049 +f 4571/2450/1052 1089/2451/1053 1090/2452/1054 +f 4571/2450/1052 1090/2452/1054 4567/2453/1055 +f 1089/2451/1053 1091/2454/1056 1092/2455/1057 +f 1089/2451/1053 1092/2455/1057 1090/2452/1054 +f 4541/2456/1058 1093/2457/1059 1094/2458/1060 +f 4541/2456/1058 1094/2458/1060 4542/2459/1061 +f 1093/2457/1059 1095/2460/1062 1096/2461/1063 +f 1093/2457/1059 1096/2461/1063 1094/2458/1060 +f 1095/2460/1062 1097/2462/1064 1098/2463/1065 +f 1095/2460/1062 1098/2463/1065 1096/2461/1063 +f 1097/2462/1064 1099/2464/1066 1100/2465/1067 +f 1097/2462/1064 1100/2465/1067 1098/2463/1065 +f 1099/2464/1066 1101/2466/1068 1102/2467/1069 +f 1099/2464/1066 1102/2467/1069 1100/2465/1067 +f 1101/2466/1068 1103/2468/1070 1104/2469/1071 +f 1101/2466/1068 1104/2469/1071 1102/2467/1069 +f 1103/2468/1070 1105/2470/1072 1106/2471/1073 +f 1103/2468/1070 1106/2471/1073 1104/2469/1071 +f 1105/2470/1072 1081/2442/1044 1084/2445/1047 +f 1105/2470/1072 1084/2445/1047 1106/2471/1073 +f 4607/2472/1074 4601/2473/1075 1107/2474/1076 +f 4607/2472/1074 1107/2474/1076 1108/2475/1077 +f 4601/2473/1075 4587/2476/1078 1109/2477/1079 +f 4601/2473/1075 1109/2477/1079 1107/2474/1076 +f 4587/2476/1078 4568/2478/1080 1110/2479/1081 +f 4587/2476/1078 1110/2479/1081 1109/2477/1079 +f 4568/2478/1080 4552/2480/1082 1111/2481/1083 +f 4568/2478/1080 1111/2481/1083 1110/2479/1081 +f 4552/2480/1082 4543/2482/1084 1112/2483/1085 +f 4552/2480/1082 1112/2483/1085 1111/2481/1083 +f 4543/2482/1084 4527/2484/1086 1113/2485/1087 +f 4543/2482/1084 1113/2485/1087 1112/2483/1085 +f 4527/2484/1086 4516/2486/1088 1114/2487/1089 +f 4527/2484/1086 1114/2487/1089 1113/2485/1087 +f 4516/2486/1088 4531/2488/1090 1115/2489/1091 +f 4516/2486/1088 1115/2489/1091 1114/2487/1089 +f 4531/2488/1090 4539/2490/1092 1116/2491/1093 +f 4531/2488/1090 1116/2491/1093 1115/2489/1091 +f 4539/2490/1092 4555/2492/1094 1117/2493/1095 +f 4539/2490/1092 1117/2493/1095 1116/2491/1093 +f 4555/2492/1094 4584/2494/1096 1118/2495/1097 +f 4555/2492/1094 1118/2495/1097 1117/2493/1095 +f 4584/2494/1096 4599/2496/1098 1119/2497/1099 +f 4584/2494/1096 1119/2497/1099 1118/2495/1097 +f 4599/2496/1098 4607/2472/1074 1108/2475/1077 +f 4599/2496/1098 1108/2475/1077 1119/2497/1099 +f 4600/2498/1100 4594/2499/1101 4593/2500/1102 +f 4600/2498/1100 4593/2500/1102 4598/2501/1103 +f 4594/2499/1101 4586/2502/1104 4585/2503/1105 +f 4594/2499/1101 4585/2503/1105 4593/2500/1102 +f 4586/2502/1104 4565/2504/1106 4569/2505/1107 +f 4586/2502/1104 4569/2505/1107 4585/2503/1105 +f 4566/2506/1108 4558/2507/1109 4556/2508/1110 +f 4566/2506/1108 4556/2508/1110 4570/2509/1111 +f 4558/2507/1109 4548/2510/1112 4546/2511/1112 +f 4558/2507/1109 4546/2511/1112 4556/2508/1110 +f 4549/2512/1113 4532/2513/1114 4530/2514/1115 +f 4549/2512/1113 4530/2514/1115 4547/2515/1116 +f 4532/2513/1114 4529/2516/1117 4528/2517/1118 +f 4532/2513/1114 4528/2517/1118 4530/2514/1115 +f 4529/2516/1117 4537/2518/1119 4536/2519/1120 +f 4529/2516/1117 4536/2519/1120 4528/2517/1118 +f 4537/2518/1119 4545/2520/1121 4544/2521/1122 +f 4537/2518/1119 4544/2521/1122 4536/2519/1120 +f 4545/2520/1121 4559/2522/1123 4557/2523/1124 +f 4545/2520/1121 4557/2523/1124 4544/2521/1122 +f 4559/2522/1123 4579/2524/1125 4578/2525/1126 +f 4559/2522/1123 4578/2525/1126 4557/2523/1124 +f 4579/2524/1125 4592/2526/1127 4591/2527/1128 +f 4579/2524/1125 4591/2527/1128 4578/2525/1126 +f 4592/2526/1127 4600/2498/1100 4598/2501/1103 +f 4592/2526/1127 4598/2501/1103 4591/2527/1128 +f 1120/2528/1129 1121/2529/1130 1122/2530/1131 +f 1120/2528/1129 1122/2530/1131 1123/2531/1129 +f 1121/2529/1130 1124/2532/1132 1125/2533/1133 +f 1121/2529/1130 1125/2533/1133 1122/2530/1131 +f 1124/2532/1132 1126/2534/1134 1127/2535/1135 +f 1124/2532/1132 1127/2535/1135 1125/2533/1133 +f 1126/2534/1134 1128/2536/1136 1129/2537/1137 +f 1126/2534/1134 1129/2537/1137 1127/2535/1135 +f 1130/2538/1138 1131/2539/1139 1132/2540/1140 +f 1130/2538/1138 1132/2540/1140 1133/2541/1137 +f 4619/2542/1141 4620/2543/1141 1138/2544/1142 +f 4619/2542/1141 1138/2544/1142 1139/2545/1143 +f 1140/2546/1144 4635/2547/1145 4634/2548/5 +f 1140/2546/1144 4634/2548/5 1141/2549/5 +f 1139/2545/1143 1138/2544/1142 1142/2550/1146 +f 1139/2545/1143 1142/2550/1146 1143/2551/1147 +f 1144/2552/1148 4631/2553/1149 4635/2547/1145 +f 1144/2552/1148 4635/2547/1145 1140/2546/1144 +f 1143/2551/1147 1142/2550/1146 1145/2554/1150 +f 1143/2551/1147 1145/2554/1150 1146/2555/1151 +f 1147/2556/1152 4623/2557/1153 4631/2553/1149 +f 1147/2556/1152 4631/2553/1149 1144/2552/1148 +f 1146/2555/1151 1145/2554/1150 1148/2558/1154 +f 1146/2555/1151 1148/2558/1154 1149/2559/1155 +f 1150/2560/1156 4608/2561/1157 4623/2557/1153 +f 1150/2560/1156 4623/2557/1153 1147/2556/1152 +f 1151/2562/1155 4597/2563/1154 4562/2564/1158 +f 1151/2562/1155 4562/2564/1158 1152/2565/1159 +f 1153/2566/1160 4573/2567/1161 4609/2568/1157 +f 1153/2566/1160 4609/2568/1157 1154/2569/1156 +f 1155/2570/1160 1156/2571/1162 1157/2572/1163 +f 1155/2570/1160 1157/2572/1163 4574/2573/1164 +f 1158/2574/1139 4306/2575/1 1159/2576/1 +f 1158/2574/1139 1159/2576/1 1160/2577/1140 +f 1161/2578/1165 1162/2579/1166 1163/2580/1167 +f 1161/2578/1165 1163/2580/1167 1164/2581/1168 +f 1165/2582/1129 1166/2583/1129 1167/2584/1169 +f 1165/2582/1129 1167/2584/1169 1168/2585/1170 +f 1168/2585/1170 1167/2584/1169 1169/2586/1171 +f 1168/2585/1170 1169/2586/1171 1170/2587/1172 +f 1170/2587/1172 1169/2586/1171 1171/2588/1173 +f 1170/2587/1172 1171/2588/1173 1172/2589/1174 +f 1172/2589/1174 1171/2588/1173 1173/2590/1175 +f 1172/2589/1174 1173/2590/1175 1174/2591/1176 +f 1175/2592/1176 1176/2593/1175 1177/2594/1177 +f 1175/2592/1176 1177/2594/1177 1178/2595/1178 +f 3673/2596/1179 1183/2597/1180 1184/2598/1181 +f 3673/2596/1179 1184/2598/1181 3674/2599/1179 +f 1185/2600/1182 1186/2601/6 3612/2602/6 +f 1185/2600/1182 3612/2602/6 3613/2603/1183 +f 1183/2597/1180 1187/2604/1184 1188/2605/1185 +f 1183/2597/1180 1188/2605/1185 1184/2598/1181 +f 1189/2606/1186 1185/2600/1182 3613/2603/1183 +f 1189/2606/1186 3613/2603/1183 3618/2607/1187 +f 1187/2604/1184 1190/2608/1188 1191/2609/1189 +f 1187/2604/1184 1191/2609/1189 1188/2605/1185 +f 1192/2610/1190 1189/2606/1186 3618/2607/1187 +f 1192/2610/1190 3618/2607/1187 3651/2611/1191 +f 1190/2608/1188 1193/2612/1192 1194/2613/1193 +f 1190/2608/1188 1194/2613/1193 1191/2609/1189 +f 1195/2614/1194 1192/2610/1190 3651/2611/1191 +f 1195/2614/1194 3651/2611/1191 3739/2615/1195 +f 1196/2616/1196 1197/2617/1197 3888/2618/1198 +f 1196/2616/1196 3888/2618/1198 3784/2619/1193 +f 1198/2620/1199 1199/2621/1194 3740/2622/1195 +f 1198/2620/1199 3740/2622/1195 3862/2623/1200 +f 1200/2624/1201 3863/2625/1200 1157/2572/1163 +f 1200/2624/1201 1157/2572/1163 1156/2571/1162 +f 1201/2626/1202 1202/2627/1177 1203/2628/1 +f 1201/2626/1202 1203/2628/1 4306/2575/1 +f 1204/2629/1198 1205/2630/1203 1163/2580/1167 +f 1204/2629/1198 1163/2580/1167 1162/2579/1166 +f 1206/2631/1204 1207/2632/1204 1208/2633/1205 +f 1206/2631/1204 1208/2633/1205 1209/2634/1206 +f 1210/2635/1207 1211/2636/1207 1212/2637/1208 +f 1210/2635/1207 1212/2637/1208 1213/2638/1209 +f 1214/2639/1210 1215/2640/1210 1216/2641/1211 +f 1214/2639/1210 1216/2641/1211 1217/2642/1212 +f 1218/2643/1213 1219/2644/1213 1220/2645/1214 +f 1218/2643/1213 1220/2645/1214 1221/2646/1215 +f 1222/2647/1216 1223/2648/1216 1224/2649/1217 +f 1222/2647/1216 1224/2649/1217 1225/2650/1218 +f 1226/2651/1219 1227/2652/1219 1228/2653/1220 +f 1226/2651/1219 1228/2653/1220 1229/2654/1221 +f 1221/2646/1215 1220/2645/1214 1236/2655/1222 +f 1221/2646/1215 1236/2655/1222 1237/2656/1222 +f 1217/2642/1212 1216/2641/1211 1238/2657/1223 +f 1217/2642/1212 1238/2657/1223 1239/2658/1223 +f 1213/2638/1209 1212/2637/1208 1240/2659/1224 +f 1213/2638/1209 1240/2659/1224 1241/2660/1224 +f 1209/2634/1206 1208/2633/1205 1242/2661/1225 +f 1209/2634/1206 1242/2661/1225 1243/2662/1225 +f 1229/2654/1221 1228/2653/1220 1244/2663/1226 +f 1229/2654/1221 1244/2663/1226 1245/2664/1226 +f 1225/2650/1218 1224/2649/1217 1246/2665/1227 +f 1225/2650/1218 1246/2665/1227 1247/2666/1227 +f 1248/2667/1228 1249/2668/1228 1250/2669/1229 +f 1248/2667/1228 1250/2669/1229 1251/2670/1230 +f 1252/2671/1231 1253/2672/1231 1254/2673/1232 +f 1252/2671/1231 1254/2673/1232 4522/2674/1233 +f 1255/2675/1234 1256/2676/1234 1257/2677/1235 +f 1255/2675/1234 1257/2677/1235 1258/2678/1236 +f 1259/2679/1237 1260/2680/1237 1261/2681/1238 +f 1259/2679/1237 1261/2681/1238 1262/2682/1239 +f 1263/2683/1240 1264/2684/1240 1265/2685/1241 +f 1263/2683/1240 1265/2685/1241 1266/2686/1242 +f 1267/2687/1243 1268/2688/1243 4540/2689/1244 +f 1267/2687/1243 4540/2689/1244 1269/2690/1245 +f 1262/2682/1239 1261/2681/1238 1276/2691/1246 +f 1262/2682/1239 1276/2691/1246 1277/2692/1246 +f 1258/2678/1236 1257/2677/1235 1278/2693/1247 +f 1258/2678/1236 1278/2693/1247 1279/2694/1247 +f 4522/2674/1233 1254/2673/1232 1280/2695/1248 +f 4522/2674/1233 1280/2695/1248 1281/2696/1248 +f 1251/2670/1230 1250/2669/1229 1282/2697/1249 +f 1251/2670/1230 1282/2697/1249 1283/2698/1249 +f 1269/2690/1245 4540/2689/1244 1284/2699/1250 +f 1269/2690/1245 1284/2699/1250 1285/2700/1250 +f 1266/2686/1242 1265/2685/1241 1286/2701/1251 +f 1266/2686/1242 1286/2701/1251 1287/2702/1251 +f 1288/2703/1252 1289/2704/1253 1290/2705/1254 +f 1288/2703/1252 1290/2705/1254 1291/2706/1255 +f 1292/2707/1256 1293/2708/1257 1288/2703/1252 +f 1292/2707/1256 1288/2703/1252 1291/2706/1255 +f 1294/2709/1258 1295/2710/1259 1296/2711/1260 +f 1294/2709/1258 1296/2711/1260 1297/2712/1261 +f 1298/2713/1262 1294/2709/1258 1297/2712/1261 +f 1298/2713/1262 1297/2712/1261 1299/2714/1263 +f 1300/2715/1264 1301/2716/1265 1302/2717/1266 +f 1300/2715/1264 1302/2717/1266 1303/2718/1267 +f 1304/2719/1268 1300/2715/1264 1303/2718/1267 +f 1304/2719/1268 1303/2718/1267 1305/2720/1269 +f 4044/2721/1270 4025/2722/1271 1306/2723/1272 +f 4044/2721/1270 1306/2723/1272 1307/2724/1273 +f 1308/2725/1274 4039/2726/1275 4044/2721/1270 +f 1308/2725/1274 4044/2721/1270 1307/2724/1273 +f 3915/2727/1276 3883/2728/1277 1309/2729/1278 +f 3915/2727/1276 1309/2729/1278 1310/2730/1279 +f 1311/2731/1280 3937/2732/1281 3915/2727/1276 +f 1311/2731/1280 3915/2727/1276 1310/2730/1279 +f 4000/2733/1282 3968/2734/1283 1312/2735/1284 +f 4000/2733/1282 1312/2735/1284 1313/2736/1285 +f 4028/2737/1286 4000/2733/1282 1313/2736/1285 +f 4028/2737/1286 1313/2736/1285 1314/2738/1287 +f 4050/2739/1288 4035/2740/1289 1315/2741/1290 +f 4050/2739/1288 1315/2741/1290 1316/2742/1291 +f 4046/2743/1292 4050/2739/1288 1316/2742/1291 +f 4046/2743/1292 1316/2742/1291 1317/2744/1293 +f 3908/2745/1294 3864/2746/1295 1318/2747/1296 +f 3908/2745/1294 1318/2747/1296 1319/2748/1297 +f 3928/2749/1298 3908/2745/1294 1319/2748/1297 +f 3928/2749/1298 1319/2748/1297 1320/2750/1299 +f 1313/2736/1285 3970/2751/1300 1321/2752/1301 +f 1313/2736/1285 1321/2752/1301 1322/2753/1302 +f 1314/2738/1287 1313/2736/1285 1322/2753/1302 +f 1314/2738/1287 1322/2753/1302 1323/2754/1303 +f 1324/2755/1304 4047/2756/1305 4048/2757/1306 +f 1324/2755/1304 4048/2757/1306 1325/2758/1307 +f 4048/2757/1306 4034/2759/1308 1326/2760/1309 +f 4048/2757/1306 1326/2760/1309 1325/2758/1307 +f 1319/2748/1297 1318/2747/1296 1327/2761/1310 +f 1319/2748/1297 1327/2761/1310 1328/2762/1311 +f 1329/2763/1312 3923/2764/1313 1319/2748/1297 +f 1329/2763/1312 1319/2748/1297 1328/2762/1311 +f 3999/2765/1314 3964/2766/1315 1330/2767/1316 +f 3999/2765/1314 1330/2767/1316 1331/2768/1317 +f 4037/2769/1318 3999/2765/1314 1331/2768/1317 +f 4037/2769/1318 1331/2768/1317 1332/2770/1319 +f 4036/2771/1320 4017/2772/1321 1333/2773/1322 +f 4036/2771/1320 1333/2773/1322 1334/2774/1323 +f 1335/2775/1324 4030/2776/1325 4036/2771/1320 +f 1335/2775/1324 4036/2771/1320 1334/2774/1323 +f 3907/2777/1326 3873/2778/1327 1336/2779/1328 +f 3907/2777/1326 1336/2779/1328 1337/2780/1329 +f 1338/2781/1330 3927/2782/1331 3907/2777/1326 +f 1338/2781/1330 3907/2777/1326 1337/2780/1329 +f 3993/2783/1332 3958/2784/1333 1339/2785/1334 +f 3993/2783/1332 1339/2785/1334 1340/2786/1335 +f 4012/2787/1336 3993/2783/1332 1340/2786/1335 +f 4012/2787/1336 1340/2786/1335 1341/2788/1337 +f 1344/2789/1338 4018/2790/1338 4027/2791/1338 +f 1344/2789/1338 4027/2791/1338 4033/2792/1338 +f 1345/2793/1339 3910/2794/1340 3892/2795/1341 +f 1345/2793/1339 3892/2795/1341 1346/2796/1341 +f 1347/2797/1342 3934/2798/1342 3910/2794/1340 +f 1347/2797/1342 3910/2794/1340 1345/2793/1339 +f 1348/2799/1343 3985/2800/1344 3960/2801/1345 +f 1348/2799/1343 3960/2801/1345 1349/2802/1346 +f 1350/2803/1347 4001/2804/1348 3985/2800/1344 +f 1350/2803/1347 3985/2800/1344 1348/2799/1343 +f 1301/2716/1265 1351/2805/1349 1352/2806/1350 +f 1301/2716/1265 1352/2806/1350 1302/2717/1266 +f 1349/2802/1346 3960/2801/1345 1353/2807/1351 +f 1349/2802/1346 1353/2807/1351 1354/2808/1352 +f 3958/2784/1333 1355/2809/1353 3935/2810/1354 +f 3958/2784/1333 3935/2810/1354 1339/2785/1334 +f 3964/2766/1315 1356/2811/1355 3924/2812/1356 +f 3964/2766/1315 3924/2812/1356 1330/2767/1316 +f 3970/2751/1300 1357/2813/1357 3921/2814/1358 +f 3970/2751/1300 3921/2814/1358 1321/2752/1301 +f 3968/2734/1283 3942/2815/1359 3930/2816/1360 +f 3968/2734/1283 3930/2816/1360 1312/2735/1284 +f 4007/2817/1361 1358/2818/1362 1359/2819/1363 +f 4007/2817/1361 1359/2819/1363 4002/2820/1364 +f 4006/2821/1365 4029/2822/1366 1360/2823/1367 +f 4006/2821/1365 1360/2823/1367 1361/2824/1362 +f 4029/2822/1366 4043/2825/1368 1362/2826/1369 +f 4029/2822/1366 1362/2826/1369 1360/2823/1367 +f 1363/2827/1370 1362/2826/1369 4043/2825/1368 +f 1363/2827/1370 4043/2825/1368 4038/2828/1371 +f 4038/2828/1371 4013/2829/1372 1364/2830/1373 +f 4038/2828/1371 1364/2830/1373 1363/2827/1370 +f 4013/2829/1372 4002/2820/1364 1359/2819/1363 +f 4013/2829/1372 1359/2819/1363 1364/2830/1373 +f 3944/2831/1374 1365/2832/1375 1366/2833/1376 +f 3944/2831/1374 1366/2833/1376 3943/2834/1377 +f 3945/2835/1378 3936/2836/1379 1367/2837/1380 +f 3945/2835/1378 1367/2837/1380 1368/2838/1375 +f 3936/2836/1379 3925/2839/1381 1369/2840/1382 +f 3936/2836/1379 1369/2840/1382 1367/2837/1380 +f 3925/2839/1381 3922/2841/1383 1370/2842/1384 +f 3925/2839/1381 1370/2842/1384 1369/2840/1382 +f 1371/2843/1385 1370/2842/1384 3922/2841/1383 +f 1371/2843/1385 3922/2841/1383 3931/2844/1386 +f 3931/2844/1386 3943/2834/1377 1366/2833/1376 +f 3931/2844/1386 1366/2833/1376 1371/2843/1385 +f 1372/2845/1387 1373/2846/1388 1374/2847/1389 +f 1372/2845/1387 1374/2847/1389 1375/2848/1390 +f 1376/2849/1388 1377/2850/1391 1378/2851/1392 +f 1376/2849/1388 1378/2851/1392 1379/2852/1393 +f 1377/2850/1391 1380/2853/1394 1381/2854/1395 +f 1377/2850/1391 1381/2854/1395 1378/2851/1392 +f 1380/2853/1394 1382/2855/1396 1383/2856/1397 +f 1380/2853/1394 1383/2856/1397 1381/2854/1395 +f 1382/2855/1396 1384/2857/1398 1385/2858/1399 +f 1382/2855/1396 1385/2858/1399 1383/2856/1397 +f 1384/2857/1398 1386/2859/1400 1387/2860/1401 +f 1384/2857/1398 1387/2860/1401 1385/2858/1399 +f 1386/2859/1400 1388/2861/1402 1389/2862/1403 +f 1386/2859/1400 1389/2862/1403 1387/2860/1401 +f 1388/2861/1402 1390/2863/1404 1391/2864/1405 +f 1388/2861/1402 1391/2864/1405 1389/2862/1403 +f 1390/2863/1404 1392/2865/1406 1393/2866/1407 +f 1390/2863/1404 1393/2866/1407 1391/2864/1405 +f 1392/2865/1406 1394/2867/1408 1395/2868/1409 +f 1392/2865/1406 1395/2868/1409 1393/2866/1407 +f 1394/2867/1408 1396/2869/1410 1397/2870/1411 +f 1394/2867/1408 1397/2870/1411 1395/2868/1409 +f 1396/2869/1410 1372/2845/1387 1375/2848/1390 +f 1396/2869/1410 1375/2848/1390 1397/2870/1411 +f 1398/2871/1412 1399/2872/1413 1400/2873/1414 +f 1398/2871/1412 1400/2873/1414 1401/2874/1415 +f 1402/2875/1416 1398/2871/1412 1401/2874/1415 +f 1402/2875/1416 1401/2874/1415 1403/2876/1417 +f 1404/2877/1418 1402/2875/1416 1403/2876/1417 +f 1404/2877/1418 1403/2876/1417 1405/2878/1419 +f 1406/2879/1420 1404/2877/1418 1405/2878/1419 +f 1406/2879/1420 1405/2878/1419 1407/2880/1421 +f 1408/2881/1422 1406/2879/1420 1407/2880/1421 +f 1408/2881/1422 1407/2880/1421 1409/2882/1423 +f 1410/2883/1424 1408/2881/1422 1409/2882/1423 +f 1410/2883/1424 1409/2882/1423 1411/2884/1425 +f 1412/2885/1426 1410/2883/1424 1411/2884/1425 +f 1412/2885/1426 1411/2884/1425 1413/2886/1427 +f 1414/2887/1428 1412/2885/1426 1413/2886/1427 +f 1414/2887/1428 1413/2886/1427 1415/2888/1429 +f 1416/2889/1430 1417/2890/1428 1418/2891/1429 +f 1416/2889/1430 1418/2891/1429 1419/2892/1431 +f 1420/2893/1432 1416/2889/1430 1419/2892/1431 +f 1420/2893/1432 1419/2892/1431 1421/2894/1433 +f 1422/2895/1434 1420/2893/1432 1421/2894/1433 +f 1422/2895/1434 1421/2894/1433 1423/2896/1435 +f 1399/2872/1413 1422/2895/1434 1423/2896/1435 +f 1399/2872/1413 1423/2896/1435 1400/2873/1414 +f 1424/2897/1436 1425/2898/1437 1426/2899/1438 +f 1424/2897/1436 1426/2899/1438 1427/2900/1439 +f 1428/2901/1440 1424/2897/1436 1427/2900/1439 +f 1428/2901/1440 1427/2900/1439 1429/2902/1441 +f 1430/2903/1442 1428/2901/1440 1429/2902/1441 +f 1430/2903/1442 1429/2902/1441 1431/2904/1443 +f 1432/2905/1444 1430/2903/1442 1431/2904/1443 +f 1432/2905/1444 1431/2904/1443 1433/2906/1445 +f 1434/2907/1446 1432/2905/1444 1433/2906/1445 +f 1434/2907/1446 1433/2906/1445 1435/2908/1447 +f 1436/2909/1448 1434/2907/1446 1435/2908/1447 +f 1436/2909/1448 1435/2908/1447 1437/2910/1449 +f 1438/2911/1450 1436/2909/1448 1437/2910/1449 +f 1438/2911/1450 1437/2910/1449 1439/2912/1451 +f 1440/2913/1452 1438/2911/1450 1439/2912/1451 +f 1440/2913/1452 1439/2912/1451 1441/2914/1453 +f 1442/2915/1454 1443/2916/1455 1444/2917/1453 +f 1442/2915/1454 1444/2917/1453 1445/2918/1456 +f 1446/2919/1457 1442/2915/1454 1445/2918/1456 +f 1446/2919/1457 1445/2918/1456 1447/2920/1458 +f 1448/2921/1459 1446/2919/1457 1447/2920/1458 +f 1448/2921/1459 1447/2920/1458 1449/2922/1460 +f 1425/2898/1437 1448/2921/1459 1449/2922/1460 +f 1425/2898/1437 1449/2922/1460 1426/2899/1438 +f 1450/2923/1461 1451/2924/1462 3886/2925/1463 +f 1450/2923/1461 3886/2925/1463 3865/2926/1464 +f 1452/2927/1465 1453/2928/1466 3866/2929/1464 +f 1452/2927/1465 3866/2929/1464 3851/2930/1467 +f 1454/2931/1468 1452/2927/1465 3851/2930/1467 +f 1454/2931/1468 3851/2930/1467 3841/2932/1469 +f 1455/2933/1470 1454/2931/1468 3841/2932/1469 +f 1455/2933/1470 3841/2932/1469 3836/2934/1471 +f 1456/2935/1472 1455/2933/1470 3836/2934/1471 +f 1456/2935/1472 3836/2934/1471 3844/2936/1473 +f 1457/2937/1474 1456/2935/1472 3844/2936/1473 +f 1457/2937/1474 3844/2936/1473 3856/2938/1475 +f 1458/2939/1476 1457/2937/1474 3856/2938/1475 +f 1458/2939/1476 3856/2938/1475 3876/2940/1477 +f 1459/2941/1478 1458/2939/1476 3876/2940/1477 +f 1459/2941/1478 3876/2940/1477 3893/2942/1479 +f 1460/2943/1480 1459/2941/1478 3893/2942/1479 +f 1460/2943/1480 3893/2942/1479 3909/2944/1481 +f 1461/2945/1482 1460/2943/1480 3909/2944/1481 +f 1461/2945/1482 3909/2944/1481 3911/2946/1483 +f 1462/2947/1484 1461/2945/1482 3911/2946/1483 +f 1462/2947/1484 3911/2946/1483 3902/2948/1485 +f 1451/2924/1462 1462/2947/1484 3902/2948/1485 +f 1451/2924/1462 3902/2948/1485 3886/2925/1463 +f 1463/2949/1486 1464/2950/1487 4019/2951/1488 +f 1463/2949/1486 4019/2951/1488 4010/2952/1489 +f 1465/2953/1490 1463/2949/1486 4010/2952/1489 +f 1465/2953/1490 4010/2952/1489 3997/2954/1491 +f 1466/2955/1492 1465/2953/1490 3997/2954/1491 +f 1466/2955/1492 3997/2954/1491 3982/2956/1493 +f 1467/2957/1494 1466/2955/1492 3982/2956/1493 +f 1467/2957/1494 3982/2956/1493 3971/2958/1495 +f 1468/2959/1496 1467/2957/1494 3971/2958/1495 +f 1468/2959/1496 3971/2958/1495 3962/2960/1497 +f 1469/2961/1498 1468/2959/1496 3962/2960/1497 +f 1469/2961/1498 3962/2960/1497 3967/2962/1499 +f 1470/2963/1500 1469/2961/1498 3967/2962/1499 +f 1470/2963/1500 3967/2962/1499 3978/2964/1501 +f 1471/2965/1502 1470/2963/1500 3978/2964/1501 +f 1471/2965/1502 3978/2964/1501 3990/2966/1503 +f 1472/2967/1504 1473/2968/1502 3991/2969/1503 +f 1472/2967/1504 3991/2969/1503 4003/2970/1505 +f 1474/2971/1506 1472/2967/1504 4003/2970/1505 +f 1474/2971/1506 4003/2970/1505 4015/2972/1507 +f 1475/2973/1508 1474/2971/1506 4015/2972/1507 +f 1475/2973/1508 4015/2972/1507 4021/2974/1509 +f 1464/2950/1487 1475/2973/1508 4021/2974/1509 +f 1464/2950/1487 4021/2974/1509 4019/2951/1488 +f 4045/2975/1510 4032/2976/1511 1476/2977/1512 +f 4045/2975/1510 1476/2977/1512 1477/2978/1513 +f 4031/2979/1511 4014/2980/1514 1478/2981/1515 +f 4031/2979/1511 1478/2981/1515 1479/2982/1512 +f 4014/2980/1514 4005/2983/1516 1480/2984/1517 +f 4014/2980/1514 1480/2984/1517 1478/2981/1515 +f 4005/2983/1516 4004/2985/1518 1481/2986/1519 +f 4005/2983/1516 1481/2986/1519 1480/2984/1517 +f 4004/2985/1518 4008/2987/1520 1482/2988/1521 +f 4004/2985/1518 1482/2988/1521 1481/2986/1519 +f 4008/2987/1520 4020/2989/1522 1483/2990/1523 +f 4008/2987/1520 1483/2990/1523 1482/2988/1521 +f 4020/2989/1522 4040/2991/1524 1484/2992/1525 +f 4020/2989/1522 1484/2992/1525 1483/2990/1523 +f 4040/2991/1524 4051/2993/1526 1485/2994/1527 +f 4040/2991/1524 1485/2994/1527 1484/2992/1525 +f 4051/2993/1526 4053/2995/1528 1486/2996/1529 +f 4051/2993/1526 1486/2996/1529 1485/2994/1527 +f 4053/2995/1528 4054/2997/1530 1487/2998/1531 +f 4053/2995/1528 1487/2998/1531 1486/2996/1529 +f 4054/2997/1530 4052/2999/1532 1488/3000/1533 +f 4054/2997/1530 1488/3000/1533 1487/2998/1531 +f 4052/2999/1532 4045/2975/1510 1477/2978/1513 +f 4052/2999/1532 1477/2978/1513 1488/3000/1533 +f 1492/520/82 1496/524/82 1489/517/82 +f 1497/525/82 1498/3001/82 1496/524/82 +f 1501/528/84 1503/530/84 1504/3002/84 +f 4267/3003/1534 1509/3004/1534 1510/3005/1534 +f 4267/3003/1534 1510/3005/1534 4229/3006/1534 +f 4595/557/91 4629/3007/91 1525/558/91 +f 4560/3008/90 1541/3009/90 1542/3010/90 +f 4560/3008/90 1542/3010/90 4561/3011/90 +f 1555/3012/92 1556/3013/92 4641/3014/92 +f 1555/3012/92 4641/3014/92 4663/3015/92 +f 4658/624/100 1575/626/100 1576/3016/100 +f 1581/635/94 1583/637/94 1584/3017/94 +f 1593/3018/90 1594/3019/90 4627/3020/90 +f 1593/3018/90 4627/3020/90 4554/3021/90 +f 1597/3022/1535 1598/3023/1536 3614/3024/1536 +f 1597/3022/1535 3614/3024/1536 3598/3025/1537 +f 3987/3026/1538 3983/3027/1539 1599/3028/1539 +f 3987/3026/1538 1599/3028/1539 1600/3029/1540 +f 1601/3030/1541 1602/3031/1542 3650/3032/1543 +f 1601/3030/1541 3650/3032/1543 3615/3033/1541 +f 1603/3034/1544 1604/3035/1545 3604/3036/1545 +f 1603/3034/1544 3604/3036/1545 3635/3037/1546 +f 1605/3038/1547 1606/3039/1548 3938/3040/1549 +f 1605/3038/1547 3938/3040/1549 3974/3041/1547 +f 3950/3042/1550 1607/3043/1551 1608/3044/1552 +f 3950/3042/1550 1608/3044/1552 3984/3045/1552 +f 1609/3046/1553 1597/3022/1535 3598/3025/1537 +f 1609/3046/1553 3598/3025/1537 3605/3047/1553 +f 3975/3048/1554 3987/3026/1538 1600/3029/1540 +f 3975/3048/1554 1600/3029/1540 1610/3049/1554 +f 138/1610/325 136/1608/323 1611/3050/1555 +f 138/1610/325 1611/3050/1555 1612/3051/2 +f 1613/3052/1556 1603/3034/1544 3635/3037/1546 +f 1613/3052/1556 3635/3037/1546 3766/3053/1557 +f 3650/3032/1543 1602/3031/1542 1614/3054/1558 +f 3650/3032/1543 1614/3054/1558 3776/3055/1559 +f 139/1611/326 1612/3051/2 1611/3050/1555 +f 139/1611/326 1611/3050/1555 140/1612/327 +f 3776/3055/1559 1614/3054/1558 1607/3043/1551 +f 3776/3055/1559 1607/3043/1551 3950/3042/1550 +f 3938/3040/1549 1606/3039/1548 1613/3052/1556 +f 3938/3040/1549 1613/3052/1556 3766/3053/1557 +f 1615/3056/1560 1616/3057/1561 3606/3058/1562 +f 1615/3056/1560 3606/3058/1562 3610/3059/1560 +f 3965/3060/1563 3986/3061/1564 1617/3062/1565 +f 3965/3060/1563 1617/3062/1565 1618/3063/1563 +f 1619/3064/1566 1620/3065/1567 3639/3066/1568 +f 1619/3064/1566 3639/3066/1568 3616/3067/1566 +f 1621/3068/1569 1622/3069/1545 3611/3070/1545 +f 1621/3068/1569 3611/3070/1545 3630/3071/1570 +f 3986/3061/1564 3988/3072/1571 1623/3073/1571 +f 3986/3061/1564 1623/3073/1571 1617/3062/1565 +f 3606/3058/1562 1616/3057/1561 1624/3074/1572 +f 3606/3058/1562 1624/3074/1572 3617/3075/1572 +f 1625/3076/1573 1626/3077/1574 147/1619/334 +f 1625/3076/1573 147/1619/334 148/1620/335 +f 1627/3078/1575 1621/3068/1569 3630/3071/1570 +f 1627/3078/1575 3630/3071/1570 3743/3079/1576 +f 3639/3066/1568 1620/3065/1567 1628/3080/1577 +f 3639/3066/1568 1628/3080/1577 3756/3081/1578 +f 1629/3082/1579 1630/3083/1580 3901/3084/1581 +f 1629/3082/1579 3901/3084/1581 3966/3085/1579 +f 3933/3086/1582 1631/3087/1583 1632/3088/1584 +f 3933/3086/1582 1632/3088/1584 3989/3089/1584 +f 1630/3083/1580 1627/3078/1575 3743/3079/1576 +f 1630/3083/1580 3743/3079/1576 3901/3084/1581 +f 3756/3081/1578 1628/3080/1577 1631/3087/1583 +f 3756/3081/1578 1631/3087/1583 3933/3086/1582 +f 153/1625/340 150/1622/337 1626/3077/1574 +f 153/1625/340 1626/3077/1574 1625/3076/1573 +f 3948/3090/1585 3955/3091/1586 1635/3092/1586 +f 3948/3090/1585 1635/3092/1586 1636/3093/1587 +f 1637/3094/1588 1638/3095/1589 3619/3096/1590 +f 1637/3094/1588 3619/3096/1590 3608/3097/1588 +f 1639/3098/1591 1640/3099/1592 3609/3100/1593 +f 1639/3098/1591 3609/3100/1593 3622/3101/1594 +f 1641/3102/1595 1642/3103/1596 3884/3104/1597 +f 1641/3102/1595 3884/3104/1597 3917/3105/1595 +f 3919/3106/1598 1643/3107/1599 1644/3108/1600 +f 3919/3106/1598 1644/3108/1600 3956/3109/1600 +f 1645/3110/1592 3595/3111/1601 3597/3112/1601 +f 1645/3110/1592 3597/3112/1601 3609/3100/1593 +f 3918/3113/1602 3948/3090/1585 1636/3093/1587 +f 3918/3113/1602 1636/3093/1587 1646/3114/1602 +f 1647/3115/1603 1639/3098/1591 3622/3101/1594 +f 1647/3115/1603 3622/3101/1594 1648/3116/1604 +f 3619/3096/1590 1638/3095/1589 1649/3117/1605 +f 3619/3096/1590 1649/3117/1605 1650/3118/1606 +f 158/1630/345 156/1628/343 3751/3119/1607 +f 158/1630/345 3751/3119/1607 3757/3120/2 +f 159/1631/346 3757/3120/2 3751/3119/1607 +f 159/1631/346 3751/3119/1607 160/1632/347 +f 1650/3118/1606 1649/3117/1605 1643/3107/1599 +f 1650/3118/1606 1643/3107/1599 3919/3106/1598 +f 3884/3104/1597 1642/3103/1596 1647/3115/1603 +f 3884/3104/1597 1647/3115/1603 1648/3116/1604 +f 166/1638/353 165/1637/352 1651/3121/1608 +f 166/1638/353 1651/3121/1608 1652/3122/1609 +f 165/1637/352 168/1640/355 1653/3123/1610 +f 165/1637/352 1653/3123/1610 1651/3121/1608 +f 168/1640/355 169/1641/356 1654/3124/1611 +f 168/1640/355 1654/3124/1611 1653/3123/1610 +f 169/1641/356 170/1642/357 1655/3125/1612 +f 169/1641/356 1655/3125/1612 1654/3124/1611 +f 170/1642/357 171/1643/358 1656/3126/1613 +f 170/1642/357 1656/3126/1613 1655/3125/1612 +f 171/1643/358 166/1638/353 1652/3122/1609 +f 171/1643/358 1652/3122/1609 3828/3127/1614 +f 1652/3122/1609 1651/3121/1608 1657/3128/1615 +f 1652/3122/1609 1657/3128/1615 1658/3129/1616 +f 1651/3121/1608 1653/3123/1610 1659/3130/1617 +f 1651/3121/1608 1659/3130/1617 3835/3131/1618 +f 1653/3123/1610 1654/3124/1611 1660/3132/1619 +f 1653/3123/1610 1660/3132/1619 3822/3133/1620 +f 1654/3124/1611 1655/3125/1612 1661/3134/1621 +f 1654/3124/1611 1661/3134/1621 3809/3135/1622 +f 1655/3125/1612 1656/3126/1613 1662/3136/1623 +f 1655/3125/1612 1662/3136/1623 3811/3137/1624 +f 3828/3127/1614 1652/3122/1609 3838/3138/1625 +f 3828/3127/1614 3838/3138/1625 3829/3139/1626 +f 1658/3129/1616 1657/3128/1615 1663/3140/1627 +f 1658/3129/1616 1663/3140/1627 1664/3141/1628 +f 3835/3131/1618 1659/3130/1617 1665/3142/1629 +f 3835/3131/1618 1665/3142/1629 1663/3140/1627 +f 3822/3133/1620 1660/3132/1619 1666/3143/1630 +f 3822/3133/1620 1666/3143/1630 3823/3144/1631 +f 3809/3135/1622 1661/3134/1621 1667/3145/1632 +f 3809/3135/1622 1667/3145/1632 1666/3143/1630 +f 3811/3137/1624 1662/3136/1623 1668/3146/1633 +f 3811/3137/1624 1668/3146/1633 1667/3145/1632 +f 3829/3139/1626 3838/3138/1625 1664/3141/1628 +f 3829/3139/1626 1664/3141/1628 1668/3146/1633 +f 1664/3141/1628 1663/3140/1627 173/1645/360 +f 1664/3141/1628 173/1645/360 172/1644/359 +f 1663/3140/1627 1665/3142/1629 175/1647/362 +f 1663/3140/1627 175/1647/362 173/1645/360 +f 3823/3144/1631 1666/3143/1630 176/1648/363 +f 3823/3144/1631 176/1648/363 175/1647/362 +f 1666/3143/1630 1667/3145/1632 177/1649/364 +f 1666/3143/1630 177/1649/364 176/1648/363 +f 1667/3145/1632 1668/3146/1633 178/1650/365 +f 1667/3145/1632 178/1650/365 177/1649/364 +f 1668/3146/1633 1664/3141/1628 172/1644/359 +f 1668/3146/1633 172/1644/359 178/1650/365 +f 180/1652/367 179/1651/366 1669/3147/1634 +f 180/1652/367 1669/3147/1634 1670/3148/1635 +f 179/1651/366 182/1654/369 1671/3149/1636 +f 179/1651/366 1671/3149/1636 1669/3147/1634 +f 182/1654/369 183/1655/370 1672/3150/1637 +f 182/1654/369 1672/3150/1637 1671/3149/1636 +f 183/1655/370 184/1656/371 1673/3151/1638 +f 183/1655/370 1673/3151/1638 1672/3150/1637 +f 184/1656/371 185/1657/372 1674/3152/1639 +f 184/1656/371 1674/3152/1639 1673/3151/1638 +f 185/1657/372 180/1652/367 1670/3148/1635 +f 185/1657/372 1670/3148/1635 3790/3153/1640 +f 1670/3148/1635 1669/3147/1634 1675/3154/1641 +f 1670/3148/1635 1675/3154/1641 1676/3155/1642 +f 1669/3147/1634 1671/3149/1636 1677/3156/1643 +f 1669/3147/1634 1677/3156/1643 3802/3157/1644 +f 1671/3149/1636 1672/3150/1637 1678/3158/1645 +f 1671/3149/1636 1678/3158/1645 3800/3159/1646 +f 1672/3150/1637 1673/3151/1638 1679/3160/1647 +f 1672/3150/1637 1679/3160/1647 3789/3161/1648 +f 1673/3151/1638 1674/3152/1639 1680/3162/1649 +f 1673/3151/1638 1680/3162/1649 3780/3163/1650 +f 3790/3153/1640 1670/3148/1635 3797/3164/1651 +f 3790/3153/1640 3797/3164/1651 3786/3165/1652 +f 1676/3155/1642 1675/3154/1641 1681/3166/1653 +f 1676/3155/1642 1681/3166/1653 1682/3167/1654 +f 3802/3157/1644 1677/3156/1643 1683/3168/1655 +f 3802/3157/1644 1683/3168/1655 1681/3166/1653 +f 3800/3159/1646 1678/3158/1645 1684/3169/1656 +f 3800/3159/1646 1684/3169/1656 3796/3170/1657 +f 3789/3161/1648 1679/3160/1647 1685/3171/1658 +f 3789/3161/1648 1685/3171/1658 1684/3169/1656 +f 3780/3163/1650 1680/3162/1649 1686/3172/1659 +f 3780/3163/1650 1686/3172/1659 1685/3171/1658 +f 3786/3165/1652 3797/3164/1651 1682/3167/1654 +f 3786/3165/1652 1682/3167/1654 1686/3172/1659 +f 1682/3167/1654 1681/3166/1653 187/1659/374 +f 1682/3167/1654 187/1659/374 186/1658/373 +f 1681/3166/1653 1683/3168/1655 189/1661/376 +f 1681/3166/1653 189/1661/376 187/1659/374 +f 3796/3170/1657 1684/3169/1656 190/1662/377 +f 3796/3170/1657 190/1662/377 189/1661/376 +f 1684/3169/1656 1685/3171/1658 191/1663/378 +f 1684/3169/1656 191/1663/378 190/1662/377 +f 1685/3171/1658 1686/3172/1659 192/1664/379 +f 1685/3171/1658 192/1664/379 191/1663/378 +f 1686/3172/1659 1682/3167/1654 186/1658/373 +f 1686/3172/1659 186/1658/373 192/1664/379 +f 1687/3173/1660 1688/3174/1661 1689/3175/1662 +f 1687/3173/1660 1689/3175/1662 1690/3176/1663 +f 1688/3174/1661 1691/3177/1664 1692/3178/1665 +f 1688/3174/1661 1692/3178/1665 1689/3175/1662 +f 1691/3177/1664 1693/3179/1666 1694/3180/1667 +f 1691/3177/1664 1694/3180/1667 1692/3178/1665 +f 1693/3179/1666 1695/3181/1668 1696/3182/1669 +f 1693/3179/1666 1696/3182/1669 1694/3180/1667 +f 1695/3181/1668 1697/3183/1670 1698/3184/1671 +f 1695/3181/1668 1698/3184/1671 1696/3182/1669 +f 1697/3183/1670 1699/3185/1672 1700/3186/1673 +f 1697/3183/1670 1700/3186/1673 1698/3184/1671 +f 1699/3185/1672 1701/3187/1674 1702/3188/1675 +f 1699/3185/1672 1702/3188/1675 1700/3186/1673 +f 1701/3187/1674 1703/3189/1676 1704/3190/1677 +f 1701/3187/1674 1704/3190/1677 1702/3188/1675 +f 1703/3189/1676 1705/3191/1678 1706/3192/1679 +f 1703/3189/1676 1706/3192/1679 1704/3190/1677 +f 1705/3191/1678 1687/3173/1660 1690/3176/1663 +f 1705/3191/1678 1690/3176/1663 1706/3192/1679 +f 3742/658/103 3758/664/103 3846/659/103 +f 3858/660/103 3848/663/103 3759/661/103 +f 3788/662/103 3848/663/103 3824/3193/103 +f 1707/3194/1680 1708/3195/1681 1709/3196/1682 +f 1707/3194/1680 1709/3196/1682 1710/3197/1683 +f 1708/3195/1681 1711/3198/1684 1712/3199/1685 +f 1708/3195/1681 1712/3199/1685 1709/3196/1682 +f 1711/3198/1684 1713/3200/1686 1714/3201/1687 +f 1711/3198/1684 1714/3201/1687 1712/3199/1685 +f 1713/3200/1686 1715/3202/1688 1716/3203/1689 +f 1713/3200/1686 1716/3203/1689 1714/3201/1687 +f 1715/3202/1688 1717/3204/1690 1718/3205/1691 +f 1715/3202/1688 1718/3205/1691 1716/3203/1689 +f 1717/3204/1690 1719/3206/1692 1720/3207/1693 +f 1717/3204/1690 1720/3207/1693 1718/3205/1691 +f 1721/3208/1694 1722/3209/1695 1723/3210/1696 +f 1721/3208/1694 1723/3210/1696 1724/3211/1693 +f 1722/3209/1695 1707/3194/1680 1710/3197/1683 +f 1722/3209/1695 1710/3197/1683 1723/3210/1696 +f 1743/3212/1697 1744/3213/1698 1745/3214/1699 +f 1744/3213/1698 193/1665/380 195/1667/382 +f 1744/3213/1698 195/1667/382 1745/3214/1699 +f 194/1666/381 196/1668/383 198/1670/385 +f 194/1666/381 198/1670/385 195/1667/382 +f 197/1669/384 1746/3215/1700 1747/3216/1701 +f 197/1669/384 1747/3216/1701 198/1670/385 +f 200/1672/387 1743/3212/1697 1745/3214/1699 +f 200/1672/387 1745/3214/1699 201/1673/388 +f 1718/3205/1691 1720/3207/1693 3700/3217/1702 +f 1718/3205/1691 3700/3217/1702 3687/3218/1703 +f 1716/3203/1689 1718/3205/1691 3687/3218/1703 +f 1716/3203/1689 3687/3218/1703 3689/3219/1704 +f 1714/3201/1687 1716/3203/1689 3689/3219/1704 +f 1714/3201/1687 3689/3219/1704 3709/3220/1705 +f 1712/3199/1685 1714/3201/1687 3709/3220/1705 +f 1712/3199/1685 3709/3220/1705 3727/3221/1706 +f 1709/3196/1682 1712/3199/1685 3727/3221/1706 +f 1709/3196/1682 3727/3221/1706 3732/3222/1707 +f 1710/3197/1683 1709/3196/1682 3732/3222/1707 +f 1710/3197/1683 3732/3222/1707 3731/3223/1708 +f 1723/3210/1696 1710/3197/1683 3731/3223/1708 +f 1723/3210/1696 3731/3223/1708 3724/3224/1709 +f 1724/3211/1693 1723/3210/1696 3724/3224/1709 +f 1724/3211/1693 3724/3224/1709 3701/3225/1710 +f 1748/3226/1711 1749/3227/1712 1750/3228/1713 +f 1748/3226/1711 1750/3228/1713 1751/3229/1711 +f 3833/3230/1714 3840/3231/1715 1752/3232/1716 +f 3833/3230/1714 1752/3232/1716 1753/3233/1717 +f 3889/3234/1718 3882/3235/1719 1754/3236/1720 +f 3889/3234/1718 1754/3236/1720 1755/3237/1718 +f 1756/3238/1721 1757/3239/1722 1758/3240/1721 +f 1756/3238/1721 1758/3240/1721 1759/3241/1721 +f 1762/3242/1723 3951/3243/1724 1763/3244/1724 +f 1762/3242/1723 1763/3244/1724 1764/3245/1725 +f 1765/3246/1726 1766/3247/1727 1767/3248/1728 +f 1765/3246/1726 1767/3248/1728 3874/3249/1728 +f 3914/3250/1729 3857/3251/1730 3875/3252/1731 +f 3914/3250/1729 3875/3252/1731 3952/3253/1732 +f 3882/3235/1719 1768/3254/1733 1769/3255/1734 +f 3882/3235/1719 1769/3255/1734 1754/3236/1720 +f 1750/3228/1713 1749/3227/1712 1770/3256/1735 +f 1750/3228/1713 1770/3256/1735 1771/3257/1736 +f 1752/3232/1716 3840/3231/1715 3849/3258/1737 +f 1752/3232/1716 3849/3258/1737 3895/3259/1738 +f 1768/3254/1733 1762/3242/1723 1764/3245/1725 +f 1768/3254/1733 1764/3245/1725 1769/3255/1734 +f 1771/3257/1736 1770/3256/1735 1766/3247/1727 +f 1771/3257/1736 1766/3247/1727 1765/3246/1726 +f 3895/3259/1738 3849/3258/1737 3857/3251/1730 +f 3895/3259/1738 3857/3251/1730 3914/3250/1729 +f 1812/3260/1739 1813/3261/1740 1814/3262/1741 +f 1812/3260/1739 1814/3262/1741 1815/3263/1742 +f 1813/3261/1740 1816/3264/1743 1817/3265/1744 +f 1813/3261/1740 1817/3265/1744 1814/3262/1741 +f 1816/3264/1743 1818/3266/1745 1819/3267/1746 +f 1816/3264/1743 1819/3267/1746 1817/3265/1744 +f 1818/3266/1745 1820/3268/1747 1821/3269/1748 +f 1818/3266/1745 1821/3269/1748 1819/3267/1746 +f 1820/3268/1747 1822/3270/1749 1823/3271/1750 +f 1820/3268/1747 1823/3271/1750 1821/3269/1748 +f 1822/3270/1749 1824/3272/1751 1825/3273/1752 +f 1822/3270/1749 1825/3273/1752 1823/3271/1750 +f 1824/3272/1751 1826/3274/1753 1827/3275/1754 +f 1824/3272/1751 1827/3275/1754 1825/3273/1752 +f 1826/3274/1753 1828/3276/1755 1829/3277/1756 +f 1826/3274/1753 1829/3277/1756 1827/3275/1754 +f 1828/3276/1755 1830/3278/1757 1831/3279/1758 +f 1828/3276/1755 1831/3279/1758 1829/3277/1756 +f 1830/3278/1757 1812/3260/1739 1815/3263/1742 +f 1830/3278/1757 1815/3263/1742 1831/3279/1758 +f 3998/775/124 4016/3280/124 3981/776/124 +f 3843/782/126 1847/784/126 3859/3281/126 +f 3963/797/130 1857/799/130 3947/3282/130 +f 1868/816/135 1869/3283/135 1870/817/135 +f 3680/835/132 3697/837/132 3686/3284/132 +f 1882/3285/1739 1883/3286/1740 1884/3287/1741 +f 1882/3285/1739 1884/3287/1741 1885/3288/1759 +f 1883/3286/1740 1886/3289/1743 1887/3290/1744 +f 1883/3286/1740 1887/3290/1744 1884/3287/1741 +f 1886/3289/1743 1888/3291/1745 1889/3292/1746 +f 1886/3289/1743 1889/3292/1746 1887/3290/1744 +f 1888/3291/1745 1890/3293/1747 1891/3294/1748 +f 1888/3291/1745 1891/3294/1748 1889/3292/1746 +f 1890/3293/1747 1892/3295/1749 1893/3296/1750 +f 1890/3293/1747 1893/3296/1750 1891/3294/1748 +f 1892/3295/1749 1894/3297/1751 1895/3298/1752 +f 1892/3295/1749 1895/3298/1752 1893/3296/1750 +f 1894/3297/1751 1896/3299/1753 1897/3300/1754 +f 1894/3297/1751 1897/3300/1754 1895/3298/1752 +f 1896/3299/1753 1898/3301/1755 1899/3302/1756 +f 1896/3299/1753 1899/3302/1756 1897/3300/1754 +f 1898/3301/1755 1900/3303/1757 1901/3304/1758 +f 1898/3301/1755 1901/3304/1758 1899/3302/1756 +f 1900/3303/1757 1882/3285/1739 1885/3288/1759 +f 1900/3303/1757 1885/3288/1759 1901/3304/1758 +f 1908/856/127 1909/3305/127 1910/857/127 +f 3725/867/122 1916/3306/122 1917/868/122 +f 1932/3307/1760 1933/3308/1761 1934/3309/1762 +f 1932/3307/1760 1934/3309/1762 1935/3310/1760 +f 3637/3311/1763 3631/3312/1764 1936/3313/1765 +f 3637/3311/1763 1936/3313/1765 1937/3314/1766 +f 3703/3315/1767 3676/3316/1768 1938/3317/1769 +f 3703/3315/1767 1938/3317/1769 1939/3318/1767 +f 1946/3319/1770 3716/3320/1723 1947/3321/1723 +f 1946/3319/1770 1947/3321/1723 1948/3322/1771 +f 1949/3323/1772 1950/3324/1773 1951/3325/1774 +f 1949/3323/1772 1951/3325/1774 3653/3326/1774 +f 3690/3327/1775 3636/3328/1776 3654/3329/1777 +f 3690/3327/1775 3654/3329/1777 3717/3330/1778 +f 3676/3316/1768 1952/3331/1779 1953/3332/1780 +f 3676/3316/1768 1953/3332/1780 1938/3317/1769 +f 1934/3309/1762 1933/3308/1761 1954/3333/1781 +f 1934/3309/1762 1954/3333/1781 1955/3334/1782 +f 1936/3313/1765 3631/3312/1764 3628/3335/1783 +f 1936/3313/1765 3628/3335/1783 3675/3336/1784 +f 1952/3331/1779 1946/3319/1770 1948/3322/1771 +f 1952/3331/1779 1948/3322/1771 1953/3332/1780 +f 1955/3334/1782 1954/3333/1781 1950/3324/1773 +f 1955/3334/1782 1950/3324/1773 1949/3323/1772 +f 3675/3336/1784 3628/3335/1783 3636/3328/1776 +f 3675/3336/1784 3636/3328/1776 3690/3327/1775 +f 1956/3337/1785 1957/3338/1786 1958/3339/1787 +f 1956/3337/1785 1958/3339/1787 1959/3340/1788 +f 1957/3338/1786 1960/3341/1789 1961/3342/1790 +f 1957/3338/1786 1961/3342/1790 1958/3339/1787 +f 1960/3341/1789 1962/3343/1791 1963/3344/1792 +f 1960/3341/1789 1963/3344/1792 1961/3342/1790 +f 1962/3343/1791 1964/3345/1793 1965/3346/1794 +f 1962/3343/1791 1965/3346/1794 1963/3344/1792 +f 1964/3345/1793 1966/3347/1795 1967/3348/1796 +f 1964/3345/1793 1967/3348/1796 1965/3346/1794 +f 1966/3347/1795 1968/3349/1797 1969/3350/1798 +f 1966/3347/1795 1969/3350/1798 1967/3348/1796 +f 1968/3349/1797 1970/3351/1799 1971/3352/1800 +f 1968/3349/1797 1971/3352/1800 1969/3350/1798 +f 1970/3351/1799 1972/3353/1801 1973/3354/1802 +f 1970/3351/1799 1973/3354/1802 1971/3352/1800 +f 1972/3353/1801 1974/3355/1803 1975/3356/1804 +f 1972/3353/1801 1975/3356/1804 1973/3354/1802 +f 1976/3357/1805 1956/3337/1785 1959/3340/1788 +f 1976/3357/1805 1959/3340/1788 1977/3358/1804 +f 1981/905/2 1983/907/2 1978/902/2 +f 1998/3359/1806 1999/3360/1807 2000/3361/1808 +f 1998/3359/1806 2000/3361/1808 2001/3362/1809 +f 1999/3360/1807 2002/3363/1810 2003/3364/1811 +f 1999/3360/1807 2003/3364/1811 2000/3361/1808 +f 2002/3363/1810 2004/3365/1812 2005/3366/1813 +f 2002/3363/1810 2005/3366/1813 2003/3364/1811 +f 2004/3365/1812 2006/3367/1814 2007/3368/1815 +f 2004/3365/1812 2007/3368/1815 2005/3366/1813 +f 2006/3367/1814 2008/3369/1816 2009/3370/1817 +f 2006/3367/1814 2009/3370/1817 2007/3368/1815 +f 2008/3369/1816 2010/3371/1818 2011/3372/1819 +f 2008/3369/1816 2011/3372/1819 2009/3370/1817 +f 2010/3371/1818 2012/3373/1820 2013/3374/1821 +f 2010/3371/1818 2013/3374/1821 2011/3372/1819 +f 2012/3373/1820 2014/3375/1822 2015/3376/1823 +f 2012/3373/1820 2015/3376/1823 2013/3374/1821 +f 2014/3375/1822 2016/3377/1824 2017/3378/1825 +f 2014/3375/1822 2017/3378/1825 2015/3376/1823 +f 2016/3377/1824 2018/3379/1806 2019/3380/1809 +f 2016/3377/1824 2019/3380/1809 2017/3378/1825 +f 2020/3381/1826 2021/3382/1827 2022/3383/1828 +f 2020/3381/1826 2022/3383/1828 2023/3384/1829 +f 2021/3382/1827 2024/3385/1830 2025/3386/1831 +f 2021/3382/1827 2025/3386/1831 2022/3383/1828 +f 2024/3385/1830 2026/3387/1832 2027/3388/1833 +f 2024/3385/1830 2027/3388/1833 2025/3386/1831 +f 2026/3387/1832 2028/3389/1834 2029/3390/1835 +f 2026/3387/1832 2029/3390/1835 2027/3388/1833 +f 2028/3389/1834 2030/3391/1836 2031/3392/1837 +f 2028/3389/1834 2031/3392/1837 2029/3390/1835 +f 2030/3391/1836 2032/3393/1838 2033/3394/1839 +f 2030/3391/1836 2033/3394/1839 2031/3392/1837 +f 2032/3393/1838 2034/3395/1840 2035/3396/1841 +f 2032/3393/1838 2035/3396/1841 2033/3394/1839 +f 2034/3395/1840 2036/3397/1842 2037/3398/1843 +f 2034/3395/1840 2037/3398/1843 2035/3396/1841 +f 2036/3397/1842 2038/3399/1844 2039/3400/1845 +f 2036/3397/1842 2039/3400/1845 2037/3398/1843 +f 2038/3399/1844 2020/3381/1826 2023/3384/1829 +f 2038/3399/1844 2023/3384/1829 2039/3400/1845 +f 2021/3382/1827 2020/3381/1826 2040/3401/1846 +f 2021/3382/1827 2040/3401/1846 2041/3402/1847 +f 2024/3385/1830 2021/3382/1827 2041/3402/1847 +f 2024/3385/1830 2041/3402/1847 2042/3403/1848 +f 2026/3387/1832 2024/3385/1830 2042/3403/1848 +f 2026/3387/1832 2042/3403/1848 2043/3404/1849 +f 2028/3389/1834 2026/3387/1832 2043/3404/1849 +f 2028/3389/1834 2043/3404/1849 2044/3405/1850 +f 2030/3391/1836 2028/3389/1834 2044/3405/1850 +f 2030/3391/1836 2044/3405/1850 2045/3406/1851 +f 2032/3393/1838 2030/3391/1836 2045/3406/1851 +f 2032/3393/1838 2045/3406/1851 2046/3407/1852 +f 2034/3395/1840 2032/3393/1838 2046/3407/1852 +f 2034/3395/1840 2046/3407/1852 2047/3408/1853 +f 2036/3397/1842 2034/3395/1840 2047/3408/1853 +f 2036/3397/1842 2047/3408/1853 2048/3409/1854 +f 2038/3399/1844 2036/3397/1842 2048/3409/1854 +f 2038/3399/1844 2048/3409/1854 2049/3410/1855 +f 2020/3381/1826 2038/3399/1844 2049/3410/1855 +f 2020/3381/1826 2049/3410/1855 2040/3401/1846 +f 2041/3402/1847 2040/3401/1846 2050/3411/1856 +f 2041/3402/1847 2050/3411/1856 2051/3412/1857 +f 2042/3403/1848 2041/3402/1847 2051/3412/1857 +f 2042/3403/1848 2051/3412/1857 2052/3413/1858 +f 2043/3404/1849 2042/3403/1848 2052/3413/1858 +f 2043/3404/1849 2052/3413/1858 2053/3414/1859 +f 2044/3405/1850 2043/3404/1849 2053/3414/1859 +f 2044/3405/1850 2053/3414/1859 2054/3415/1860 +f 2045/3406/1851 2044/3405/1850 2054/3415/1860 +f 2045/3406/1851 2054/3415/1860 2055/3416/1861 +f 2046/3407/1852 2045/3406/1851 2055/3416/1861 +f 2046/3407/1852 2055/3416/1861 2056/3417/1862 +f 2047/3408/1853 2046/3407/1852 2056/3417/1862 +f 2047/3408/1853 2056/3417/1862 2057/3418/1863 +f 2048/3409/1854 2047/3408/1853 2057/3418/1863 +f 2048/3409/1854 2057/3418/1863 2058/3419/1864 +f 2049/3410/1855 2048/3409/1854 2058/3419/1864 +f 2049/3410/1855 2058/3419/1864 2059/3420/1865 +f 2040/3401/1846 2049/3410/1855 2059/3420/1865 +f 2040/3401/1846 2059/3420/1865 2050/3411/1856 +f 2060/922/141 2061/3421/141 2062/923/141 +f 4642/3422/1866 2064/3423/1867 2065/3424/1866 +f 4642/3422/1866 2065/3424/1866 4646/3425/1868 +f 4644/3426/1869 2066/3427/1870 2067/3428/1871 +f 4644/3426/1869 2067/3428/1871 4655/3429/1872 +f 4640/3430/1873 2070/3431/1874 2071/3432/1875 +f 4640/3430/1873 2071/3432/1875 4645/3433/1876 +f 4639/3434/1877 2072/3435/1878 2073/3436/1877 +f 4639/3434/1877 2073/3436/1877 4638/3437/1879 +f 2080/935/1880 2082/937/1880 2083/938/1880 +f 2086/3438/1881 2087/3439/1882 2088/3440/1883 +f 2086/3438/1881 2088/3440/1883 2089/3441/1884 +f 2087/3439/1882 2090/3442/1885 2091/3443/1886 +f 2087/3439/1882 2091/3443/1886 2088/3440/1883 +f 2090/3442/1885 2092/3444/1887 2093/3445/1888 +f 2090/3442/1885 2093/3445/1888 2091/3443/1886 +f 2092/3444/1887 2094/3446/1889 2095/3447/1890 +f 2092/3444/1887 2095/3447/1890 2093/3445/1888 +f 2094/3446/1889 2096/3448/1891 2097/3449/1892 +f 2094/3446/1889 2097/3449/1892 2095/3447/1890 +f 2096/3448/1891 2098/3450/1893 2099/3451/1894 +f 2096/3448/1891 2099/3451/1894 2097/3449/1892 +f 2098/3450/1893 2100/3452/1895 2101/3453/1896 +f 2098/3450/1893 2101/3453/1896 2099/3451/1894 +f 2100/3452/1895 2102/3454/1897 2103/3455/1898 +f 2100/3452/1895 2103/3455/1898 2101/3453/1896 +f 2102/3454/1897 2104/3456/1899 2105/3457/1900 +f 2102/3454/1897 2105/3457/1900 2103/3455/1898 +f 2106/3458/1899 2086/3438/1881 2089/3441/1884 +f 2106/3458/1899 2089/3441/1884 2107/3459/1900 +f 2118/951/4 2119/957/4 2120/952/4 +f 2124/956/4 2123/955/4 2125/3460/4 +f 2128/3461/1901 2129/3462/1902 2130/3463/1903 +f 2128/3461/1901 2130/3463/1903 2131/3464/1904 +f 2129/3462/1902 2132/3465/1905 2133/3466/1906 +f 2129/3462/1902 2133/3466/1906 2130/3463/1903 +f 2132/3465/1905 2134/3467/1907 2135/3468/1908 +f 2132/3465/1905 2135/3468/1908 2133/3466/1906 +f 2134/3467/1907 2136/3469/1909 2137/3470/1910 +f 2134/3467/1907 2137/3470/1910 2135/3468/1908 +f 2136/3469/1909 2138/3471/1911 2139/3472/1912 +f 2136/3469/1909 2139/3472/1912 2137/3470/1910 +f 2138/3471/1911 2140/3473/1913 2141/3474/1914 +f 2138/3471/1911 2141/3474/1914 2139/3472/1912 +f 2140/3473/1913 2142/3475/1915 2143/3476/1916 +f 2140/3473/1913 2143/3476/1916 2141/3474/1914 +f 2142/3475/1915 2144/3477/1917 2145/3478/1918 +f 2142/3475/1915 2145/3478/1918 2143/3476/1916 +f 2144/3477/1917 2146/3479/1919 2147/3480/1920 +f 2144/3477/1917 2147/3480/1920 2145/3478/1918 +f 2146/3479/1919 2148/3481/1901 2149/3482/1904 +f 2146/3479/1919 2149/3482/1904 2147/3480/1920 +f 2150/3483/1921 2151/3484/1922 2152/3485/1923 +f 2150/3483/1921 2152/3485/1923 2153/3486/1924 +f 2151/3484/1922 2154/3487/1925 2155/3488/1926 +f 2151/3484/1922 2155/3488/1926 2152/3485/1923 +f 2154/3487/1925 2156/3489/1927 2157/3490/1928 +f 2154/3487/1925 2157/3490/1928 2155/3488/1926 +f 2156/3489/1927 2158/3491/1929 2159/3492/1930 +f 2156/3489/1927 2159/3492/1930 2157/3490/1928 +f 2158/3491/1929 2160/3493/1931 2161/3494/1932 +f 2158/3491/1929 2161/3494/1932 2159/3492/1930 +f 2160/3493/1931 2162/3495/1933 2163/3496/1934 +f 2160/3493/1931 2163/3496/1934 2161/3494/1932 +f 2162/3495/1933 2164/3497/1935 2165/3498/1936 +f 2162/3495/1933 2165/3498/1936 2163/3496/1934 +f 2164/3497/1935 2166/3499/1937 2167/3500/1938 +f 2164/3497/1935 2167/3500/1938 2165/3498/1936 +f 2166/3499/1937 2168/3501/1939 2169/3502/1940 +f 2166/3499/1937 2169/3502/1940 2167/3500/1938 +f 2168/3501/1939 2150/3483/1921 2153/3486/1924 +f 2168/3501/1939 2153/3486/1924 2169/3502/1940 +f 2151/3484/1922 2150/3483/1921 2170/3503/1941 +f 2151/3484/1922 2170/3503/1941 2171/3504/1942 +f 2154/3487/1925 2151/3484/1922 2171/3504/1942 +f 2154/3487/1925 2171/3504/1942 2172/3505/1943 +f 2156/3489/1927 2154/3487/1925 2172/3505/1943 +f 2156/3489/1927 2172/3505/1943 2173/3506/1944 +f 2158/3491/1929 2156/3489/1927 2173/3506/1944 +f 2158/3491/1929 2173/3506/1944 2174/3507/1945 +f 2160/3493/1931 2158/3491/1929 2174/3507/1945 +f 2160/3493/1931 2174/3507/1945 2175/3508/1946 +f 2162/3495/1933 2160/3493/1931 2175/3508/1946 +f 2162/3495/1933 2175/3508/1946 2176/3509/1947 +f 2164/3497/1935 2162/3495/1933 2176/3509/1947 +f 2164/3497/1935 2176/3509/1947 2177/3510/1948 +f 2166/3499/1937 2164/3497/1935 2177/3510/1948 +f 2166/3499/1937 2177/3510/1948 2178/3511/1949 +f 2168/3501/1939 2166/3499/1937 2178/3511/1949 +f 2168/3501/1939 2178/3511/1949 2179/3512/1950 +f 2150/3483/1921 2168/3501/1939 2179/3512/1950 +f 2150/3483/1921 2179/3512/1950 2170/3503/1941 +f 2171/3504/1942 2170/3503/1941 2180/3513/1951 +f 2171/3504/1942 2180/3513/1951 2181/3514/1952 +f 2172/3505/1943 2171/3504/1942 2181/3514/1952 +f 2172/3505/1943 2181/3514/1952 2182/3515/1953 +f 2173/3506/1944 2172/3505/1943 2182/3515/1953 +f 2173/3506/1944 2182/3515/1953 2183/3516/1954 +f 2174/3507/1945 2173/3506/1944 2183/3516/1954 +f 2174/3507/1945 2183/3516/1954 2184/3517/1955 +f 2175/3508/1946 2174/3507/1945 2184/3517/1955 +f 2175/3508/1946 2184/3517/1955 2185/3518/1956 +f 2176/3509/1947 2175/3508/1946 2185/3518/1956 +f 2176/3509/1947 2185/3518/1956 2186/3519/1957 +f 2177/3510/1948 2176/3509/1947 2186/3519/1957 +f 2177/3510/1948 2186/3519/1957 2187/3520/1958 +f 2178/3511/1949 2177/3510/1948 2187/3520/1958 +f 2178/3511/1949 2187/3520/1958 2188/3521/1959 +f 2179/3512/1950 2178/3511/1949 2188/3521/1959 +f 2179/3512/1950 2188/3521/1959 2189/3522/1960 +f 2170/3503/1941 2179/3512/1950 2189/3522/1960 +f 2170/3503/1941 2189/3522/1960 2180/3513/1951 +f 3693/3523/1961 2194/3524/1962 2195/3525/1961 +f 3693/3523/1961 2195/3525/1961 3694/3526/1963 +f 3696/3527/1964 2196/3528/1965 2197/3529/1966 +f 3696/3527/1964 2197/3529/1966 3708/3530/1967 +f 3684/3531/1968 2200/3532/1969 2201/3533/1970 +f 3684/3531/1968 2201/3533/1970 3634/3534/1971 +f 3681/3535/1972 2202/3536/1973 2203/3537/1972 +f 3681/3535/1972 2203/3537/1972 3627/3538/1974 +f 2208/972/149 2209/3539/149 2207/971/149 +f 2210/973/150 2211/3540/150 2212/3541/150 +f 2210/973/150 2212/3541/150 2213/974/150 +f 2210/973/150 2214/975/150 2215/3542/150 +f 2216/3543/1975 2217/3544/1976 2218/3545/1976 +f 2216/3543/1975 2218/3545/1976 2219/3546/1977 +f 2220/3547/1978 2221/3548/1979 2222/3549/1980 +f 2220/3547/1978 2222/3549/1980 2223/3550/1981 +f 2221/3548/1979 2224/3551/1982 2225/3552/1983 +f 2221/3548/1979 2225/3552/1983 2222/3549/1980 +f 2224/3551/1982 2226/3553/1984 2227/3554/1985 +f 2224/3551/1982 2227/3554/1985 2225/3552/1983 +f 2226/3553/1984 2228/3555/1986 2229/3556/1987 +f 2226/3553/1984 2229/3556/1987 2227/3554/1985 +f 2228/3555/1986 2216/3543/1975 2219/3546/1977 +f 2228/3555/1986 2219/3546/1977 2229/3556/1987 +f 2230/3557/1988 2231/3558/1989 2232/3559/1990 +f 2230/3557/1988 2232/3559/1990 2233/3560/1991 +f 2234/3561/1992 2230/3557/1988 2233/3560/1991 +f 2234/3561/1992 2233/3560/1991 2235/3562/1993 +f 2236/3563/1994 2234/3561/1992 2235/3562/1993 +f 2236/3563/1994 2235/3562/1993 2237/3564/1995 +f 2238/3565/1996 2236/3563/1994 2237/3564/1995 +f 2238/3565/1996 2237/3564/1995 2239/3566/1997 +f 2240/3567/1998 2241/3568/1999 2242/3569/2000 +f 2240/3567/1998 2242/3569/2000 2243/3570/2001 +f 2231/3558/1989 2240/3567/1998 2243/3570/2001 +f 2231/3558/1989 2243/3570/2001 2232/3559/1990 +f 2244/976/2 3665/978/2 3623/3571/2 +f 2233/3560/1991 2232/3559/1990 2251/3572/2002 +f 2233/3560/1991 2251/3572/2002 2252/3573/2003 +f 2235/3562/1993 2233/3560/1991 2252/3573/2003 +f 2235/3562/1993 2252/3573/2003 2253/3574/2004 +f 2237/3564/1995 2235/3562/1993 2253/3574/2004 +f 2237/3564/1995 2253/3574/2004 2254/3575/2005 +f 2239/3566/1997 2237/3564/1995 2254/3575/2005 +f 2239/3566/1997 2254/3575/2005 2255/3576/2006 +f 2256/3577/2007 2257/3578/2008 2258/3579/2009 +f 2256/3577/2007 2258/3579/2009 2259/3580/2010 +f 2242/3569/2000 2256/3577/2007 2259/3580/2010 +f 2242/3569/2000 2259/3580/2010 2260/3581/2011 +f 2243/3570/2001 2242/3569/2000 2260/3581/2011 +f 2243/3570/2001 2260/3581/2011 2261/3582/2012 +f 2232/3559/1990 2243/3570/2001 2261/3582/2012 +f 2232/3559/1990 2261/3582/2012 2251/3572/2002 +f 2268/3583/2013 2269/3584/2014 2270/3585/2015 +f 2268/3583/2013 2270/3585/2015 2271/3586/2015 +f 2272/3587/2016 2273/3588/2017 2274/3589/2018 +f 2272/3587/2016 2274/3589/2018 2275/3590/2019 +f 2275/3590/2019 2274/3589/2018 2276/3591/2020 +f 2275/3590/2019 2276/3591/2020 2277/3592/2021 +f 2277/3592/2021 2276/3591/2020 2278/3593/2022 +f 2277/3592/2021 2278/3593/2022 2279/3594/2023 +f 2279/3594/2023 2278/3593/2022 2280/3595/2024 +f 2279/3594/2023 2280/3595/2024 2281/3596/2025 +f 2281/3596/2025 2280/3595/2024 2269/3584/2014 +f 2281/3596/2025 2269/3584/2014 2268/3583/2013 +f 2282/3597/2026 2283/3598/2027 2284/3599/2028 +f 2282/3597/2026 2284/3599/2028 2285/3600/2029 +f 2286/3601/2030 2287/3602/2031 2283/3598/2027 +f 2286/3601/2030 2283/3598/2027 2282/3597/2026 +f 2288/3603/2032 2289/3604/2033 2287/3602/2031 +f 2288/3603/2032 2287/3602/2031 2286/3601/2030 +f 2290/3605/2034 2291/3606/2035 2289/3604/2033 +f 2290/3605/2034 2289/3604/2033 2288/3603/2032 +f 2292/3607/2036 2293/3608/2037 2294/3609/2038 +f 2292/3607/2036 2294/3609/2038 2295/3610/2039 +f 2296/3611/2040 2297/3612/2041 2293/3608/2037 +f 2296/3611/2040 2293/3608/2037 2292/3607/2036 +f 2298/3613/2042 2299/3614/2043 2297/3612/2041 +f 2298/3613/2042 2297/3612/2041 2296/3611/2040 +f 2285/3600/2029 2284/3599/2028 2299/3614/2043 +f 2285/3600/2029 2299/3614/2043 2298/3613/2042 +f 2300/995/2 4624/3615/2044 4621/996/2 +f 2302/3616/2045 2303/3617/2046 4624/3615/2044 +f 2302/3616/2045 4624/3615/2044 2300/995/2 +f 2304/3618/2047 2305/3619/2 2303/3617/2046 +f 2304/3618/2047 2303/3617/2046 2302/3616/2045 +f 2306/1001/2 4647/1000/2 4668/3620/2048 +f 2306/1001/2 4668/3620/2048 2307/3621/2 +f 2283/3598/2027 2311/3622/2049 2312/3623/2050 +f 2283/3598/2027 2312/3623/2050 2284/3599/2028 +f 2287/3602/2031 2313/3624/2051 2311/3622/2049 +f 2287/3602/2031 2311/3622/2049 2283/3598/2027 +f 2289/3604/2033 2314/3625/2052 2313/3624/2051 +f 2289/3604/2033 2313/3624/2051 2287/3602/2031 +f 2291/3606/2035 2315/3626/2053 2314/3625/2052 +f 2291/3606/2035 2314/3625/2052 2289/3604/2033 +f 2293/3608/2037 2316/3627/2054 2317/3628/2055 +f 2293/3608/2037 2317/3628/2055 2294/3609/2038 +f 2297/3612/2041 2318/3629/2056 2316/3627/2054 +f 2297/3612/2041 2316/3627/2054 2293/3608/2037 +f 2299/3614/2043 2319/3630/2057 2318/3629/2056 +f 2299/3614/2043 2318/3629/2056 2297/3612/2041 +f 2284/3599/2028 2312/3623/2050 2319/3630/2057 +f 2284/3599/2028 2319/3630/2057 2299/3614/2043 +f 2320/3631/2058 4666/3632/2058 4664/3633/2059 +f 2320/3631/2058 4664/3633/2059 2321/3634/2060 +f 2322/3635/2061 4664/3633/2062 4665/3636/815 +f 2322/3635/2061 4665/3636/815 2323/3637/815 +f 2324/3638/2063 2328/3639/2064 2329/3640/2065 +f 2324/3638/2063 2329/3640/2065 2325/3641/2048 +f 2336/3642/1975 2337/3643/2066 2338/3644/2067 +f 2336/3642/1975 2338/3644/2067 2339/3645/2068 +f 2337/3643/2066 2340/3646/2069 2341/3647/2070 +f 2337/3643/2066 2341/3647/2070 2338/3644/2067 +f 2340/3646/2069 2342/3648/2071 2343/3649/2072 +f 2340/3646/2069 2343/3649/2072 2341/3647/2070 +f 2344/3650/2073 2345/3651/1979 2346/3652/1980 +f 2344/3650/2073 2346/3652/1980 2347/3653/1981 +f 2345/3651/1979 2348/3654/1982 2349/3655/1983 +f 2345/3651/1979 2349/3655/1983 2346/3652/1980 +f 2348/3654/1982 2350/3656/1984 2351/3657/1985 +f 2348/3654/1982 2351/3657/1985 2349/3655/1983 +f 2350/3656/1984 2352/3658/1986 2353/3659/1987 +f 2350/3656/1984 2353/3659/1987 2351/3657/1985 +f 2352/3658/1986 2336/3642/1975 2339/3645/2068 +f 2352/3658/1986 2339/3645/2068 2353/3659/1987 +f 2354/3660/1988 2355/3661/1989 2356/3662/1990 +f 2354/3660/1988 2356/3662/1990 2357/3663/1991 +f 2358/3664/1992 2354/3660/1988 2357/3663/1991 +f 2358/3664/1992 2357/3663/1991 2359/3665/1993 +f 2360/3666/1994 2358/3664/1992 2359/3665/1993 +f 2360/3666/1994 2359/3665/1993 2361/3667/1995 +f 2362/3668/2074 2360/3666/1994 2361/3667/1995 +f 2362/3668/2074 2361/3667/1995 2363/3669/1997 +f 2364/3670/2075 2365/3671/2076 2366/3672/2077 +f 2364/3670/2075 2366/3672/2077 2367/3673/2078 +f 2368/3674/2079 2364/3670/2075 2367/3673/2078 +f 2368/3674/2079 2367/3673/2078 2369/3675/2080 +f 2370/3676/1998 2368/3674/2079 2369/3675/2080 +f 2370/3676/1998 2369/3675/2080 2371/3677/2001 +f 2355/3661/1989 2370/3676/1998 2371/3677/2001 +f 2355/3661/1989 2371/3677/2001 2356/3662/1990 +f 2372/1016/2 3667/1018/2 3625/3678/2081 +f 2374/3679/2082 2372/1016/2 3625/3678/2081 +f 2374/3679/2082 3625/3678/2081 3582/3680/2083 +f 2375/3681/2084 2374/3679/2082 3582/3680/2083 +f 2375/3681/2084 3582/3680/2083 3579/3682/2 +f 2378/1023/2 3584/1022/2 3626/1025/2 +f 2357/3663/1991 2356/3662/1990 2381/3683/2002 +f 2357/3663/1991 2381/3683/2002 2382/3684/2003 +f 2359/3665/1993 2357/3663/1991 2382/3684/2003 +f 2359/3665/1993 2382/3684/2003 2383/3685/2004 +f 2361/3667/1995 2359/3665/1993 2383/3685/2004 +f 2361/3667/1995 2383/3685/2004 2384/3686/2005 +f 2363/3669/1997 2361/3667/1995 2384/3686/2005 +f 2363/3669/1997 2384/3686/2005 2385/3687/2006 +f 2367/3673/2078 2366/3672/2077 2386/3688/2009 +f 2367/3673/2078 2386/3688/2009 2387/3689/2010 +f 2369/3675/2080 2367/3673/2078 2387/3689/2010 +f 2369/3675/2080 2387/3689/2010 2388/3690/2011 +f 2371/3677/2001 2369/3675/2080 2388/3690/2011 +f 2371/3677/2001 2388/3690/2011 2389/3691/2012 +f 2356/3662/1990 2371/3677/2001 2389/3691/2012 +f 2356/3662/1990 2389/3691/2012 2381/3683/2002 +f 2394/1033/2 2391/1030/2 2395/1034/2 +f 2396/3692/2085 2397/3693/2086 2398/3694/2087 +f 2396/3692/2085 2398/3694/2087 2399/3695/2088 +f 2404/3696/2089 2405/3697/2090 2406/3698/2091 +f 2404/3696/2089 2406/3698/2091 2407/3699/2092 +f 2406/3698/2091 2405/3697/2090 2410/3700/2093 +f 2406/3698/2091 2410/3700/2093 2411/3701/2094 +f 2398/3694/2087 2397/3693/2086 3713/3702/2095 +f 2398/3694/2087 3713/3702/2095 3714/3703/2096 +f 2399/3695/2088 2398/3694/2087 2412/3704/2097 +f 2399/3695/2088 2412/3704/2097 2413/3705/2098 +f 2398/3694/2087 3714/3703/2096 2414/3706/2099 +f 2398/3694/2087 2414/3706/2099 2412/3704/2097 +f 2407/3699/2092 2406/3698/2091 2415/3707/2100 +f 2407/3699/2092 2415/3707/2100 3699/3708/2101 +f 2406/3698/2091 2411/3701/2094 2416/3709/2102 +f 2406/3698/2091 2416/3709/2102 2415/3707/2100 +f 2397/3693/2086 2396/3692/2085 2417/3710/2103 +f 2397/3693/2086 2417/3710/2103 2418/3711/2104 +f 2410/3700/2093 2405/3697/2090 2419/3712/2105 +f 2410/3700/2093 2419/3712/2105 2420/3713/2106 +f 2405/3697/2090 2404/3696/2089 2421/3714/2107 +f 2405/3697/2090 2421/3714/2107 2419/3712/2105 +f 3713/3702/2095 2397/3693/2086 2418/3711/2104 +f 3713/3702/2095 2418/3711/2104 3698/3715/2108 +f 2422/3716/2109 2423/3717/2110 2424/3718/2111 +f 2422/3716/2109 2424/3718/2111 2425/3719/2112 +f 2428/3720/2113 2429/3721/2114 2430/3722/2115 +f 2428/3720/2113 2430/3722/2115 2431/3723/2116 +f 2434/3724/2089 2435/3725/2090 2436/3726/2091 +f 2434/3724/2089 2436/3726/2091 2437/3727/2092 +f 2436/3726/2091 2435/3725/2090 2440/3728/2093 +f 2436/3726/2091 2440/3728/2093 2441/3729/2094 +f 2430/3722/2115 2429/3721/2114 3660/3730/2117 +f 2430/3722/2115 3660/3730/2117 3659/3731/2118 +f 2424/3718/2111 2423/3717/2110 3661/3732/2095 +f 2424/3718/2111 3661/3732/2095 3662/3733/2096 +f 2425/3719/2112 2424/3718/2111 2442/3734/2119 +f 2425/3719/2112 2442/3734/2119 2443/3735/2120 +f 2429/3721/2114 2428/3720/2113 2444/3736/2121 +f 2429/3721/2114 2444/3736/2121 2445/3737/2122 +f 2424/3718/2111 3662/3733/2096 2446/3738/2099 +f 2424/3718/2111 2446/3738/2099 2442/3734/2119 +f 2437/3727/2092 2436/3726/2091 2447/3739/2100 +f 2437/3727/2092 2447/3739/2100 3648/3740/2101 +f 2436/3726/2091 2441/3729/2094 2448/3741/2102 +f 2436/3726/2091 2448/3741/2102 2447/3739/2100 +f 3660/3730/2117 2429/3721/2114 2445/3737/2122 +f 3660/3730/2117 2445/3737/2122 3646/3742/2123 +f 2423/3717/2110 2422/3716/2109 2449/3743/2124 +f 2423/3717/2110 2449/3743/2124 2450/3744/2125 +f 2431/3723/2116 2430/3722/2115 2451/3745/2126 +f 2431/3723/2116 2451/3745/2126 2452/3746/2127 +f 2430/3722/2115 3659/3731/2118 2453/3747/2128 +f 2430/3722/2115 2453/3747/2128 2451/3745/2126 +f 2440/3728/2093 2435/3725/2090 2454/3748/2105 +f 2440/3728/2093 2454/3748/2105 3645/3749/2106 +f 2435/3725/2090 2434/3724/2089 2455/3750/2107 +f 2435/3725/2090 2455/3750/2107 2454/3748/2105 +f 3661/3732/2095 2423/3717/2110 2450/3744/2125 +f 3661/3732/2095 2450/3744/2125 3647/3751/2108 +f 2456/3752/6 2457/3753/2129 2458/3754/2130 +f 2456/3752/6 2458/3754/2130 2459/3755/6 +f 2460/3756/2131 2456/3752/6 2459/3755/6 +f 2460/3756/2131 2459/3755/6 2461/3757/2132 +f 2462/3758/2133 2463/3759/2133 2458/3754/2130 +f 2462/3758/2133 2458/3754/2130 2457/3753/2129 +f 2460/3756/2131 2461/3757/2132 2464/3760/2134 +f 2460/3756/2131 2464/3760/2134 2465/3761/2134 +f 2466/3762/2135 2467/3763/2136 2468/3764/2137 +f 2466/3762/2135 2468/3764/2137 2469/3765/2138 +f 2474/3766/2139 2475/3767/2140 2476/3768/2141 +f 2474/3766/2139 2476/3768/2141 2477/3769/2142 +f 2471/1048/2 256/59/2 254/57/2 +f 2476/3768/2141 2480/3770/2143 2481/3771/2144 +f 2476/3768/2141 2481/3771/2144 2477/3769/2142 +f 2468/3764/2137 4615/3772/2145 4614/3773/2146 +f 2468/3764/2137 4614/3773/2146 2469/3765/2138 +f 2467/3763/2136 2482/3774/2147 2483/3775/2148 +f 2467/3763/2136 2483/3775/2148 2468/3764/2137 +f 2468/3764/2137 2483/3775/2148 2484/3776/2149 +f 2468/3764/2137 2484/3776/2149 4615/3772/2145 +f 2475/3767/2140 4617/3777/2150 2485/3778/2151 +f 2475/3767/2140 2485/3778/2151 2476/3768/2141 +f 2476/3768/2141 2485/3778/2151 2486/3779/2152 +f 2476/3768/2141 2486/3779/2152 2480/3770/2143 +f 2469/3765/2138 2487/3780/2153 2488/3781/2154 +f 2469/3765/2138 2488/3781/2154 2466/3762/2135 +f 2481/3771/2144 2489/3782/2155 2490/3783/2156 +f 2481/3771/2144 2490/3783/2156 2477/3769/2142 +f 2477/3769/2142 2490/3783/2156 2491/3784/2157 +f 2477/3769/2142 2491/3784/2157 2474/3766/2139 +f 4614/3773/2146 4616/3785/2158 2487/3780/2153 +f 4614/3773/2146 2487/3780/2153 2469/3765/2138 +f 2492/3786/5 2493/3787/5 2494/3788/2159 +f 2492/3786/5 2494/3788/2159 2495/3789/2160 +f 2496/3790/2161 2497/3791/2162 2493/3787/5 +f 2496/3790/2161 2493/3787/5 2492/3786/5 +f 2498/3792/2163 2495/3789/2160 2494/3788/2159 +f 2498/3792/2163 2494/3788/2159 2499/3793/2163 +f 2496/3790/2161 2500/3794/2164 2501/3795/2164 +f 2496/3790/2161 2501/3795/2164 2497/3791/2162 +f 2514/3796/2165 2515/3797/2166 2516/3798/2167 +f 2514/3796/2165 2516/3798/2167 2517/3799/2165 +f 2515/3797/2166 2520/3800/2168 2521/3801/2168 +f 2515/3797/2166 2521/3801/2168 2516/3798/2167 +f 2526/3802/2169 2527/3803/2170 2528/3804/2171 +f 2526/3802/2169 2528/3804/2171 2529/3805/2172 +f 2529/3805/2172 2528/3804/2171 2530/3806/2173 +f 2529/3805/2172 2530/3806/2173 2531/3807/2174 +f 2531/3807/2174 2530/3806/2173 2532/3808/2175 +f 2531/3807/2174 2532/3808/2175 2533/3809/2176 +f 2534/3810/2177 2535/3811/2178 2536/3812/2179 +f 2534/3810/2177 2536/3812/2179 2537/3813/2180 +f 2535/3811/2178 2538/3814/2181 2539/3815/2182 +f 2535/3811/2178 2539/3815/2182 2536/3812/2179 +f 2538/3814/2181 2540/3816/2183 2541/3817/2184 +f 2538/3814/2181 2541/3817/2184 2539/3815/2182 +f 2542/3818/2185 2543/3819/2186 2544/3820/2187 +f 2542/3818/2185 2544/3820/2187 2545/3821/2185 +f 2546/3822/2188 2547/3823/2189 2548/3824/2189 +f 2546/3822/2188 2548/3824/2189 2549/3825/2190 +f 2543/3819/2186 2550/3826/2191 2551/3827/2192 +f 2543/3819/2186 2551/3827/2192 2544/3820/2187 +f 2552/3828/2193 2546/3822/2188 2549/3825/2190 +f 2552/3828/2193 2549/3825/2190 2553/3829/2194 +f 2550/3826/2191 2554/3830/2195 2555/3831/2195 +f 2550/3826/2191 2555/3831/2195 2551/3827/2192 +f 2556/3832/2196 2552/3828/2193 2553/3829/2194 +f 2556/3832/2196 2553/3829/2194 2557/3833/2196 +f 3720/3834/2197 3878/3835/2198 2562/3836/2199 +f 3720/3834/2197 2562/3836/2199 2563/3837/2197 +f 2566/3838/2200 2567/3839/2201 2568/3840/4 +f 2566/3838/2200 2568/3840/4 2569/3841/2200 +f 3878/3835/2198 4077/3842/2202 4075/3843/2202 +f 3878/3835/2198 4075/3843/2202 2562/3836/2199 +f 2568/3840/4 2567/3839/2201 2577/3844/2203 +f 2568/3840/4 2577/3844/2203 2578/3845/2203 +f 2592/3846/2165 2593/3847/2166 2594/3848/2167 +f 2592/3846/2165 2594/3848/2167 2595/3849/2165 +f 2593/3847/2166 2598/3850/2168 2599/3851/2168 +f 2593/3847/2166 2599/3851/2168 2594/3848/2167 +f 2604/3852/2204 2605/3853/2170 2606/3854/2171 +f 2604/3852/2204 2606/3854/2171 2607/3855/2172 +f 2607/3855/2172 2606/3854/2171 2608/3856/2205 +f 2607/3855/2172 2608/3856/2205 2609/3857/2174 +f 2609/3857/2174 2608/3856/2205 2610/3858/2175 +f 2609/3857/2174 2610/3858/2175 2611/3859/2176 +f 2612/3860/2177 2613/3861/2178 2614/3862/2179 +f 2612/3860/2177 2614/3862/2179 2615/3863/2206 +f 2613/3861/2178 2616/3864/2181 2617/3865/2207 +f 2613/3861/2178 2617/3865/2207 2614/3862/2179 +f 2616/3864/2181 2618/3866/2183 2619/3867/2184 +f 2616/3864/2181 2619/3867/2184 2617/3865/2207 +f 2620/3868/2185 2621/3869/2186 2622/3870/2187 +f 2620/3868/2185 2622/3870/2187 2623/3871/2185 +f 2624/3872/2188 2625/3873/2189 2626/3874/2189 +f 2624/3872/2188 2626/3874/2189 2627/3875/2190 +f 2621/3869/2186 2628/3876/2191 2629/3877/2192 +f 2621/3869/2186 2629/3877/2192 2622/3870/2187 +f 2630/3878/2193 2624/3872/2188 2627/3875/2190 +f 2630/3878/2193 2627/3875/2190 2631/3879/2194 +f 2628/3876/2191 2632/3880/2195 2633/3881/2195 +f 2628/3876/2191 2633/3881/2195 2629/3877/2192 +f 2634/3882/2196 2630/3878/2193 2631/3879/2194 +f 2634/3882/2196 2631/3879/2194 2635/3883/2196 +f 277/80/5 2640/1125/5 2641/3884/5 +f 279/82/6 2646/3885/6 2647/1130/6 +f 2648/3886/2208 2649/3887/2209 2650/3888/2210 +f 2648/3886/2208 2650/3888/2210 2651/3889/2208 +f 2649/3887/2209 2654/3890/2211 2655/3891/2211 +f 2649/3887/2209 2655/3891/2211 2650/3888/2210 +f 2660/3892/2212 2661/3893/2213 2662/3894/2214 +f 2660/3892/2212 2662/3894/2214 2663/3895/2215 +f 2663/3895/2215 2662/3894/2214 2664/3896/2216 +f 2663/3895/2215 2664/3896/2216 2665/3897/2217 +f 2665/3897/2217 2664/3896/2216 2666/3898/2218 +f 2665/3897/2217 2666/3898/2218 2667/3899/2219 +f 2668/3900/2220 2669/3901/2221 2670/3902/2222 +f 2668/3900/2220 2670/3902/2222 2671/3903/2223 +f 2669/3901/2221 2672/3904/2224 2673/3905/2225 +f 2669/3901/2221 2673/3905/2225 2670/3902/2222 +f 2672/3904/2224 2674/3906/2226 2675/3907/2227 +f 2672/3904/2224 2675/3907/2227 2673/3905/2225 +f 2676/3908/2228 2677/3909/2229 2678/3910/2230 +f 2676/3908/2228 2678/3910/2230 2679/3911/2228 +f 2680/3912/2231 2681/3913/2232 2682/3914/2232 +f 2680/3912/2231 2682/3914/2232 2683/3915/2233 +f 2677/3909/2229 2684/3916/2234 2685/3917/2235 +f 2677/3909/2229 2685/3917/2235 2678/3910/2230 +f 2686/3918/2236 2680/3912/2231 2683/3915/2233 +f 2686/3918/2236 2683/3915/2233 2687/3919/2237 +f 2684/3916/2234 2688/3920/2238 2689/3921/2238 +f 2684/3916/2234 2689/3921/2238 2685/3917/2235 +f 2690/3922/2239 2686/3918/2236 2687/3919/2237 +f 2690/3922/2239 2687/3919/2237 2691/3923/2239 +f 4507/3924/2240 4564/3925/2241 2696/3926/2242 +f 4507/3924/2240 2696/3926/2242 2697/3927/2240 +f 2700/3928/2243 2701/3929/2201 2702/3930/2244 +f 2700/3928/2243 2702/3930/2244 2703/3931/2243 +f 4564/3925/2241 4612/3932/2245 4610/3933/2245 +f 4564/3925/2241 4610/3933/2245 2696/3926/2242 +f 2702/3930/2244 2701/3929/2201 2711/3934/2246 +f 2702/3930/2244 2711/3934/2246 2712/3935/2246 +f 283/86/5 2718/1167/5 2719/3936/5 +f 285/88/6 2724/3937/6 2725/1172/6 +f 2726/3938/2208 2727/3939/2247 2728/3940/2210 +f 2726/3938/2208 2728/3940/2210 2729/3941/2208 +f 2730/3942/154 4589/3943/154 4605/3944/154 +f 2730/3942/154 4605/3944/154 2731/3945/154 +f 2727/3939/2247 2732/3946/2211 2733/3947/2211 +f 2727/3939/2247 2733/3947/2211 2728/3940/2210 +f 2738/3948/2212 2739/3949/2213 2740/3950/2248 +f 2738/3948/2212 2740/3950/2248 2741/3951/2249 +f 2741/3951/2249 2740/3950/2248 2742/3952/2250 +f 2741/3951/2249 2742/3952/2250 2743/3953/2217 +f 2743/3953/2217 2742/3952/2250 2744/3954/2218 +f 2743/3953/2217 2744/3954/2218 2745/3955/2219 +f 2746/3956/2220 2747/3957/2251 2748/3958/2252 +f 2746/3956/2220 2748/3958/2252 2749/3959/2223 +f 2747/3957/2251 2750/3960/2224 2751/3961/2253 +f 2747/3957/2251 2751/3961/2253 2748/3958/2252 +f 2750/3960/2224 2752/3962/2254 2753/3963/2255 +f 2750/3960/2224 2753/3963/2255 2751/3961/2253 +f 2754/3964/2228 2755/3965/2229 2756/3966/2230 +f 2754/3964/2228 2756/3966/2230 2757/3967/2228 +f 2758/3968/2231 2759/3969/2232 2760/3970/2232 +f 2758/3968/2231 2760/3970/2232 2761/3971/2233 +f 2755/3965/2229 2762/3972/2234 2763/3973/2235 +f 2755/3965/2229 2763/3973/2235 2756/3966/2230 +f 2764/3974/2236 2758/3968/2231 2761/3971/2233 +f 2764/3974/2236 2761/3971/2233 2765/3975/2237 +f 2762/3972/2234 2766/3976/2238 2767/3977/2238 +f 2762/3972/2234 2767/3977/2238 2763/3973/2235 +f 2768/3978/2239 2764/3974/2236 2765/3975/2237 +f 2768/3978/2239 2765/3975/2237 2769/3979/2239 +f 2770/3980/2256 2771/3981/2257 2772/3982/2258 +f 2770/3980/2256 2772/3982/2258 2773/3983/2259 +f 2771/3981/2257 2774/3984/2260 2775/3985/2261 +f 2771/3981/2257 2775/3985/2261 2772/3982/2258 +f 2774/3984/2260 2776/3986/2262 2777/3987/2263 +f 2774/3984/2260 2777/3987/2263 2775/3985/2261 +f 2776/3986/2262 2778/3988/2264 2779/3989/2265 +f 2776/3986/2262 2779/3989/2265 2777/3987/2263 +f 2778/3988/2264 2780/3990/2266 2781/3991/2267 +f 2778/3988/2264 2781/3991/2267 2779/3989/2265 +f 2782/3992/2266 2783/3993/2268 2784/3994/2269 +f 2782/3992/2266 2784/3994/2269 2785/3995/2270 +f 2783/3993/2268 2786/3996/2271 2787/3997/2272 +f 2783/3993/2268 2787/3997/2272 2784/3994/2269 +f 2786/3996/2271 2788/3998/2273 2789/3999/2274 +f 2786/3996/2271 2789/3999/2274 2787/3997/2272 +f 2788/3998/2273 2790/4000/2275 2791/4001/2276 +f 2788/3998/2273 2791/4001/2276 2789/3999/2274 +f 2790/4000/2275 2770/3980/2256 2773/3983/2259 +f 2790/4000/2275 2773/3983/2259 2791/4001/2276 +f 2787/3997/2272 2789/3999/2274 2792/4002/2277 +f 2787/3997/2272 2792/4002/2277 2793/4003/2278 +f 2784/3994/2269 2787/3997/2272 2793/4003/2278 +f 2784/3994/2269 2793/4003/2278 2794/4004/2279 +f 2785/3995/2270 2784/3994/2269 2794/4004/2279 +f 2785/3995/2270 2794/4004/2279 2795/4005/2280 +f 2779/3989/2265 2781/3991/2267 2796/4006/2280 +f 2779/3989/2265 2796/4006/2280 2797/4007/2281 +f 2777/3987/2263 2779/3989/2265 2797/4007/2281 +f 2777/3987/2263 2797/4007/2281 2798/4008/2282 +f 2775/3985/2261 2777/3987/2263 2798/4008/2282 +f 2775/3985/2261 2798/4008/2282 2799/4009/2283 +f 2772/3982/2258 2775/3985/2261 2799/4009/2283 +f 2772/3982/2258 2799/4009/2283 2800/4010/2284 +f 2773/3983/2259 2772/3982/2258 2800/4010/2284 +f 2773/3983/2259 2800/4010/2284 2801/4011/2285 +f 2791/4001/2276 2773/3983/2259 2801/4011/2285 +f 2791/4001/2276 2801/4011/2285 2802/4012/2286 +f 2789/3999/2274 2791/4001/2276 2802/4012/2286 +f 2789/3999/2274 2802/4012/2286 2792/4002/2277 +f 2807/4013/2287 2808/4014/2288 2809/4015/2289 +f 2807/4013/2287 2809/4015/2289 2810/4016/2290 +f 2808/4014/2288 2811/4017/2291 2812/4018/2292 +f 2808/4014/2288 2812/4018/2292 2809/4015/2289 +f 2811/4017/2291 2813/4019/2293 2814/4020/2294 +f 2811/4017/2291 2814/4020/2294 2812/4018/2292 +f 2813/4019/2293 2815/4021/2295 2816/4022/2296 +f 2813/4019/2293 2816/4022/2296 2814/4020/2294 +f 2815/4021/2295 2817/4023/2297 2818/4024/2298 +f 2815/4021/2295 2818/4024/2298 2816/4022/2296 +f 2819/4025/2297 2820/4026/2299 2821/4027/2300 +f 2819/4025/2297 2821/4027/2300 2822/4028/2301 +f 2820/4026/2299 2823/4029/2302 2824/4030/2303 +f 2820/4026/2299 2824/4030/2303 2821/4027/2300 +f 2823/4029/2302 2825/4031/2304 2826/4032/2305 +f 2823/4029/2302 2826/4032/2305 2824/4030/2303 +f 2825/4031/2304 2827/4033/2306 2828/4034/2307 +f 2825/4031/2304 2828/4034/2307 2826/4032/2305 +f 2827/4033/2306 2807/4013/2287 2810/4016/2290 +f 2827/4033/2306 2810/4016/2290 2828/4034/2307 +f 2824/4030/2303 2826/4032/2305 2829/4035/2308 +f 2824/4030/2303 2829/4035/2308 2830/4036/2309 +f 2821/4027/2300 2824/4030/2303 2830/4036/2309 +f 2821/4027/2300 2830/4036/2309 2831/4037/2310 +f 2822/4028/2301 2821/4027/2300 2831/4037/2310 +f 2822/4028/2301 2831/4037/2310 2832/4038/2311 +f 2816/4022/2296 2818/4024/2298 2833/4039/2311 +f 2816/4022/2296 2833/4039/2311 2834/4040/2312 +f 2814/4020/2294 2816/4022/2296 2834/4040/2312 +f 2814/4020/2294 2834/4040/2312 2835/4041/2313 +f 2812/4018/2292 2814/4020/2294 2835/4041/2313 +f 2812/4018/2292 2835/4041/2313 2836/4042/2314 +f 2809/4015/2289 2812/4018/2292 2836/4042/2314 +f 2809/4015/2289 2836/4042/2314 2837/4043/2315 +f 2810/4016/2290 2809/4015/2289 2837/4043/2315 +f 2810/4016/2290 2837/4043/2315 2838/4044/2316 +f 2828/4034/2307 2810/4016/2290 2838/4044/2316 +f 2828/4034/2307 2838/4044/2316 2839/4045/2317 +f 2826/4032/2305 2828/4034/2307 2839/4045/2317 +f 2826/4032/2305 2839/4045/2317 2829/4035/2308 +f 4499/4046/2318 2851/4047/2318 4509/4048/2318 +f 4499/4046/2318 4509/4048/2318 4511/4049/2318 +f 2856/1201/1 2858/1203/1 2859/4050/1 +f 2874/4051/2319 2875/4052/2320 2876/4053/2321 +f 2874/4051/2319 2876/4053/2321 2877/4054/2322 +f 2875/4052/2320 2878/4055/2323 2879/4056/2324 +f 2875/4052/2320 2879/4056/2324 2876/4053/2321 +f 2878/4055/2323 2880/4057/2325 2881/4058/2326 +f 2878/4055/2323 2881/4058/2326 2879/4056/2324 +f 2880/4057/2325 2882/4059/2327 2883/4060/2328 +f 2880/4057/2325 2883/4060/2328 2881/4058/2326 +f 2882/4059/2327 2884/4061/2329 2885/4062/2330 +f 2882/4059/2327 2885/4062/2330 2883/4060/2328 +f 2884/4061/2329 2886/4063/2331 2887/4064/2332 +f 2884/4061/2329 2887/4064/2332 2885/4062/2330 +f 2886/4063/2331 2888/4065/2333 2889/4066/2334 +f 2886/4063/2331 2889/4066/2334 2887/4064/2332 +f 2888/4065/2333 2890/4067/2335 2891/4068/2336 +f 2888/4065/2333 2891/4068/2336 2889/4066/2334 +f 2890/4067/2335 2892/4069/2337 2893/4070/2338 +f 2890/4067/2335 2893/4070/2338 2891/4068/2336 +f 2892/4069/2337 2894/4071/2319 2895/4072/2322 +f 2892/4069/2337 2895/4072/2322 2893/4070/2338 +f 2896/4073/2339 2897/4074/2340 2898/4075/2341 +f 2896/4073/2339 2898/4075/2341 2899/4076/2342 +f 2897/4074/2340 2900/4077/2343 2901/4078/2344 +f 2897/4074/2340 2901/4078/2344 2898/4075/2341 +f 2900/4077/2343 2902/4079/2345 2903/4080/2346 +f 2900/4077/2343 2903/4080/2346 2901/4078/2344 +f 2902/4079/2345 2904/4081/2347 2905/4082/2348 +f 2902/4079/2345 2905/4082/2348 2903/4080/2346 +f 2904/4081/2347 2906/4083/2349 2907/4084/2350 +f 2904/4081/2347 2907/4084/2350 2905/4082/2348 +f 2906/4083/2349 2908/4085/2351 2909/4086/2352 +f 2906/4083/2349 2909/4086/2352 2907/4084/2350 +f 2908/4085/2351 2910/4087/2353 2911/4088/2354 +f 2908/4085/2351 2911/4088/2354 2909/4086/2352 +f 2910/4087/2353 2912/4089/2355 2913/4090/2356 +f 2910/4087/2353 2913/4090/2356 2911/4088/2354 +f 2912/4089/2355 2914/4091/2357 2915/4092/2358 +f 2912/4089/2355 2915/4092/2358 2913/4090/2356 +f 2914/4091/2357 2916/4093/2359 2917/4094/2342 +f 2914/4091/2357 2917/4094/2342 2915/4092/2358 +f 4343/4095/2360 4293/4096/2361 2918/4097/2362 +f 4343/4095/2360 2918/4097/2362 2919/4098/2363 +f 4293/4096/2361 4228/4099/2364 2920/4100/2365 +f 4293/4096/2361 2920/4100/2365 2918/4097/2362 +f 4228/4099/2364 4195/4101/2366 2921/4102/2367 +f 4228/4099/2364 2921/4102/2367 2920/4100/2365 +f 4195/4101/2366 4211/4103/2368 2922/4104/2369 +f 4195/4101/2366 2922/4104/2369 2921/4102/2367 +f 4212/4105/2370 4260/4106/2371 2923/4107/2372 +f 4212/4105/2370 2923/4107/2372 4207/4108/2373 +f 4260/4106/2371 4335/4109/2374 2924/4110/2375 +f 4260/4106/2371 2924/4110/2375 2923/4107/2372 +f 4335/4109/2374 4370/4111/2376 2925/4112/2377 +f 4335/4109/2374 2925/4112/2377 2924/4110/2375 +f 4370/4111/2376 4393/4113/2378 2926/4114/2379 +f 4370/4111/2376 2926/4114/2379 2925/4112/2377 +f 4393/4113/2378 4384/4115/2380 2927/4116/2381 +f 4393/4113/2378 2927/4116/2381 2926/4114/2379 +f 4384/4115/2380 4344/4117/2382 2928/4118/2383 +f 4384/4115/2380 2928/4118/2383 2927/4116/2381 +f 2929/4119/2384 2930/4120/2385 4413/4121/2386 +f 2929/4119/2384 4413/4121/2386 4389/4122/2387 +f 2931/4123/2388 2929/4119/2384 4389/4122/2387 +f 2931/4123/2388 4389/4122/2387 4336/4124/2389 +f 2932/4125/2390 2931/4123/2388 4336/4124/2389 +f 2932/4125/2390 4336/4124/2389 4256/4126/2391 +f 2933/4127/2392 2932/4125/2390 4256/4126/2391 +f 2933/4127/2392 4256/4126/2391 4190/4128/2393 +f 2934/4129/2394 2933/4127/2392 4190/4128/2393 +f 2934/4129/2394 4190/4128/2393 4185/4130/2395 +f 2935/4131/2396 2934/4129/2394 4185/4130/2395 +f 2935/4131/2396 4185/4130/2395 4205/4132/2397 +f 2936/4133/2398 2935/4131/2396 4205/4132/2397 +f 2936/4133/2398 4205/4132/2397 4283/4134/2399 +f 2937/4135/2400 2936/4133/2398 4283/4134/2399 +f 2937/4135/2400 4283/4134/2399 4364/4136/2401 +f 2938/4137/2402 2939/4138/2403 4365/4139/2404 +f 2938/4137/2402 4365/4139/2404 4405/4140/2405 +f 2930/4120/2385 2938/4137/2402 4405/4140/2405 +f 2930/4120/2385 4405/4140/2405 4413/4121/2386 +f 2889/4066/2334 2891/4068/2336 2930/4120/2385 +f 2889/4066/2334 2930/4120/2385 2929/4119/2384 +f 2887/4064/2332 2889/4066/2334 2929/4119/2384 +f 2887/4064/2332 2929/4119/2384 2931/4123/2388 +f 2885/4062/2330 2887/4064/2332 2931/4123/2388 +f 2885/4062/2330 2931/4123/2388 2932/4125/2390 +f 2883/4060/2328 2885/4062/2330 2932/4125/2390 +f 2883/4060/2328 2932/4125/2390 2933/4127/2392 +f 2881/4058/2326 2883/4060/2328 2933/4127/2392 +f 2881/4058/2326 2933/4127/2392 2934/4129/2394 +f 2879/4056/2324 2881/4058/2326 2934/4129/2394 +f 2879/4056/2324 2934/4129/2394 2935/4131/2396 +f 2876/4053/2321 2879/4056/2324 2935/4131/2396 +f 2876/4053/2321 2935/4131/2396 2936/4133/2398 +f 2877/4054/2322 2876/4053/2321 2936/4133/2398 +f 2877/4054/2322 2936/4133/2398 2937/4135/2400 +f 2893/4070/2338 2895/4072/2322 2939/4138/2403 +f 2893/4070/2338 2939/4138/2403 2938/4137/2402 +f 2891/4068/2336 2893/4070/2338 2938/4137/2402 +f 2891/4068/2336 2938/4137/2402 2930/4120/2385 +f 2940/4141/2406 2941/4142/2406 2942/4143/2407 +f 2940/4141/2406 2942/4143/2407 2943/4144/2408 +f 2948/4145/2409 2949/4146/2410 2950/4147/2411 +f 2948/4145/2409 2950/4147/2411 2951/4148/2411 +f 4391/4149/2412 2952/4150/2413 2953/4151/2414 +f 4391/4149/2412 2953/4151/2414 4392/4152/2415 +f 2954/4153/2416 2955/4154/2417 2956/4155/2418 +f 2954/4153/2416 2956/4155/2418 2957/4156/2419 +f 2943/4144/2408 2942/4143/2407 2958/4157/2420 +f 2943/4144/2408 2958/4157/2420 2959/4158/2420 +f 4392/4152/2415 2953/4151/2414 2960/4159/2421 +f 4392/4152/2415 2960/4159/2421 4396/4160/2422 +f 2949/4146/2410 2948/4145/2409 2961/4161/2423 +f 2949/4146/2410 2961/4161/2423 2962/4162/2423 +f 2957/4156/2419 2956/4155/2418 2963/4163/2424 +f 2957/4156/2419 2963/4163/2424 2964/4164/2425 +f 4514/4165/2426 2957/4156/2419 2964/4164/2425 +f 4514/4165/2426 2964/4164/2425 4512/4166/2427 +f 4513/4167/2428 2954/4153/2416 2957/4156/2419 +f 4513/4167/2428 2957/4156/2419 4514/4165/2426 +f 2953/4151/2414 2952/4150/2413 4442/4168/2429 +f 2953/4151/2414 4442/4168/2429 4443/4169/2430 +f 2960/4159/2421 2953/4151/2414 4443/4169/2430 +f 2960/4159/2421 4443/4169/2430 4451/4170/2431 +f 2967/4171/2432 2968/4172/2432 2969/4173/2433 +f 2967/4171/2432 2969/4173/2433 2970/4174/2434 +f 2971/1230/162 4447/1232/162 4441/4175/162 +f 2973/1233/163 2974/4176/163 4501/1234/163 +f 2972/1231/162 2975/1238/162 2976/1241/162 +f 2972/1231/162 2976/1241/162 4447/1232/162 +f 2970/4174/2434 2969/4173/2433 4454/4177/2435 +f 2970/4174/2434 4454/4177/2435 2977/4178/2436 +f 2977/4178/2436 4454/4177/2435 4455/4179/2 +f 2977/4178/2436 4455/4179/2 2981/4180/2 +f 2983/4181/2 2984/4182/2 2985/4183/2437 +f 2983/4181/2 2985/4183/2437 2986/4184/2438 +f 2987/4185/164 2988/1244/164 4252/1247/164 +f 2987/4185/164 4252/1247/164 4089/4186/164 +f 2989/4187/165 2990/4188/165 4090/4189/165 +f 2989/4187/165 4090/4189/165 4254/1249/165 +f 2986/4184/2438 2985/4183/2437 4367/4190/2439 +f 2986/4184/2438 4367/4190/2439 2993/4191/2440 +f 2994/1248/165 2989/4187/165 4254/1249/165 +f 2991/1245/164 2996/1252/164 2992/1246/164 +f 2993/4191/2440 4367/4190/2439 4444/4192/2441 +f 2993/4191/2440 4444/4192/2441 2997/4193/2441 +f 2999/4194/2442 3000/4195/2442 3001/4196/2443 +f 2999/4194/2442 3001/4196/2443 3002/4197/2444 +f 3007/4198/2445 3008/4199/2446 3009/4200/2447 +f 3007/4198/2445 3009/4200/2447 3010/4201/2447 +f 4113/4202/2448 3011/4203/2449 3012/4204/2450 +f 4113/4202/2448 3012/4204/2450 4114/4205/2451 +f 3013/4206/2452 3014/4207/2453 3015/4208/2454 +f 3013/4206/2452 3015/4208/2454 3016/4209/2455 +f 3002/4197/2444 3001/4196/2443 3017/4210/2456 +f 3002/4197/2444 3017/4210/2456 3018/4211/2456 +f 4114/4205/2451 3012/4204/2450 3019/4212/2457 +f 4114/4205/2451 3019/4212/2457 4109/4213/2458 +f 3008/4199/2446 3007/4198/2445 3020/4214/2459 +f 3008/4199/2446 3020/4214/2459 3021/4215/2459 +f 3016/4209/2455 3015/4208/2454 3022/4216/2460 +f 3016/4209/2455 3022/4216/2460 3023/4217/2461 +f 4066/4218/2462 3016/4209/2455 3023/4217/2461 +f 4066/4218/2462 3023/4217/2461 4070/4219/2463 +f 4065/4220/2464 3013/4206/2452 3016/4209/2455 +f 4065/4220/2464 3016/4209/2455 4066/4218/2462 +f 3012/4204/2450 3011/4203/2449 4129/4221/2465 +f 3012/4204/2450 4129/4221/2465 4130/4222/2466 +f 3019/4212/2457 3012/4204/2450 4130/4222/2466 +f 3019/4212/2457 4130/4222/2466 4122/4223/2467 +f 3026/4224/2468 3027/4225/2468 3028/4226/2469 +f 3026/4224/2468 3028/4226/2469 3029/4227/2470 +f 3032/1265/6 3033/4228/6 4057/1266/6 +f 3029/4227/2470 3028/4226/2469 4094/4229/2471 +f 3029/4227/2470 4094/4229/2471 3036/4230/2472 +f 3034/1268/5 3038/4231/5 3039/4232/5 +f 3034/1268/5 3039/4232/5 3035/1269/5 +f 3036/4230/2472 4094/4229/2471 4093/4233/2 +f 3036/4230/2472 4093/4233/2 3040/4234/2 +f 3041/4235/6 3037/1270/6 4056/1271/6 +f 3041/4235/6 4056/1271/6 4055/4236/6 +f 3042/4237/2473 3043/4238/2473 3044/4239/2474 +f 3042/4237/2473 3044/4239/2474 3045/4240/2475 +f 3050/4241/2476 3051/4242/2477 3052/4243/2478 +f 3050/4241/2476 3052/4243/2478 3053/4244/2478 +f 4150/4245/2479 3054/4246/2480 3055/4247/2481 +f 4150/4245/2479 3055/4247/2481 4151/4248/2482 +f 3056/4249/2483 3057/4250/2484 3058/4251/2485 +f 3056/4249/2483 3058/4251/2485 3059/4252/2486 +f 3045/4240/2475 3044/4239/2474 3060/4253/2487 +f 3045/4240/2475 3060/4253/2487 3061/4254/2488 +f 4151/4248/2482 3055/4247/2481 3062/4255/2489 +f 4151/4248/2482 3062/4255/2489 4145/4256/2490 +f 3051/4242/2477 3050/4241/2476 3063/4257/2491 +f 3051/4242/2477 3063/4257/2491 3064/4258/2491 +f 3059/4252/2486 3058/4251/2485 3065/4259/2492 +f 3059/4252/2486 3065/4259/2492 3066/4260/2493 +f 4042/4261/2494 3059/4252/2486 3066/4260/2493 +f 4042/4261/2494 3066/4260/2493 4049/4262/2495 +f 4041/4263/2496 3056/4249/2483 3059/4252/2486 +f 4041/4263/2496 3059/4252/2486 4042/4261/2494 +f 3055/4247/2481 3054/4246/2480 4080/4264/2497 +f 3055/4247/2481 4080/4264/2497 4081/4265/2498 +f 3062/4255/2489 3055/4247/2481 4081/4265/2498 +f 3062/4255/2489 4081/4265/2498 4082/4266/2499 +f 3069/4267/2500 3070/4268/2500 3071/4269/2501 +f 3069/4267/2500 3071/4269/2501 3072/4270/2502 +f 3072/4270/2502 3071/4269/2501 4187/4271/2503 +f 3072/4270/2502 4187/4271/2503 3079/4272/2504 +f 3080/1288/167 3075/1282/167 4316/1285/167 +f 3079/4272/2504 4187/4271/2503 4092/4273/2 +f 3079/4272/2504 4092/4273/2 3083/4274/2 +f 3085/4275/2505 3086/4276/2505 3087/4277/2506 +f 3085/4275/2505 3087/4277/2506 3088/4278/2507 +f 3093/4279/2508 3094/4280/2509 3095/4281/2510 +f 3093/4279/2508 3095/4281/2510 3096/4282/2510 +f 4484/4283/2511 3097/4284/2512 3098/4285/2513 +f 4484/4283/2511 3098/4285/2513 4485/4286/2514 +f 3099/4287/2515 3100/4288/2516 3101/4289/2517 +f 3099/4287/2515 3101/4289/2517 3102/4290/2518 +f 3088/4278/2507 3087/4277/2506 3103/4291/2519 +f 3088/4278/2507 3103/4291/2519 3104/4292/2519 +f 4485/4286/2514 3098/4285/2513 3105/4293/2520 +f 4485/4286/2514 3105/4293/2520 4487/4294/2521 +f 3094/4280/2509 3093/4279/2508 3106/4295/2522 +f 3094/4280/2509 3106/4295/2522 3107/4296/2522 +f 3102/4290/2518 3101/4289/2517 3108/4297/2523 +f 3102/4290/2518 3108/4297/2523 3109/4298/2524 +f 4490/4299/2525 3102/4290/2518 3109/4298/2524 +f 4490/4299/2525 3109/4298/2524 4488/4300/2526 +f 4489/4301/2527 3099/4287/2515 3102/4290/2518 +f 4489/4301/2527 3102/4290/2518 4490/4299/2525 +f 3098/4285/2513 3097/4284/2512 4394/4302/2528 +f 3098/4285/2513 4394/4302/2528 4395/4303/2529 +f 3105/4293/2520 3098/4285/2513 4395/4303/2529 +f 3105/4293/2520 4395/4303/2529 4400/4304/2530 +f 3112/4305/2531 3113/4306/2532 3114/4307/2 +f 3112/4305/2531 3114/4307/2 3115/4308/2533 +f 3113/4306/2532 3116/4309/2534 3117/4310/2535 +f 3113/4306/2532 3117/4310/2535 3114/4307/2 +f 3115/4308/2533 3114/4307/2 3118/4311/2536 +f 3115/4308/2533 3118/4311/2536 3119/4312/2537 +f 3114/4307/2 3117/4310/2535 3120/4313/2538 +f 3114/4307/2 3120/4313/2538 3118/4311/2536 +f 3121/4314/2539 3122/4315/2540 3123/4316/2541 +f 3121/4314/2539 3123/4316/2541 3124/4317/2542 +f 3122/4315/2540 3125/4318/2543 3126/4319/2544 +f 3122/4315/2540 3126/4319/2544 3123/4316/2541 +f 3127/4320/2545 3128/4321/2546 3129/4322/2547 +f 3127/4320/2545 3129/4322/2547 3130/4323/2548 +f 3128/4321/2546 3131/4324/2549 3132/4325/2550 +f 3128/4321/2546 3132/4325/2550 3129/4322/2547 +f 3131/4324/2549 3133/4326/2551 3134/4327/2552 +f 3131/4324/2549 3134/4327/2552 3132/4325/2550 +f 3133/4326/2551 3135/4328/2553 3136/4329/2554 +f 3133/4326/2551 3136/4329/2554 3134/4327/2552 +f 3135/4328/2553 3137/4330/2555 3138/4331/2556 +f 3135/4328/2553 3138/4331/2556 3136/4329/2554 +f 3137/4330/2555 3139/4332/2557 3140/4333/2558 +f 3137/4330/2555 3140/4333/2558 3138/4331/2556 +f 3139/4332/2557 3141/4334/2559 3142/4335/2560 +f 3139/4332/2557 3142/4335/2560 3140/4333/2558 +f 3141/4334/2559 3143/4336/2561 3144/4337/2562 +f 3141/4334/2559 3144/4337/2562 3142/4335/2560 +f 3143/4336/2561 3145/4338/2563 3146/4339/2564 +f 3143/4336/2561 3146/4339/2564 3144/4337/2562 +f 3145/4338/2563 3121/4314/2539 3124/4317/2542 +f 3145/4338/2563 3124/4317/2542 3146/4339/2564 +f 3140/4333/2558 3142/4335/2560 3147/4340/2565 +f 3140/4333/2558 3147/4340/2565 3148/4341/2566 +f 3138/4331/2556 3140/4333/2558 3738/4342/2567 +f 3138/4331/2556 3738/4342/2567 3149/4343/2568 +f 3136/4329/2554 3138/4331/2556 3702/4344/2569 +f 3136/4329/2554 3702/4344/2569 3150/4345/2570 +f 3134/4327/2552 3136/4329/2554 3150/4345/2570 +f 3134/4327/2552 3150/4345/2570 3151/4346/2571 +f 3132/4325/2550 3134/4327/2552 3655/4347/2572 +f 3132/4325/2550 3655/4347/2572 3152/4348/2573 +f 3129/4322/2547 3132/4325/2550 3152/4348/2573 +f 3129/4322/2547 3152/4348/2573 3153/4349/2574 +f 3130/4323/2548 3129/4322/2547 3733/4350/2575 +f 3130/4323/2548 3733/4350/2575 3154/4351/2576 +f 3123/4316/2541 3126/4319/2544 3155/4352/2577 +f 3123/4316/2541 3155/4352/2577 3156/4353/2578 +f 3124/4317/2542 3123/4316/2541 3156/4353/2578 +f 3124/4317/2542 3156/4353/2578 3157/4354/2579 +f 3146/4339/2564 3124/4317/2542 3157/4354/2579 +f 3146/4339/2564 3157/4354/2579 3158/4355/2580 +f 3144/4337/2562 3146/4339/2564 3871/4356/2581 +f 3144/4337/2562 3871/4356/2581 3159/4357/2582 +f 3142/4335/2560 3144/4337/2562 3159/4357/2582 +f 3142/4335/2560 3159/4357/2582 3147/4340/2565 +f 3161/1301/168 3170/4358/168 3171/1310/168 +f 3774/1315/170 3176/4359/170 3177/1316/170 +f 3182/4360/2583 3183/4361/2584 3184/4362/2583 +f 3182/4360/2583 3184/4362/2583 3185/4363/2585 +f 3186/4364/2586 3187/4365/2587 3188/4366/2586 +f 3186/4364/2586 3188/4366/2586 3189/4367/2588 +f 3190/1326/174 3192/1328/174 3193/4368/174 +f 3953/1337/177 3929/4369/177 3775/1338/177 +f 3200/4370/2589 3201/4371/2590 3202/4372/2589 +f 3200/4370/2589 3202/4372/2589 3203/4373/2591 +f 3204/4374/2592 3205/4375/2593 3206/4376/2592 +f 3204/4374/2592 3206/4376/2592 3207/4377/2594 +f 3208/4378/2595 3209/4379/2596 3210/4380/2597 +f 3208/4378/2595 3210/4380/2597 3211/4381/2598 +f 3976/4382/2599 3212/4383/2600 3213/4384/2601 +f 3976/4382/2599 3213/4384/2601 3957/4385/2602 +f 3994/4386/2603 3214/4387/2604 3215/4388/2605 +f 3994/4386/2603 3215/4388/2605 3977/4389/2606 +f 3992/4390/2607 3216/4391/2608 3217/4392/2609 +f 3992/4390/2607 3217/4392/2609 3973/4393/2610 +f 3969/4394/2611 3218/4395/2612 3219/4396/2613 +f 3969/4394/2611 3219/4396/2613 3954/4397/2614 +f 3220/4398/2615 3949/4399/2616 3941/4400/2617 +f 3220/4398/2615 3941/4400/2617 3221/4401/2618 +f 3222/1340/178 3224/1342/178 3225/4402/178 +f 3228/1345/179 3230/1347/179 3231/1348/179 +f 3248/1375/187 3249/4403/187 3250/1376/187 +f 3262/4404/2619 3263/4405/2620 3820/4406/2621 +f 3262/4404/2619 3820/4406/2621 3817/4407/2622 +f 3264/4408/2623 3265/4409/2624 3770/4410/2625 +f 3264/4408/2623 3770/4410/2625 3773/4411/2626 +f 3266/4412/2627 3267/4413/2619 3818/4414/2622 +f 3266/4412/2627 3818/4414/2622 3804/4415/2628 +f 3268/4416/2624 3269/4417/2629 3761/4418/2630 +f 3268/4416/2624 3761/4418/2630 3771/4419/2625 +f 3270/4420/2631 3266/4412/2627 3804/4415/2628 +f 3270/4420/2631 3804/4415/2628 3792/4421/2632 +f 3269/4417/2629 3271/4422/2633 3745/4423/2634 +f 3269/4417/2629 3745/4423/2634 3761/4418/2630 +f 3272/4424/2635 3270/4420/2631 3792/4421/2632 +f 3272/4424/2635 3792/4421/2632 3794/4425/2636 +f 3271/4422/2633 3273/4426/2637 3747/4427/2638 +f 3271/4422/2633 3747/4427/2638 3745/4423/2634 +f 3274/4428/2639 3272/4424/2635 3794/4425/2636 +f 3274/4428/2639 3794/4425/2636 3806/4429/2640 +f 3273/4426/2637 3275/4430/2641 3763/4431/2642 +f 3273/4426/2637 3763/4431/2642 3747/4427/2638 +f 3263/4405/2620 3274/4428/2639 3806/4429/2640 +f 3263/4405/2620 3806/4429/2640 3820/4406/2621 +f 3275/4430/2641 3264/4408/2623 3773/4411/2626 +f 3275/4430/2641 3773/4411/2626 3763/4431/2642 +f 3276/4432/2643 3277/4433/2644 3278/4434/2645 +f 3276/4432/2643 3278/4434/2645 3279/4435/2646 +f 3280/4436/2647 3913/4437/2648 3850/4438/2649 +f 3280/4436/2647 3850/4438/2649 3281/4439/2650 +f 3282/4440/2651 3916/4441/2652 3852/4442/2653 +f 3282/4440/2651 3852/4442/2653 3283/4443/2654 +f 3284/4444/2655 3898/4445/2656 3842/4446/2657 +f 3284/4444/2655 3842/4446/2657 3285/4447/2658 +f 3286/4448/2659 3881/4449/2660 3832/4450/2661 +f 3286/4448/2659 3832/4450/2661 3287/4451/2662 +f 3894/4452/2663 3288/4453/2664 3289/4454/2665 +f 3894/4452/2663 3289/4454/2665 3839/4455/2666 +f 3279/4435/2646 3278/4434/2645 3290/4456/2667 +f 3279/4435/2646 3290/4456/2667 3291/4457/2668 +f 3281/4439/2650 3850/4438/2649 3815/4458/2669 +f 3281/4439/2650 3815/4458/2669 3292/4459/2670 +f 3283/4443/2654 3852/4442/2653 3814/4460/2671 +f 3283/4443/2654 3814/4460/2671 3293/4461/2672 +f 3285/4447/2658 3842/4446/2657 3807/4462/2673 +f 3285/4447/2658 3807/4462/2673 3294/4463/2674 +f 3287/4451/2662 3832/4450/2661 3798/4464/2675 +f 3287/4451/2662 3798/4464/2675 3295/4465/2676 +f 3839/4455/2666 3289/4454/2665 3296/4466/2677 +f 3839/4455/2666 3296/4466/2677 3808/4467/2678 +f 3973/4393/2610 3217/4392/2609 3277/4433/2644 +f 3973/4393/2610 3277/4433/2644 3276/4432/2643 +f 3977/4389/2606 3215/4388/2605 3913/4437/2648 +f 3977/4389/2606 3913/4437/2648 3280/4436/2647 +f 3957/4385/2602 3213/4384/2601 3916/4441/2652 +f 3957/4385/2602 3916/4441/2652 3282/4440/2651 +f 3211/4381/2598 3210/4380/2597 3898/4445/2656 +f 3211/4381/2598 3898/4445/2656 3284/4444/2655 +f 3221/4401/2618 3941/4400/2617 3881/4449/2660 +f 3221/4401/2618 3881/4449/2660 3286/4448/2659 +f 3954/4397/2614 3219/4396/2613 3288/4453/2664 +f 3954/4397/2614 3288/4453/2664 3894/4452/2663 +f 3297/4468/2679 3298/4469/2680 3299/4470/2681 +f 3297/4468/2679 3299/4470/2681 3300/4471/2682 +f 3301/4472/2683 3302/4473/2684 3787/4474/2685 +f 3301/4472/2683 3787/4474/2685 3781/4475/2686 +f 3303/4476/2687 3304/4477/2688 3302/4473/2684 +f 3303/4476/2687 3302/4473/2684 3301/4472/2683 +f 3305/4478/2689 3306/4479/2690 3298/4469/2680 +f 3305/4478/2689 3298/4469/2680 3297/4468/2679 +f 3904/4480/2691 3880/4481/2692 3304/4477/2688 +f 3904/4480/2691 3304/4477/2688 3303/4476/2687 +f 3307/4482/2693 3308/4483/2694 3306/4479/2690 +f 3307/4482/2693 3306/4479/2690 3305/4478/2689 +f 3880/4481/2692 3307/4482/2693 3305/4478/2689 +f 3880/4481/2692 3305/4478/2689 3304/4477/2688 +f 3302/4473/2684 3304/4477/2688 3305/4478/2689 +f 3302/4473/2684 3305/4478/2689 3297/4468/2679 +f 3787/4474/2685 3302/4473/2684 3297/4468/2679 +f 3787/4474/2685 3297/4468/2679 3300/4471/2682 +f 3309/4484/2695 3310/4485/2696 3311/4486/2697 +f 3309/4484/2695 3311/4486/2697 3312/4487/2698 +f 3826/4488/2699 3782/4489/2700 3313/4490/2701 +f 3826/4488/2699 3313/4490/2701 3314/4491/2702 +f 3854/4492/2703 3826/4488/2699 3314/4491/2702 +f 3854/4492/2703 3314/4491/2702 3315/4493/2704 +f 3316/4494/2705 3309/4484/2695 3312/4487/2698 +f 3316/4494/2705 3312/4487/2698 3317/4495/2706 +f 3905/4496/2707 3854/4492/2703 3315/4493/2704 +f 3905/4496/2707 3315/4493/2704 3318/4497/2708 +f 3319/4498/2709 3316/4494/2705 3317/4495/2706 +f 3319/4498/2709 3317/4495/2706 3320/4499/2710 +f 3318/4497/2708 3315/4493/2704 3316/4494/2705 +f 3318/4497/2708 3316/4494/2705 3319/4498/2709 +f 3314/4491/2702 3309/4484/2695 3316/4494/2705 +f 3314/4491/2702 3316/4494/2705 3315/4493/2704 +f 3313/4490/2701 3310/4485/2696 3309/4484/2695 +f 3313/4490/2701 3309/4484/2695 3314/4491/2702 +f 3321/4500/2711 3322/4501/2712 3783/4502/2713 +f 3321/4500/2711 3783/4502/2713 3769/4503/2711 +f 3323/4504/2714 3324/4505/2715 3813/4506/2715 +f 3323/4504/2714 3813/4506/2715 3845/4507/2716 +f 314/103/9 3323/4504/2714 3845/4507/2716 +f 314/103/9 3845/4507/2716 315/104/9 +f 3322/4501/2712 310/1707/420 312/1709/420 +f 3322/4501/2712 312/1709/420 3783/4502/2713 +f 3325/4508/2717 3326/4509/2718 3327/4510/2719 +f 3325/4508/2717 3327/4510/2719 3328/4511/2720 +f 3326/4509/2718 3329/4512/2721 3330/4513/2722 +f 3326/4509/2718 3330/4513/2722 3327/4510/2719 +f 3329/4512/2721 3331/4514/2723 3332/4515/2724 +f 3329/4512/2721 3332/4515/2724 3330/4513/2722 +f 3331/4514/2723 3333/4516/2725 3334/4517/2726 +f 3331/4514/2723 3334/4517/2726 3332/4515/2724 +f 3333/4516/2725 3335/4518/2727 3336/4519/2728 +f 3333/4516/2725 3336/4519/2728 3334/4517/2726 +f 3335/4518/2727 3337/4520/2729 3338/4521/2730 +f 3335/4518/2727 3338/4521/2730 3336/4519/2728 +f 3337/4520/2729 3339/4522/2731 3340/4523/2732 +f 3337/4520/2729 3340/4523/2732 3338/4521/2730 +f 3339/4522/2731 3341/4524/2733 3342/4525/2734 +f 3339/4522/2731 3342/4525/2734 3340/4523/2732 +f 3341/4524/2733 3343/4526/2735 3344/4527/2736 +f 3341/4524/2733 3344/4527/2736 3342/4525/2734 +f 3345/4528/2735 3325/4508/2717 3328/4511/2720 +f 3345/4528/2735 3328/4511/2720 3346/4529/2736 +f 3348/1399/193 3356/1407/193 3349/1400/193 +f 3357/4530/2737 3358/4531/2738 3359/4532/2739 +f 3357/4530/2737 3359/4532/2739 3360/4533/2740 +f 3358/4531/2738 3361/4534/2741 3362/4535/2742 +f 3358/4531/2738 3362/4535/2742 3359/4532/2739 +f 3361/4534/2741 3363/4536/2743 3364/4537/2744 +f 3361/4534/2741 3364/4537/2744 3362/4535/2742 +f 3363/4536/2743 3365/4538/2745 3366/4539/2746 +f 3363/4536/2743 3366/4539/2746 3364/4537/2744 +f 3365/4538/2745 3367/4540/2747 3368/4541/2748 +f 3365/4538/2745 3368/4541/2748 3366/4539/2746 +f 3367/4540/2747 3369/4542/2749 3370/4543/2750 +f 3367/4540/2747 3370/4543/2750 3368/4541/2748 +f 3369/4542/2749 3371/4544/2751 3372/4545/2752 +f 3369/4542/2749 3372/4545/2752 3370/4543/2750 +f 3371/4544/2751 3373/4546/2753 3374/4547/2754 +f 3371/4544/2751 3374/4547/2754 3372/4545/2752 +f 3373/4546/2753 3375/4548/2755 3376/4549/2756 +f 3373/4546/2753 3376/4549/2756 3374/4547/2754 +f 3377/4550/2757 3357/4530/2737 3360/4533/2740 +f 3377/4550/2757 3360/4533/2740 3378/4551/2756 +f 3358/4531/2738 3357/4530/2737 3379/4552/2758 +f 3358/4531/2738 3379/4552/2758 3380/4553/2759 +f 3361/4534/2741 3358/4531/2738 3380/4553/2759 +f 3361/4534/2741 3380/4553/2759 3381/4554/2760 +f 3363/4536/2743 3361/4534/2741 3381/4554/2760 +f 3363/4536/2743 3381/4554/2760 3382/4555/2761 +f 3365/4538/2745 3363/4536/2743 3382/4555/2761 +f 3365/4538/2745 3382/4555/2761 3383/4556/2762 +f 3367/4540/2747 3365/4538/2745 3383/4556/2762 +f 3367/4540/2747 3383/4556/2762 3384/4557/2763 +f 3369/4542/2749 3367/4540/2747 3384/4557/2763 +f 3369/4542/2749 3384/4557/2763 3385/4558/2764 +f 3371/4544/2751 3369/4542/2749 3385/4558/2764 +f 3371/4544/2751 3385/4558/2764 3386/4559/2765 +f 3373/4546/2753 3371/4544/2751 3386/4559/2765 +f 3373/4546/2753 3386/4559/2765 3387/4560/2766 +f 3375/4548/2755 3373/4546/2753 3387/4560/2766 +f 3375/4548/2755 3387/4560/2766 3388/4561/2767 +f 3357/4530/2737 3377/4550/2757 3389/4562/2767 +f 3357/4530/2737 3389/4562/2767 3379/4552/2758 +f 3380/4553/2759 3379/4552/2758 3390/4563/2768 +f 3380/4553/2759 3390/4563/2768 3391/4564/2769 +f 3381/4554/2760 3380/4553/2759 3391/4564/2769 +f 3381/4554/2760 3391/4564/2769 3392/4565/2770 +f 3382/4555/2761 3381/4554/2760 3392/4565/2770 +f 3382/4555/2761 3392/4565/2770 3393/4566/2771 +f 3383/4556/2762 3382/4555/2761 3393/4566/2771 +f 3383/4556/2762 3393/4566/2771 3394/4567/2772 +f 3384/4557/2763 3383/4556/2762 3394/4567/2772 +f 3384/4557/2763 3394/4567/2772 3395/4568/2773 +f 3385/4558/2764 3384/4557/2763 3395/4568/2773 +f 3385/4558/2764 3395/4568/2773 3396/4569/2774 +f 3386/4559/2765 3385/4558/2764 3396/4569/2774 +f 3386/4559/2765 3396/4569/2774 3397/4570/2775 +f 3387/4560/2766 3386/4559/2765 3397/4570/2775 +f 3387/4560/2766 3397/4570/2775 3398/4571/2776 +f 3388/4561/2767 3387/4560/2766 3398/4571/2776 +f 3388/4561/2767 3398/4571/2776 3399/4572/2777 +f 3379/4552/2758 3389/4562/2767 3400/4573/2777 +f 3379/4552/2758 3400/4573/2777 3390/4563/2768 +f 4171/4574/2778 3405/4575/2779 3406/4576/2780 +f 4171/4574/2778 3406/4576/2780 4165/4577/2781 +f 3407/4578/2782 3408/4579/2783 3409/4580/2782 +f 3407/4578/2782 3409/4580/2782 3410/4581/2784 +f 4156/4582/2785 3413/4583/2786 3414/4584/2785 +f 4156/4582/2785 3414/4584/2785 4131/4585/2787 +f 4161/4586/2788 4166/4587/2789 4160/4588/2788 +f 4161/4586/2788 4160/4588/2788 4146/4589/2790 +f 3421/1422/198 3422/4590/198 3423/1423/198 +f 3427/4591/2791 3428/4592/2792 3429/4593/2793 +f 3427/4591/2791 3429/4593/2793 3430/4594/2794 +f 3430/4594/2794 3429/4593/2793 3431/4595/2795 +f 3430/4594/2794 3431/4595/2795 3432/4596/2796 +f 3432/4596/2796 3431/4595/2795 3433/4597/2797 +f 3432/4596/2796 3433/4597/2797 3434/4598/2798 +f 3434/4598/2798 3433/4597/2797 3435/4599/2799 +f 3434/4598/2798 3435/4599/2799 3436/4600/2800 +f 3436/4600/2800 3435/4599/2799 3437/4601/2801 +f 3436/4600/2800 3437/4601/2801 3438/4602/2802 +f 3438/4602/2802 3437/4601/2801 3439/4603/2803 +f 3438/4602/2802 3439/4603/2803 3440/4604/2804 +f 3440/4604/2804 3439/4603/2803 3441/4605/2805 +f 3440/4604/2804 3441/4605/2805 3442/4606/2806 +f 3442/4606/2806 3441/4605/2805 3443/4607/2807 +f 3442/4606/2806 3443/4607/2807 3444/4608/2808 +f 3444/4608/2808 3443/4607/2807 3445/4609/2809 +f 3444/4608/2808 3445/4609/2809 3446/4610/2810 +f 3447/4611/2811 3448/4612/2812 3428/4592/2792 +f 3447/4611/2811 3428/4592/2792 3427/4591/2791 +f 3455/1433/200 3456/4613/200 3454/1432/200 +f 3459/4614/2813 3460/4615/2814 3461/4616/2815 +f 3459/4614/2813 3461/4616/2815 3462/4617/2816 +f 3462/4617/2816 3461/4616/2815 3463/4618/2817 +f 3462/4617/2816 3463/4618/2817 3464/4619/2818 +f 3464/4619/2818 3463/4618/2817 3465/4620/2819 +f 3464/4619/2818 3465/4620/2819 3466/4621/2820 +f 3466/4621/2820 3465/4620/2819 3467/4622/2821 +f 3466/4621/2820 3467/4622/2821 3468/4623/2822 +f 3468/4623/2822 3467/4622/2821 3469/4624/2823 +f 3468/4623/2822 3469/4624/2823 3470/4625/2824 +f 3470/4625/2824 3469/4624/2823 3471/4626/2825 +f 3470/4625/2824 3471/4626/2825 3472/4627/2826 +f 3472/4627/2826 3471/4626/2825 3473/4628/2827 +f 3472/4627/2826 3473/4628/2827 3474/4629/2828 +f 3474/4629/2828 3473/4628/2827 3475/4630/2829 +f 3474/4629/2828 3475/4630/2829 3476/4631/2830 +f 3476/4631/2830 3475/4630/2829 3477/4632/2831 +f 3476/4631/2830 3477/4632/2831 3478/4633/2832 +f 3479/4634/2833 3480/4635/2831 3460/4615/2814 +f 3479/4634/2833 3460/4615/2814 3459/4614/2813 +f 3462/4617/2816 3481/4636/2834 3482/4637/2835 +f 3462/4617/2816 3482/4637/2835 3459/4614/2813 +f 3464/4619/2818 3483/4638/2836 3481/4636/2834 +f 3464/4619/2818 3481/4636/2834 3462/4617/2816 +f 3466/4621/2820 3484/4639/2837 3483/4638/2836 +f 3466/4621/2820 3483/4638/2836 3464/4619/2818 +f 3468/4623/2822 3485/4640/2838 3484/4639/2837 +f 3468/4623/2822 3484/4639/2837 3466/4621/2820 +f 3470/4625/2824 3486/4641/2839 3485/4640/2838 +f 3470/4625/2824 3485/4640/2838 3468/4623/2822 +f 3472/4627/2826 3487/4642/2840 3486/4641/2839 +f 3472/4627/2826 3486/4641/2839 3470/4625/2824 +f 3474/4629/2828 3488/4643/2841 3487/4642/2840 +f 3474/4629/2828 3487/4642/2840 3472/4627/2826 +f 3476/4631/2830 3489/4644/2842 3488/4643/2841 +f 3476/4631/2830 3488/4643/2841 3474/4629/2828 +f 3478/4633/2832 3490/4645/2843 3489/4644/2842 +f 3478/4633/2832 3489/4644/2842 3476/4631/2830 +f 3459/4614/2813 3482/4637/2835 3491/4646/2843 +f 3459/4614/2813 3491/4646/2843 3479/4634/2833 +f 3481/4636/2834 3492/4647/2844 3493/4648/2845 +f 3481/4636/2834 3493/4648/2845 3482/4637/2835 +f 3483/4638/2836 3494/4649/2846 3492/4647/2844 +f 3483/4638/2836 3492/4647/2844 3481/4636/2834 +f 3484/4639/2837 3495/4650/2847 3494/4649/2846 +f 3484/4639/2837 3494/4649/2846 3483/4638/2836 +f 3485/4640/2838 3496/4651/2848 3495/4650/2847 +f 3485/4640/2838 3495/4650/2847 3484/4639/2837 +f 3486/4641/2839 3497/4652/2849 3496/4651/2848 +f 3486/4641/2839 3496/4651/2848 3485/4640/2838 +f 3487/4642/2840 3498/4653/2850 3497/4652/2849 +f 3487/4642/2840 3497/4652/2849 3486/4641/2839 +f 3488/4643/2841 3499/4654/2851 3498/4653/2850 +f 3488/4643/2841 3498/4653/2850 3487/4642/2840 +f 3489/4644/2842 3500/4655/2852 3499/4654/2851 +f 3489/4644/2842 3499/4654/2851 3488/4643/2841 +f 3490/4645/2843 3501/4656/2853 3500/4655/2852 +f 3490/4645/2843 3500/4655/2852 3489/4644/2842 +f 3482/4637/2835 3493/4648/2845 3502/4657/2854 +f 3482/4637/2835 3502/4657/2854 3491/4646/2843 +f 4397/4658/2855 4399/4659/2856 3507/4660/2857 +f 4397/4658/2855 3507/4660/2857 3508/4661/2858 +f 3509/4662/2859 3510/4663/2860 3511/4664/2859 +f 3509/4662/2859 3511/4664/2859 3512/4665/2861 +f 4404/4666/2862 4417/4667/2863 3515/4668/2862 +f 4404/4666/2862 3515/4668/2862 3516/4669/2864 +f 4401/4670/2865 4407/4671/2866 4402/4672/2865 +f 4401/4670/2865 4402/4672/2865 4398/4673/2867 +f 3523/1450/205 3524/1455/205 3525/1451/205 +f 3529/1456/2868 3530/1459/2868 3531/1457/2868 +f 3533/1460/207 316/1710/421 318/1712/423 +f 3533/1460/207 318/1712/423 3534/1461/2868 +f 3540/1467/208 320/1468/425 319/1713/424 +f 3541/1469/210 3543/1471/210 3544/4674/210 +f 3545/1472/210 322/1715/427 324/1717/429 +f 3545/1472/210 324/1717/429 3546/1473/210 +f 3547/1474/211 3548/4675/211 3549/1475/211 +f 3550/1476/211 3549/1475/211 3551/1477/211 +f 3552/1478/211 326/1479/431 325/1718/430 diff --git a/shaders/comp.spv b/shaders/comp.spv new file mode 100644 index 0000000000000000000000000000000000000000..7416b6fda9bf96c1da5cd4b3f081a8e2a9cc4e99 GIT binary patch literal 2196 zcmZvcYflqV5Qb0b1q8W?fH$y!cN9?pQ3NSU3Q3b{(9cb2H)fNiOWK9VNB@97%3tLd z6W?cdM;78~CUfRJ?_AEz+2;Ee`kl+UAvf%HU9!eqpAaXk6zgj3ptjVD+Dj{|%P>Y< zJ|@B$6{jd&kQ_Dr4hKV$G2vk203yOg^7{2j|B_K~gRWX@RO|I>ZMV@nK5q1)v%qTv ze#dLH{jS%F{8JC!K!)dcTER&>ODKww&5u2x9Db+meU~oEqNZ;_qZ)*V&0xQC8n&8| zA9nUX#^*&hA^oY@jr>-ij84^;VvPN9*z+N0aqe>J1!2pN&JsL{!QEP65O$@D`b|n7 zr*Zcc0c=XxH_%elb+mka!2u9CYU%;Fv#?9|D}J-}I3M^6Vu&EZx8YhQ9twa@z2 zPa>iHF@C|911ca)YzlUJy0E_(wDs-!Rs7et^Vo&BU&MohKm9w8mydfzE^4#BW&Pz zN+wh_vF4PGeC#LXWA(~Zj|!Twiv@gI_7!RN_;5Zbos)oXq&7Lg7G=Y|Dq+DNmgWq6 zN>P|gSwd|73$UpL`&w%A?au1Xe1mWh&WLwini@HS!`sMmW|V`OgU@Qu?6C2r599)) zc5G&9y|}G?S(1}*7i``j3;$VZxWvYum!=l-8~?ucS^r0}@qzzX8a{WSPTq^v$y>pO z_e>feFzUqSZGdqn-a^vHf?G{-Fu2%jDMqZ<>E8J7Qrl`~E;|y6w)uTXOyw`dbLJhv z0Y}!0sXXW9JbCR-zMecd&1qt=wOD=49=5tT`vLq)lp9k9G!+i0< zhKCRHd?+bP=nFo~`iTS|-T*$>@a#^{wNLJp)U_ViZ4FC^er$IFyM9maX3JvbcZ zy)NMma6dTA{*46ur#QrYE5Q%^M~ZD|Pd?5nnig+mQ^MOL7WG=sz~S3nwzSXQ<-Kg{ am({r~4BTQ@w71y!TW`U)C4V%5b;)1aNSsyx literal 0 HcmV?d00001 diff --git a/shaders/compComp.spv b/shaders/compComp.spv new file mode 100644 index 0000000000000000000000000000000000000000..7416b6fda9bf96c1da5cd4b3f081a8e2a9cc4e99 GIT binary patch literal 2196 zcmZvcYflqV5Qb0b1q8W?fH$y!cN9?pQ3NSU3Q3b{(9cb2H)fNiOWK9VNB@97%3tLd z6W?cdM;78~CUfRJ?_AEz+2;Ee`kl+UAvf%HU9!eqpAaXk6zgj3ptjVD+Dj{|%P>Y< zJ|@B$6{jd&kQ_Dr4hKV$G2vk203yOg^7{2j|B_K~gRWX@RO|I>ZMV@nK5q1)v%qTv ze#dLH{jS%F{8JC!K!)dcTER&>ODKww&5u2x9Db+meU~oEqNZ;_qZ)*V&0xQC8n&8| zA9nUX#^*&hA^oY@jr>-ij84^;VvPN9*z+N0aqe>J1!2pN&JsL{!QEP65O$@D`b|n7 zr*Zcc0c=XxH_%elb+mka!2u9CYU%;Fv#?9|D}J-}I3M^6Vu&EZx8YhQ9twa@z2 zPa>iHF@C|911ca)YzlUJy0E_(wDs-!Rs7et^Vo&BU&MohKm9w8mydfzE^4#BW&Pz zN+wh_vF4PGeC#LXWA(~Zj|!Twiv@gI_7!RN_;5Zbos)oXq&7Lg7G=Y|Dq+DNmgWq6 zN>P|gSwd|73$UpL`&w%A?au1Xe1mWh&WLwini@HS!`sMmW|V`OgU@Qu?6C2r599)) zc5G&9y|}G?S(1}*7i``j3;$VZxWvYum!=l-8~?ucS^r0}@qzzX8a{WSPTq^v$y>pO z_e>feFzUqSZGdqn-a^vHf?G{-Fu2%jDMqZ<>E8J7Qrl`~E;|y6w)uTXOyw`dbLJhv z0Y}!0sXXW9JbCR-zMecd&1qt=wOD=49=5tT`vLq)lp9k9G!+i0< zhKCRHd?+bP=nFo~`iTS|-T*$>@a#^{wNLJp)U_ViZ4FC^er$IFyM9maX3JvbcZ zy)NMma6dTA{*46ur#QrYE5Q%^M~ZD|Pd?5nnig+mQ^MOL7WG=sz~S3nwzSXQ<-Kg{ am({r~4BTQ@w71y!TW`U)C4V%5b;)1aNSsyx literal 0 HcmV?d00001 diff --git a/shaders/compile.sh b/shaders/compile.sh index 34d491d..b8f2cac 100755 --- a/shaders/compile.sh +++ b/shaders/compile.sh @@ -1,2 +1,6 @@ /usr/bin/glslc shader.vert -o vert.spv /usr/bin/glslc shader.frag -o frag.spv + +/usr/bin/glslc shaderCompute.vert -o vertComp.spv +/usr/bin/glslc shaderCompute.frag -o fragComp.spv +/usr/bin/glslc shaderCompute.comp -o compComp.spv diff --git a/shaders/frag.spv b/shaders/frag.spv index da37f7ede672fe162b5322c32f5938a7836409a7..72e9c53dc86abc778e95d42ceb0acccd813babad 100644 GIT binary patch literal 956 zcmYk4OH0F05QWFKsgG*wyJ~$@T`J;2MG$pSB%4A71(%_;Q3A0kHHz*8_x>nAiFAxie=bEf)4C%_gj3bJn!+TCjo`6IV`lw|&<>dWri-C#T0Ks#Z*dXlgcX zCGFt38w|LZ78ZmxVMmyko_iJ2si^E`KYCoU8FSm7+v&LN8?QGUdN1)u=zC!>@V$O8 z@_TXc=A)a+>4HHoeC_82juiR&jyZ{k=rwLdVKh=XF^)Pki~aYz?(;D8#X9N_pO2&N z)4l)RilR|}tSwnxhh9pcqnD@9yN!Z@l8%Msq(9zggjDK=*Tylir~mcOph$;*R+!lpXlj>T=3|L=^5@oG1?`;?DHD^s!n*#>zPSj zzoA&``cU5hT|FHeYx=5HnYDo+$@jnHP&UzhWHiXz|1U0Z*5T>ANb> zGcolS1$z2U{Vb;(eLaZd?TWxV?ygjYZvdC&Sl5|8ztS9=I>XT$dOX1W$@RJL4-x-K AFaQ7m delta 278 zcmX|+IS#@w6hy~aut;pyB5kCU)F31Th#Q0wQKh7SD?m>baRzRYgV7){gABHwzyJKr z?rfL%II1jQki%oz`gviI0AJ3{>B1}e#I?=cxW~>^JfG%xEtrxq&?7M^>F2bDNM8lt z1#L!OxdQ^+whN?)c+)T~^>|T9Y1dTM!xPo-sj7AuG@8R-90gH>e~IIuX+RCj4NQm{ SC|_|sWW%xgonmi3eMvr;)DW=% diff --git a/shaders/fragComp.spv b/shaders/fragComp.spv new file mode 100644 index 0000000000000000000000000000000000000000..72e9c53dc86abc778e95d42ceb0acccd813babad GIT binary patch literal 956 zcmYk4OH0F05QWFKsgG*wyJ~$@T`J;2MG$pSB%4A71(%_;Q3A0kHHz*8_x>nAiFAxie=bEf)4C%_gj3bJn!+TCjo`6IV`lw|&<>dWri-C#T0Ks#Z*dXlgcX zCGFt38w|LZ78ZmxVMmyko_iJ2si^E`KYCoU8FSm7+v&LN8?QGUdN1)u=zC!>@V$O8 z@_TXc=A)a+>4HHoeC_82juiR&jyZ{k=rwLdVKh=XF^)Pki~aYz?(;D8#X9N_pO2&N z)4l)RilR|}tSwnxhh9pcqnD@9yN!Z@l8%Msq(9zggjDK=*Tylir~mcOph$;*R+!lpXlj>T=3|L=^5@oG1?`;?DHD^s!n*#>zPSj zzoA&``cU5hT|FHeYx=5HnYDo+$@jnHP&UzhWHiXz|1U0Z*5T>ANb> zGcolS1$z2U{Vb;(eLaZd?TWxV?ygjYZvdC&Sl5|8ztS9=I>XT$dOX1W$@RJL4-x-K AFaQ7m literal 0 HcmV?d00001 diff --git a/shaders/shader.frag b/shaders/shader.frag index 7c5b0e7..b63641b 100644 --- a/shaders/shader.frag +++ b/shaders/shader.frag @@ -1,9 +1,15 @@ #version 450 +layout(binding = 1) uniform sampler2D texSampler; + layout(location = 0) in vec3 fragColor; +layout(location = 1) in vec2 fragTexCoord; layout(location = 0) out vec4 outColor; void main() { - outColor = vec4(fragColor, 1.0); + outColor = texture(texSampler, fragTexCoord * 1.0); + + vec2 coord = gl_PointCoord - vec2(0.5); +// outColor = vec4(fragColor, 0.5 - length(coord)); } diff --git a/shaders/shader.vert b/shaders/shader.vert index 1d078d1..8e31111 100644 --- a/shaders/shader.vert +++ b/shaders/shader.vert @@ -6,14 +6,20 @@ layout(binding = 0) uniform UniformBufferObject { mat4 proj; } ubo; -layout(location = 0) in vec2 inPosition; - +layout(location = 0) in vec3 inPosition; layout(location = 1) in vec3 inColor; +layout(location = 2) in vec2 inTexCoord; layout(location = 0) out vec3 fragColor; +layout(location = 1) out vec2 fragTexCoord; void main() { -// gl_Position = vec4(inPosition, 0.0, 1.0); - gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 0.0, 1.0); + gl_Position = vec4(inPosition, 1.0); + gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0); + +// gl_PointSize = 5.0; +// gl_Position = vec4(inPosition.xy, 1.0, 1.0); + fragColor = inColor; + fragTexCoord = inTexCoord; } diff --git a/shaders/shaderCompute.comp b/shaders/shaderCompute.comp new file mode 100644 index 0000000..156d0eb --- /dev/null +++ b/shaders/shaderCompute.comp @@ -0,0 +1,32 @@ +#version 450 + +struct Particle { + vec2 position; + vec2 velocity; + vec4 color; +}; + +layout (binding = 0) uniform ParameterUBO { + float deltaTime; +} ubo; + + +layout(std140, binding = 2) readonly buffer ParticleSSBOIn { + Particle particlesIn[ ]; +}; + +layout(std140, binding = 3) buffer ParticleSSBOOut { + Particle particlesOut[ ]; +}; + +layout (local_size_x = 256, local_size_y = 1, local_size_z = 1) in; + +void main() +{ + uint index = gl_GlobalInvocationID.x; + + Particle particleIn = particlesIn[index]; + + particlesOut[index].position = particleIn.position + particleIn.velocity.xy * ubo.deltaTime; + particlesOut[index].velocity = particleIn.velocity; +} diff --git a/shaders/shaderCompute.frag b/shaders/shaderCompute.frag new file mode 100644 index 0000000..b63641b --- /dev/null +++ b/shaders/shaderCompute.frag @@ -0,0 +1,15 @@ +#version 450 + +layout(binding = 1) uniform sampler2D texSampler; + +layout(location = 0) in vec3 fragColor; +layout(location = 1) in vec2 fragTexCoord; + +layout(location = 0) out vec4 outColor; + +void main() { + outColor = texture(texSampler, fragTexCoord * 1.0); + + vec2 coord = gl_PointCoord - vec2(0.5); +// outColor = vec4(fragColor, 0.5 - length(coord)); +} diff --git a/shaders/shaderCompute.vert b/shaders/shaderCompute.vert new file mode 100644 index 0000000..8e31111 --- /dev/null +++ b/shaders/shaderCompute.vert @@ -0,0 +1,25 @@ +#version 450 + +layout(binding = 0) uniform UniformBufferObject { + mat4 model; + mat4 view; + mat4 proj; +} ubo; + +layout(location = 0) in vec3 inPosition; +layout(location = 1) in vec3 inColor; +layout(location = 2) in vec2 inTexCoord; + +layout(location = 0) out vec3 fragColor; +layout(location = 1) out vec2 fragTexCoord; + +void main() { + gl_Position = vec4(inPosition, 1.0); + gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0); + +// gl_PointSize = 5.0; +// gl_Position = vec4(inPosition.xy, 1.0, 1.0); + + fragColor = inColor; + fragTexCoord = inTexCoord; +} diff --git a/shaders/vert.spv b/shaders/vert.spv index 00c2804a31e015b61eb14e95b5849cb649d018d1..91aaf202c6d74be7e674cfea4aa4f4afb03beff0 100644 GIT binary patch literal 1976 zcmZ9M+foxj5Qay{3Zj6B98|0L+;fHRk<;Pol2fDM)^->?Phf&iHv^$I%kF5V4pTnrF9Y+UXyb(olQ)U{=yli-iR&_RgCEunP+0=O>*>V^) zg0VY{7%+O}Fmy0xSJjsuQ9FxV^e4+z>h;4DMm#>29cZ$!#*1aM%;;nJ5c|egyrn{%uH?m9!~F=%>tYJ@R>!?W(L^g8P}J6PQ9Ub z=#$dUYcETt6i>=&&!Dgi~4|fJWq%7Vg?c~J2p4+@{ zF!GFOFH1O=JlLZW7IiTr^1$c3G3{`{IS-rpyLh-)CB~e*g?~*NvD7v#`$n#F&)NJv zfH@)Nrfhn|8z2X^>!qvlR?dN6&UMak{)%*J!v9n|HMp9wnJ1XL1OMybbLSQ9+=Cj3 zU)2s596mPl2E)Imoml6`X8vHSx+CXsUluWch44OK3#F!U2|fHQl)Mu;rmcrf<``!> z-c*ip{3OtbI;GpXn{N(a(7axZ~WG4yPh< zoIBFNf9o7#?n;OQcX9Wm6Gv_rcV9ZVi+doQSa8>yhti9^S&$9Ja(#Ft9jw@!$2nH) z&7v^k;p3+_zf?1QdmBW9w!*jJQOXuCtOWqSUKHkAA32y)&Zw33GDqNHN E2cEc$xc~qF literal 1676 zcmZ9L+fEZv6o$8L2M`2AtCn6{ymgSThqo|FmqUt;1Ghl=K?Up6`&c zV9IGCIg93EYFG3-=-3cvUQ(AlmOPP^^;eSqqk@W=HO*GLxxe3ReQI}y!}cio5%}%E zhJL$eW51i&Q=hzFKU>nsFSo5B&J6A1D5Ixk57>n^-imiH$;` z(`i0Cq__=}L;F*csmWs8S+U)~4nNva(h0l%BnAV-#z8QNdD@fRIi7kfNq-4#KZ*w* z#{Iq@?;o9LKlSj^7|3=JV++!F=Ct%E2mL4BPvb~gN8&1|rF?jFC zo#Wjoh~l)SlD>ltGo+~=a7EueRbX?Rb{Ka7LpzKbF!pyCHW=?gZ}!f5S0;OU!pJAa z(MM-4ON!VQ0i8W{B9FPnI{fo>VAQ>nxH@JR>+sLlfl+rRX=)yv)+HS0Z)R@l6RQ?{ zI4=5p=lI-bS=-aUE-v5(dsWtybWO6RdE5sd&Q|n0BVChlwsW8VEc$K8pOq#btSSq> zT@PYNO?j83nMwRr?(W=;KLu7 z>v=Wz$zREBdbs$yZ0-OTx1`yPdh%=1#K7r~UzdPUPcCoAasKVpJ9|t01KI4$9`xUq zrUs1oqud6kKR)m2;tko^tSpYt`+~g?C)^W$IMn0L+;fHRk<;Pol2fDM)^->?Phf&iHv^$I%kF5V4pTnrF9Y+UXyb(olQ)U{=yli-iR&_RgCEunP+0=O>*>V^) zg0VY{7%+O}Fmy0xSJjsuQ9FxV^e4+z>h;4DMm#>29cZ$!#*1aM%;;nJ5c|egyrn{%uH?m9!~F=%>tYJ@R>!?W(L^g8P}J6PQ9Ub z=#$dUYcETt6i>=&&!Dgi~4|fJWq%7Vg?c~J2p4+@{ zF!GFOFH1O=JlLZW7IiTr^1$c3G3{`{IS-rpyLh-)CB~e*g?~*NvD7v#`$n#F&)NJv zfH@)Nrfhn|8z2X^>!qvlR?dN6&UMak{)%*J!v9n|HMp9wnJ1XL1OMybbLSQ9+=Cj3 zU)2s596mPl2E)Imoml6`X8vHSx+CXsUluWch44OK3#F!U2|fHQl)Mu;rmcrf<``!> z-c*ip{3OtbI;GpXn{N(a(7axZ~WG4yPh< zoIBFNf9o7#?n;OQcX9Wm6Gv_rcV9ZVi+doQSa8>yhti9^S&$9Ja(#Ft9jw@!$2nH) z&7v^k;p3+_zf?1QdmBW9w!*jJQOXuCtOWqSUKHkAA32y)&Zw33GDqNHN E2cEc$xc~qF literal 0 HcmV?d00001 diff --git a/textures/texture.jpg b/textures/texture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b7b9406b5b7c607163a828914ae0b6ba146af8b GIT binary patch literal 253529 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%0DQP~ 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%0D-qC)icwbAJ)Aws&#TMv8?nz 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 bBzWAA;1)r{t;MX< z^*u)T-6s02rFXY_t(v|!YW7;-mL}4RsdH6d@Nh2}W$AvR)9jAF7Kf+DcjZSr+;uEg zdbAB1#;*=aq;iBweQy&uEOrQrsbR(XLe>p7?CEeHH_V*uBL`|kFqpw31mF#%uc+fZ zXSaBv&|N{O>DPS&soLn5dX=j@R}BNN)5RkZX>Otxbw!n~E|Co0V&Si2SLWYDyK=fNX%_SP}@_g9IOJ*V}t5?)}WVCG`33pF3Lq4E0yklR6fSY8OJc zXg?ubt~me>Ffs5&3)qY>@_Av}vRyBr!J~BLrjrznD%&e%*+6GzV$4oHOD5jIkop)|H0C&&Z=CAE^eJ4+d&d^4l{EVJC z&QEURxu>3MO)knULUWk>@XW$Iz5lgIcumnPx<&oQvDIBhVUAmCJvvo7 zO}jFIV-%+%S)?kvh%J|Fki-N&WwF1qxVR$9*#xs3yM-BJ`uFz#02S^p!MB9^CAUmR z;(nv1EV|6sw^rI@^MK1`Zx$nGw^BVayP1PZa@$lYl?AtX`nS~&kAidbaYQWfWBLW86b~-wo-IYCe79s1QRD2!1m-3RV=plHnKd%-4SDFmChqT zpc2f@i~t5nCcOB^%=2Dm_*8lL{u4AStv!675Os^Yrj3j0kwa!KB`jF88;BxFuy;41 zWC%C`Ko~r~u6zOfKzL_ue}CaWRq7h;g~U59E%e)$i&Am8l3LyJw>SihA>Fi)5ZA44 zE^TJChUV8#Tc|D7CW2J~&qeY*{6L*&|PI!>M!Sy`S|NYi3uT|pm~LwV(f(Aab%HR9b~ zFB3cp>kUIrw$|p-^$?MRJ*1@DYBsD1hIJf=je$4>Wmrg!f~+g6rW&6{bkuWi9hvA4 z#BYZyt{q#cG~F&W)O2J)cO)v(qgp#MA(i+M%o$GDjsq$%R%3-8Pl5<-btaq_-rHk& z6^;e~0YLlXHR|gh8FX(Mx?iX-FXOY&wNq*QF|KZIpm}3oQ$Uf-!DJ~RGAw~3D17D; zV+g~_{Z5Uf-58!Pq?Mgj)v~P&ne2Z;2tTED>0;ozBx#CIr>0$vlTQ31w6ky2_`nTJSjYXYRilEv3Q#S z(|W9>c?+H~$8S}3#a76+UiAzm?WI*C3=R+a8swL7NVkrvR5{NqG6DYpQC*8tWtP;k z@CdFa)$`q1+z|@pq;0%WkvFg=mn4@qax7v&BP@Vq5PKi`)OMPdrDNwLcMl|TsN9X) zaL*&-ziQK0SL&TU`Z#Wk?`b5#cg+xC$j%jqHJ@Eb&Y+-IBiMJ%V$`BanwdFN*I+Pe z5(33Y2;6QU_X<{7imMeHoaEqV1N5f|+b&sOO$&4x zB6*qeQ3zkx*#7|6_ODlIR*+ceIz64FVIYS~vRIcS`b-GfV{|T zbohMSpX8GMOmhKIFsa|{Di$B&zL@-mEQyD}q&@0J89x1~Z~)?iRKy@)`%;liMGSZ6 zy-8?8$7)kdMk!7+jM2$xQVj#gG+VxC5)XPspNJky1kAKuq`{I#EUi63UPnuJY zYDJ}ky-ed9Oscpd()Fjah~+-(Fl9?#VH?ZV~SHq(F(&I=?^^9 z9Jkt+1PVp1gyNKwPCzt`+L59c-jTWQPx{g}381Kme$)>JnERYklSt50%|w3HAsFxP zN`AtpgG59}G%1)5j%g1)>Di#Czci=)Y0r8_Jk*wjImIEzy*cA1m$!36G(u1`#0m$s zNobIKQ6AqkywM!;XftDsW}hDTr5NlffcMQ(A%s&X=e;fsI-HDP(;<(KnsNG4jMHNs zg$8V3Db|#BG(`x^a6a_I8KoH_m;>!pLmhr8!4!-3G{Tvi77%`gW%P-eyhnqi-M3CD9pcgMX1F^3;| zeB-dC;Bid9YGg6T#%YBp{V9eAw=@vOA8K?TG^$6G-qrIygV|pQ$>TmLj|?Q@qwzMmN;Su;beEOc z=4h<$c z^#W+RUHVvB#~WR0T9n9MD;r4h=1x$0oQ#E7$1*!AjAW7d=3J|K;Qo<@9+lN2r~VxL zJ<__PSC7Pgxzc6TbS*1ax6-tI7C86K)f)VTUJW`m?9ne0+%X|mFabDYk7D$Woz!~S z)OA~~t+LeOj&yFP>bT>I&fi?r8Fqa&kX^3!_Mnt$oul&`%tU5pW{XMa9)+^dbRnw2 zsLj!~T3(pCbTVINSrW{g06Wx@8P%b<Hh!+G`pX~hvGWw z(@oSg@-OtAJ5gx%*vLR4>PU0^+ta*xHsBv9GPxdMQ6CWT_whm0UNYS38W&D!5NLfH zJnZSGHM}$3Uc1O$t}bO|VzRRmO2$+!a7&U{sN$6W0Mf$#9`DcOT%@P6;PoGhABztQ z^sQWJdKZY-9YJMzV{+P^?t?g%;yDIHP(dggGT)T8K~d^2{U^y9rn7I<-9vrUHuh54 z!F4B?BcAE5W+SjN%yGTQ#z<9O015!D6G+jSqIbHIJ9!zf`0P^yXvP62zDI68^`5p% zL1-YhkjZZ!B(L>9zctm54m>KLbYWd3&EHeOZKuh9zC$8A+Cd1&5(AG>9h-s2$2FzL zYk#e3UUlP^c^f>Q6ns_n)V_7dMo^3o^5O?@Mg4wFX7mjygE?&Oe6cUt7r*x6x-q2% zWaMsp9b@pr(OPD!*OT1p_A54#q-j?&T{Dsp8PLEKkO?fv^Qx!>mOOGRZt%j(sXSHj zzf~wDs`U_65OZ{5;{J-L6 zNWsyT4^;8(2VjXj(LhG}}3M2WU?7wrS9ZEI1J~ zF`>)3dmgar5w7b}>J~wzib=NadD>GHDmafMoVjAmSR7+$1G%oH<9ATmS!r?f9&zvhr*dJrHs!w z$Gf!BTrnSG@mp1>TU9Pp4f~m-_9w9)Bd`bbtrAX0otq<^oV>$qZPoym@G_)KV+*j1 zVTdOuxXyVMYpCie98-mt{o`Z2N~+9QsL3a0eIv0a-vD>3iKUt3gj>ZU2?@@?c8uU0 z@Bt@xrv&FY>@qb=n}oT!w2H+o-bv(nsoG*##Oai&eIjrrtJvy=Ji#3pq0z$HS zBa&4>*<yc@>h!FP5HElgk>NN-Ss2+J*3=)PQY6xE{*Y zai!>D#^JA9Sh&9Op?hc~ySs^>X_1eo`A9<(j_d(AU7#q&DOUHnZSO;C`tMF?GNtCL zsaZg<@0I}9LN(saw<;S7Snel+NE?nj6OGdP*4M0K)NM4F#nch3{-m`(Nq(u8AxYZh zNjpYVZe>0D)9W|-lrqV4qGSW>87UJ;2Rf>KbO7YhE>6K=Z*}Ej?cV0~7^$xg{mk^zB0ES=r4KJn%<<1d9Ht)4E8ZP!>_J zZG4v8N5(42=aL;!q7Z5f*6vukkzbhZ{uc513Z~X?2Xg3Qlw0QWS4RiAqrb@+_)zTil1D* zwXw9AT3OxP8!It$1)#He#FHGAl@dLsS${B8+zvfh8&#>rSlcI$Q?a(WH(Hc8&>Km` zl1*`IaKZloo3IF%mU8Sy+z&E9HxLw6zLTYDdPb{z)RXmgzpJE(%VT46dl0s02o6A1 zk7$t@4%ggR9z5VpaL^o2TlATcvqwKw0&1|q}<-C$O>rmgi?pHcNuF@;Jbi@2d^*^ivV^8oI70FApr z8s%8wCD84BhU=v$@^X(EdW);{&Y{xoEp$Zc9XktDJskgb@C zp*w+)u6dTXtLS}E)9~op&bev)ZB{w$EoQln@-05bH{ayL6GIZ)K_qHX<3%V?2$Zo# zbKUxaI5iuK*VDS9Yil_c)_aDtv@Lf$33TZ-sz?f$Qc0pa?g=tFaTx$B2hcPNT@F}n zI+tIQP_xr!d)tUh`Ec4?Osw*Ms~{3r#yt@N>ie01W!BOC4tx+I6ex#_gWk1z$AJ8@nWUAUGE@rVjZh zXw(!vBgF2y)U@uJzUZ9_!bH@y&>3O_zcZYFTBwTraPYzv-PDFJH%|YZ{&2wF(@*`E2KC?B?@1Ri5q4 zw?101Bm_48V=F9#Mk>zRr8Ip;*5gdltwxA%ShlBlw-*-oEdP2bP$dKr$h>V@$7*l4<6N9s4CC@pSnS{*h^u+k;JoYFii zCm|$Q{J3028@AErj5r-Pq_z0;J9}Q4>K?OAB5MTxBKFMD+(C4RR!L_!9->H^R0WvE znIR$#9@ZW>Z^RX!*Xf$2k5F9Ct~K1(USa9T;>eMTn_+Vdp^Tf1lgSt#PQOnCeyxC2 z$5?og)%u2uVbQVpZ>ZjDdh6Tu1X1}}g6h)R^v;ANj8aF;Y|=_gjzY4c?h0tUIbxKu zHBL|0h2?yGHZLz$NX0YS9WmGaGk>Yyz2d_a?eaWV=T3|H^GRmJ%8M%Pck=yei@dJD zZ~!>1N5nl2_U1dCa!!eR{U=z~u7BM132p9l_=EjKW^^)+E)0`|Pcl>yyF6ez`diN3 z1L8E--B+R~S@hgmgY_l7=DBNerfbk$UfMEkM7LQcd48VVQr=ZSpg39o0GEscP0jaK z>3vgWq}b@)ZPC~0`eo?4)b&NZTa7dR57kVs1Xkh*q*;qga;`vBkAt^vlkn$}R%d-K z)h^s_o9*VmLRG1J8(QAq?OTuHXN0~U>s>83LUdHHX|~o6B(|1N>az)Al3_HHEOzp- zDJiv$+OC-$ytb=H`Lq14acCC`k0PTu^4pBZOgn{>OCW* z?pipGlDAUaF0u5MTA*PBu)wP{03S0AESGWyM?R&D%fTh9rxVm@qZ@8&_w%pjj*JzN zwAC{^VH+DD#Am*1O6oQ-%^b%dD`O)#2k-W+*QW0@-FHN_)wCLZ4Q|ygCz93jjKg}9$G$(-z1Z&Tm&vU4UYV?QFG*i%dJ%x?gUV}2&B{b& zZR@!MISL6v*aY%MGtFr_2Zo(r1=6m+rrp{)z8*Q(V-M6G{{XiYy0YrpeEV3smB!Zq z9OK{o^IaFDwO``4g40n@(jWuif%eb6Usp=lm(7?R1Et2C1;L1s0+|_c+$hdJd}6+o z^frn9!}Lc_^qLT5(e%hIr}oXpH_U%|UP|#MkVMuk~yA1U$eJR~sL%|kD8*j{`+}?w9@WnJi>zYOb#k`)Cb@K%f+-tQw3TFd2z)$# zRly0gfWDZ0XUt{+*lj*^TasxrHIDa4*mYQR4N~9C)O0Ir`+X(E5yf%mNpA+?rJZ6) z6MHC76^Y1f?F;UKG#;3^ySdP`+btIM>fK|xx;j~uSzC>)R!3G0tZ|X%whNz7$RuhS zj<MS~C&lqnMz#j}fAs%#0BR2$6|WTX-o+D6hyIQg&?7U7Jvv{k_DF(_O(e%-VFU zhUP{q99dQp;OyF~x01}H`IuVr2jX(`RMoW@$ZXyehjX!b(cXDX$+V*} z^Z@;oVY9XPk>dwZX?;m^r(4?(kVmH+&#L;a zZm+bqN#nLy?P4)6mfoo{%*ExwA)hQjJ;H!8d!J8Br*ZhCZ;B2w>N&?u>Q_2Ws04Ql z7~CW*@8yLn$UFOv-TVA=ipurF4y19aU4#=$B#i1CaAUaPv)tuyPI=^-)^CQ#k~t&X z=&lI)ARa#XAM06d9`=1hM|Qa{Ax)A(*yJG{x#zdfHQf!Vlp{g9{Y$Lha>}7maw&g5|Ap0+_UW?xnq)Yee!dWS2_;cjX~_? znrBGSn3AQGkf)MIY;niABC0fm)tv;ia#@nS*>`^Zzv*1hsVrii^fZJ46r0B#_#^(m z;<_DycGFgQS7CqYBM19eJ?e|0Z+jqR&Pm(vPHoo1ir;cueHzmG)nHsU-^<7SYZt0? z6rwh`v1JYkJ9FO@x+bcM&jrI^NOQp>Y3;{385NhfyS=sA*3;z_WGj+#KYx0~PMtBh zCaoGIOFfO!?_4rBsC$pU-mfm_nplfTcqEQq92El?_8@z6S^Mi$)X>b)6_JJus_<)6 zxw5*pjzjtO4sqOr?mqQ#^F~rtv7_ACH~URCmuox7Kq(qB^5qa50>>S*kDa*q6^yt? zh6Id8W84gZSmd1G@JIT4R(n#??xnnj<^@ZZn&A;+cFErFw*Yq-XC9wo-+EC6-k^Vm z!hW7*xGfr$Qc*wz44;3@K29)et`dv*S3XCbC_84dw=-I>M;R<|4l+e#EpF{eWV(P( z8F0BHb&QCsQ@cQVFcDD9kt z8Q>3L@9$Q<3>4MTxY=G<%83+{nBF!8BpkGS_fz`w`&XkhKA^VhttLHc36Z8DR`C$< zlacBp{{RD!Sx?-K>P2}lGa<>z_&Kcq07>=MuhKV$_eq&V_}Wrc-wcXK%1EEoryr;| zAc6s}OT)GAMUl3yFO%l|s`hps(dkqZ>B$RmeYfR5M_)~kPd7Ca4{EdNzN6E+!$7v` zO)@5i8;6n?fuDJTXz{*1-_!=>An;1C&pE5+~9{d_bp-4F5l=sCs&uT))JPs)qge0B;#Rew?4rz}xr;om9G(=~L zLsAesVvwBo_NH1Cp45jl$C^{$6paw1(&vuCnDIz+L81Y`J^Ru(#WBdFAPQU-g<=53 zA>-{%ah@p~G>s6429)#1wK@2tG#VfgQMUsbrzBFb;*n@WjC@iOd(?*>)PxLB%R)6N zrY4l)q_iQ%F-eTm(veA;3d8S6*v@lKdm2J$G(>Gm-+Fe>B9M-08X-xgBQ(?x>qxXl z+3bC(O)(tO#I`sFw{C~<8^g^9 zs&6$v5c=~>*Js!Di(Bg+o9UP&yqPaxj!0rfxK%89k(yG8<$!^=>{7$z{ig9PK0Gmk zl5Y4;-yVnSU(-Jd)oJxvby=}WF>$2YYVD@#{!8;Ucs~g}FKepFrt3Wy;@!37q{|$T zM7A;{;jni_Bf>ieKvZtQAQQOavs$cu58!+{b87tseQTkIw!4R?GG){?xi=hLPdgNf zZ${!HO~{IU1vip*{{SAp6?Q%t>9c6^Tw7}0VI1;X&u1O$T}9>YUogt5%8{1Ca&o~> zrBt@%@b6dkH&N?)&Y^qNnyuEQ)LOi--Rf6&a+#!8+6uz5mLwHN!5jn_KtDD<8&3?n zxbmG6m{tAx<99kenqU(MFo%50lk$YY$S0(0;^$rZ%l?HgXaGL z4SFxCd`8!Fu7c@(EvKJUn2UR0Olv8?-!;U8v@x%#nEGQ)*!4H7rFi+`Cr!nmbpHV1 z_ron)_=isPaJYw4)ggzeoRN= z7skoFZ0o1Juvd$ww7DgNMuTb0p`>PemfQnwk(iYY%C0g47OruoO%!)(cZ_*~PnbU| zf-%^88hF+#dt>BI(M$$J#RCLCJ5Lz<(=GL$iXcg@439IGCEIf}gk-h{Y>s`aXr&aP z6|yu+p61JAZn8)&rvO{RznzF4V~}|t0Cy&>ZuN=pH(Tk9s~O6yfldkSk@HqhU- z>P3uTc~FaVY(nV>k3Mt8F}e8}6{`5B;J$_6=izs#`ZuI5ro90DKmxzk^^HqQZlKp^ zw=v1ABsWTC!ngkbvPRogAW}l9F58)ztIAy+;uP8p`W5}&gqoe6jnh|Bi&u;4qq>?? zB5ayBibdSzR4cdwBO8?<<2+dK-8-PkbtDp5 z#eX~9OgHIpfYQA3Ln&kqw)vC#RFeXN>t2)VF1Yab!Jdp~zSgaDtv=2KvC^$lNaC4M zRaeT009t7>T4^KzfKD--Zu3v!cUy)Ind^VVXNezGHoevtmrE_pyi2mi$^u2k-#x;{ zjWlTzhhRLrXcV>!SD3o%#C==DPPmh;u78N!Tio3Rw2t=Sq>|RiwjzO7bA-b%^eHKl zd-twsX}YJ={?)hCN*?v7-qAfPCy4QQqtqv=Z7hs-D&iPjoU@q5aK|8H@{T*_Ijh|s z4L7a)Md@!2=C~U*JxbbZxYbJ*w29i{MLc8qiEAu)_+y?8bB_%z;pxteh)XI*y?n=# zZU~Dkz?1&~<2WCF*{#>`)zvX;KZ#3tt)giyZFCJ*;wf4NP?7|S9D;u{6`ozavAMhE zrZB6L;c#{4T{xY29?`tJlH*i+*`$lQ#5WE9LK>{Bis;j55OdlGDV)5{6c%H zo2#4Xmro)%);o~7g~P~NNhAkns61#CkN$}{B$|k9c+D4jWsUUr-&J*a=3azk7WVBo zl$%M(+Qi`GZ9758RUocTZEUn#O(Zkf86viYpteg9F=(vgRZ@{E#xfO(f=d_ufFRsy zc4)d!)7@D~3=K$4&t%BYkz%bqg~$V*6?0j+1kl;$$2-@ zCdC8QJb_u7Ah|9=$lsJGB#aHJwk2)Rac5-KFvD*J&E?ZYyu&=xweor8iE*_=dz=B6 zX4{>^X#<5z%XoB)u$tL6?;KEDt?-UW<89HBB$RLRys%elmtsbCsceeWZ8V;@)BHT2 zUevmt?rmF82UOK=4Y9X)ZI&bc>29qe8%{_9NjJ!)&OvrKhod|{=#3XdO(#mzCeWWt zl^)^5hT3T4VTX?5RdXb=$gIp&_aJst`PD#eC%JJ|+}^p8ywjz&bDy??Ujemihi%YRc0GQb8VHq(~ePzJ8ky zr+d?OEg-hKic4mO))BkT4H+^&oKMs;?_uOc9E7I~8)~g3w!eFMp;~KKdW64Qd1}nI z<4$I9Bmk|vp=I2$`ZpC>332&K5zKVe4%wO0Eq;n=ql(7vIjw^uJ-k+-BVqkvyxC+} z+A^pKk%8DV>RqE_x0c$hHv-o@nJhL1bZ!kvABY6%1F2oFFK!#4NpH0+t z6Vy5!#w!_@%8uUK>eyT3K43`KbVfqUkIo5JUA$!4Y1%XSkF4qUmKu%6kk-vCR~~tc z$lKg06PJUS;|v4;05f8-0he%&aTb}WTUuLN+1gBhn+27vv7S4qVOH9{Yk(5qY$Roy z1yHLo3~IWRSgOpnwXEn4^4Q$!(rMRF#G0(ITB6(B2x4?~TZ8Ix4(42di-24*?Iy4~ z2Z{a}^=ikh!_-m#01?%#{+jm7>e-sbaN8}KHI>bzvLtTBBVF<+EZaRsqSrbR`lF<# z>4~nbZ{WN7zv8AVx0#aSL?ys!a*nFQXf7Nn$E0rDzFE;VNc<)0yNxE(UFr=o&g)UV z(e-@}4P7IG;^9y{XiV|6aZU?G$U)`>k}!uMDx%Z0Yl{cHi|OSauDj|DF3R?64JPJq zH&C2j%<^2av!=q*g$jc=(t9QK6Bi10)?yYU#P_UZ$9{%Qe+_vcElm+rp zom*{sJv7fcT}`Q4t^KX6c92UW!ty({%M#JN#k{v*g;nE>6aX=B z!h~S9+vH~^+oo(!ZPpfEbe4AZR@d60jyp(==(vW;=&YhIsdg^5_+fCD>Ow_GTrX`x~Vu)#}X%Pu407-xd zLEan*S)$%Cg$x@xG@M^h?{r~rdVioM)FstswY0H$kIB1D|F>gQc~;)R8ePT6^vuLbW==x0;Z zE*^0j!z5*v+9l)YqEsl^;-F z&UHOH?g*Xcu(x$KVJ(&@*?y(WvM`n~77&v9m7mw9&-jSwex8okLFw+QzujkbJ=K<@ z6^`pr3}mEJ+eku4i0c}t{&bmBhfs1kPg{6_u0zw3^x|m?6|LQ@R`Fe1+$F)5a;2G+ z$h*+6ca4+)S2zTE6m!d4Kdr=$>Rv*zsGMb4a(A#`2pH#|a&cb1mrL&OMmagH&b*L} zvN~POgm{HaPL_q_ z^6fyh10~XE<57{q3^OmQKh=@9gZHd{yQ}oYhPf8BCwcWaTx^ow;z+hICuSTFcMRYW z!28mtR9s(LxJ#K_FX&fzAgla%I%kTU$Fuk`|M6I&0iB3v%4a-1$PpxMilkt)fp(T8uA9);I?k^xoSKAsbaG5(l1btvL|Od6 zs0!bvN8HuB^gaA~t;U46I(DR10WkWD!D{GOg%~@C-Ubfc&G*Qt_wf8BymRs`x<9G4 z{R{s9nQ8Z>k;?D4lLi_5vA1M_yQ>Cm$G<-yR@raY`X0Tk+;s<4Xg50UlWTAb=^s`h zmLdd#*co9|%xNU5q^g2f+a|Eh(AwUgY_Bue$Oba8OdXj7j2X~iE;lI{9+E-EYh6t; zOHEnem`@G8+;XSkz>_DP<{NJ6%~^cO!O~;Hrj2cN*nt~ zBM+$RHxk{n69jb`53$>lchY$hSLGP>{%GoSPASx78WC-WiGqK-_1xg!cs?kad} zL^s85Ew-Yfl(-XQmM4{H_VMrP40~e(Ae{6z2{b>+nM3n|-B0U|MO>X3xpzAE;lHf) zy$?w18y!A27eYH5$O-oV%@Y7Zz7H#mqXC@lJ&#K1uNL(Pb%MQP(%N&)adRRY>l=BI zt;03~7m^ebC&9vwK^uwVM*K49a<0Fx+oQ9`CX*3kCJD&8U7(N$vp4IC>w33D#UgpD z1X0Zx#?YjwW7{BdGyedr*NLifSzBBj^7n2{G;B!yHPp88UX*aRFs$*;OGc6*Bmx-W zSnzlwBj8q_t$0JAUfr$!i`2S=QZz*f-EBNFv22!+yrRzFF44KLIl#{&l6AhF)|w6c zy;lZ^XVxR~Bec40N;ve=>4=dPq?68w6_BP5Lo-Q~$x_^>Oz|VH`ah_y6R3I~(@4}+ zML|2hfWGj|tP0h4ru&o(*@GOesUw=@JIe)dC->$k3TGAkz^Gnh7 zOZ7z}SoG@zy^?r9A!BYv0k)i=AgzeM&tn z83@`fKv&bHEWrVshi-7KkVi_t@z1Uv>MIVN>O1@Soy@lZ;(2VX6KTo`JjC+VNJcL! z;eCFLWDRdo>9{;}xsP4zKBA7?>0xXxI)*(9$PF1_;?@xu24{@A_Y73LnH+3hj5z(u zx$eHdv7&GN=<~#>X?uMo)!WG&^2*aoG_AkQaxz_y87DuO07>Z6~!qNnR|M zmpXaeuN-1DT%J^bbC0nEe&Vw_*GGK>4K20dy4aqj0AP&qjCMKxLku6_PU_NKlW{L6dB(V2K|2$nYme3C#1-`^wcSzQ*!Ng6kXA25PeM&oKL z1CnxkaaS6Js9UCHDr0^HWB&k=ZFVDu7I_M?hXWx&;E&%G3RdZsP<~oHzAmwQ}2X61|NgZ3^-n%LWUmCv9Bm z_cxCV!#3u4y_|Oa$NJXuY4p=BXNoY#DhSUb@1NeVy3UZ+^E9@pka^k%VfOo0a;Ytf zR~Nah+-f)0NDLS9+u?y^jlCrO!5oUkzP)UpQ68sc(?R5kATW@!d4oHUlg1l^p5Xns ztF2OfIaMvMuVIFH*oalz1&H|etRuuQ*5QdKvV)xS?Ng3bvop!R23Jq%D~Hq)=`IWw zEZ$}$3eO}&VbrEbKEs|e2gYk3*Bv)$(b`zmZEm3#6G##UX$mZXN(anrfq`EzGX~&- z8Ckp4-hr%N=+mrnTut=(A)*b)I3puHk2St)9anFA(`GwuD#Cl5C#L!jJ%bfxcV*#a z?hbGc3GcwIYBH2%TENsytsIg)ye8dK7|N?KZO6YPZTt7HNp!bPX*yci-cPPt>642E zvbakoHxOORj$~p{RT02V>x}ONfV=^e>J4uBEo0L<_exzt-AhAn4b#UZxdDMzgukf> z2O&dYLofgWLEqj}IX|~gbI*3&8k(dst&{2xda?n8vfpf187ItBoR4r99r>&6H^M93 zR$rxuP4owBg@4AL$J0m;W5uyb91Rq-xsD-&&`EZf!rZxy&~ssNw>G3nS2 zaHBu5=DFnhr%-AQ1>M-Wx-p%|UuHPM5@K?qY2I8EIO-LEBz*wxeM+ z+TUJ7Ev#1ZqR5jJWpb$gmRC@@A;TNSwy}vqmONCpa%Ol3Ig86HjD|TKF!8Nsl}8p7oL8DYXT<%8 z@P8H0El#2hPF%GnxKy^|^fWkbEpK5r7B^8`!=1ilM<5@A?hn5-2;&ur>P;h7(=|Oe zROvlmO4l`wbbVCzmJvF~LFYn)=Z( zk;ZdC(-H5E)SaqXq7?n9PZY+K@ky42Ab0qs`-)?d zPc)sl?LlY+Qjtt)NzZR;MWGIHO4P?Ay(yryA@7_KO5F2ILHBAy&lDOVPJe1c#W^4W z#UURQ8X-=9_NDK|F+S9|=M)x&Zuz7m2Q=+TNYM&Td8p2F-lRBT#YTQ<7ZFd%q$lE> z@;+%v`%q|v;Cs>>{{VV(`ciTzG>E4(2^3CqN_fpCS`^?KLzDYc9Os%-+db(Pgfyp$ zbAj(je_Bk?UUS}&hry>KCp3f~nns92&P5><ZvNB(qAG}C82eO;GvC^y`_zha z`qLqfgPL(l2e77EMr>i4bt5!`KJ?=qshNxg5!!%1tuU$~jyUf`edq(9ifU-hgj9+? z1t8{}cBV@h3UGeZi;sF?pNeKokbKh&QZ9Yz#RhC}J;A2HrBm%p2Q&~qb4&*~G^3Ax z)XH#kO%TQ$b{(nIgGrKj6w6G_j(*h2PB3W)wMqf(7*J-$0DMyciU1#)Z_;qlni@QFX>E%I0N2@@4%owX}@X_3}IP5p0gL)#jUFZV9r>q zottPaw-`Cj++znhtYUrYrqQD6I3K5{j^Wc(+hvPjOu^(}sAB`WhuTzokO#eIsEnnG zN-mu}{)bnF%N#YhWtDYBPBy&Nt-hyd)BgY$Jqu}gH4dY^v!3cJp=V;36D8C{Ghw6| z!o;O~wPMOPs$+2g0jPMl`18>nH60hj?w@@^dF{@faeaF!NT!T#1p~z^JKN;vVn~KU z5Ec=x!{e^1>3w&hI;&dfey6fF+O~nHPo`f&f2L@ht7GIGWFFWetR%CMqY}h3p4b)n zWPCpaUsosf9J9(?BI^57)%E>WeOpw#mh$@bgH1fAb1}vMIrabm2e1HEOG(h9yS}%w zhC7>ucSz%o))MVJ?ATc1QOmm$6<7M1xb~@fE2Q<#q}Hu8eFsXr)HO@#1Xfm7kr`&V zkpBQmDDHp28601q2=c%;G{BqTh&!*{?_TO6>;4XCj3)67&C{n)b8*VQNWd{!;Iu949gtZI#pz|W~p zx_yxbR{Y1=LH8%vSFt}0e}_2qyFD+(F0hW?8x65v=(d+rFPo^{3_KSy0yu?#Iw$9l z>?A6FegoitOms!ZTIt#+T5Hx?evD-^YE5x+u{G34yWSKhyT}KY0OSW^ITgKrBL4sp z8h3~~gU8T1mbD5vp5Er+lv>-zY(!|bwsA)@hKCUrFCvCJ{Tl!n<x|PJTu{f0@34pGr%s@AJd&4dRQSvQg{{V)JtB*r| zQa%sc+O4#1wdyXDhFgx2)+Di>OKEi2q>f0QTWe!0GsFuaZH}`@hdA6Bhaqq@!-hE0 zP##30sO());#J0@;P*iIBhos&i3{j9`nI|wl2RI5iRPX-$`T_4{Yfswu-cK2Nys{{ zNNL(`tc__rFCUWf&-BlNW)YQT4Yc}HoG-cLpVv>(v@WchNVV#Ip46b0Xy=;6ttDc= zPLW3ug_+3OvAVOU8Q{X)V+8KH7OSYkV>YLMab+8QF^e|qge@Z>;0?{k9sz1SLvi%+$Eo!clLwUmRF2XJ;@lXJGv-M?4tP1wdRg$S8dv7dZAND~ zIQBg`cuw(DtcbsMx}=wt|}v7u0-C)4R*jn4ofz$XC5WoB&dW4V>b)FU#;#$QaJ zZvd3vwBWb62b^PyYpBH1&pexMC9{?G_5cS^8FF*OCeR544@tlv;A)WGN@8fQ3{YH> zo4kdU*z9Iftf6t~-JQj`+Ejy(e7+IJO(R>}%Pqakvq0)Tpaf!DgS3(WByA*PBiQ4R zaf`RQX>}=~vDITULXSJj*GaQ`I=0Y}u=FYn?qI0JqbJM(sB2n|pM7@~ozAa&XENNx zUE(G-R%{ePG71(gg^@sIZbnylsO3YXo5s?n)+L+;+hmtP?Bffaxr!sdU=GWd^qc@a zD3}{o6wI1xDQ6GWojPbFNX@$W*D=d+J2CaMNsY@As3bXH4(2-mz&h!hQ_`=b({x=% zD?LW_#-(kiBx)lN7DXy#%NgCbWP!29^o%lryy<%Gr{ayjindyBPk2>tCrVz%hVQ8t zP%m*~C{lM@zyb6e#;&ZPoWDMUioNQ-q3Q0K==Z%%H>Wf^8#j{j`|B=@@YqC~lLZls zlel9O0-zFI!;sEMb!k)NzM5uE$EiAZRqIG))g{wRuzF**yPiqzt=W!12_%fGi6WVm zVO0vMal0l;zSXr|C1kvQsG2PzA39hgxrbSwO}M)BnB-EZBX%gzh4dMTMNAL|+UC6# zJKNjpX{+mk%I?-xNp)MBxR%c13zJ6AyVkW?F5`uK zHq<57wJlXKX?XgDtkwb|OtKs^DPbCb>hZ6d*xVffMyr$(kdm`wxaxk0>1#u8t812; zJ;V@4d^J}|3NU3@l0c2Mqg;ACyoN3$z{o5#=kd3wy5~{1()=RmOTMeUjmzsA{-NgR zx>lbGqc@c+yd@?iDzRA<6;_RQmtf1d^rgMsj*0cRo+94$Mx}2XY4LRuTnO6c?O2DJ z7+{qmO@Ur4FlkQJSsk+5wyQ|~mq=M9>pe$QzSAdrxg^%7c?;i_K1$_sJ@yYP45RXG zWvGjcZB??Ht;J9JX4 zi`Qdn@K2~UTX(tWy=prf_$?&4HjvwCzf9LrM-;0moTHM^L>f;l$G~8HWrzo=X_D(V z3pMj;w>KJHoNM&Z>02%B-tcgI+c^iBy)uqimchmm84Yl+1+UUOi`&z69rJ2hgcf(x zTfAhi(@G-xcE%=;4Kzb?2?UZ#5qJUHx!hjqT}P=|>hBfck5QOhLoMahalvm9gDA4P zaE$OUVHd3JW@#HLT8DK{@Afm)B(lngY;^5r;5Do_I%4W$Mi!ToJW|{($&o*wZY17`u&y^2tnH?f(q3ENS?f~8XtuXeeJa?bjU;Yj^5P6ZWC(&-(G-wG>QAW# zaTo>M07%iQ?nDY$ERslEle^0R<+65hbiJf@mUhwU z?QZUF?V24wZLus=`H`!r1dzubO8^e$+A`UhTI9!*n9ByPI@sIkw=roq%^S`2mW^u_ zmAka8iwifJ?9PD5!<7m{ZY<12ac{)uR$6^`Qs1_pb*yP!R~5B|&h?JsOCc0eIv64Y z`Na+7k{P5Q%*jM3PFK+j8V;AWN0no`h>cSq=gH_j2+`yh<&AjeWgnv z7_T7yE$+2#M^YA}LcYDc)GndBju(KVT-ysBg8f-ZPcS)TV4wrD8Glm@d)MClmxF6V6<*t`9 zb|)SA=DJ@8EN#0tZjFOXxV~uh08DJG2~J2PaNm3!9DG*up!9|7ksY+!RpCr9Sp12k zWZjkYuvb8Pdsj5jEhiJKd)Y_30!4QnH>=2p6$@VOIt zj9fPCgZ{O6v?@`&o3lLHwTgW)N1*RIf++8wRM2kktd-#+NMn^ubGn~Ebs*&cX9Y$9 z%9G0E)}5{@@%F76WeA-81ogS&u!GwoPq$L^m=q%w8y6QKA%ZLxJb_Lt3;NT9cAiiL7K$s7z0 zFg-o_BxL(ztm%#;W3o|$-A^O+6`=TIVzzoc#3KtNmnzJ2l0ZxW_Qp^5`&Rh^sxS(m zlg~L7-HlXEe5%aNoXT!C-CDXtK?U)ZKmEjhTFKhj+1eIZottwj0K^@h++b&)yCP*GerPfXqBX3Tq#(?oD+MrCt81$Bsru0fq?RjDi5j zIUE8oKqE-kbsa~eIzmy>`fa3xMumc#g_2dbwMIU4fI=DMDypYy_c+fANX>NjQBSF@ z#8;NrG07V=d;GBANIfz~h4nKd0vPQI3ERmAyjL!#a_(a!+v-LuQ}FLVmfh@Z?PG@6 zs)t#@xX#|$GBIMHa1foN862A9-D%L8h5n51Z=`iiw9-n*)^bT}G?ACwts(MJz>&iQ z1UP+?V?Dt1rNhKvQ1ck%IaO>0VnF18az6g`&$YV<)tPOs@0}%(#VW}fv}I4`^b{N% zu;GX1$GF6`(E5wVk??pQtu)@I>8*C)-`zA~V=tE^FNn-yM*dMzf`v)JM;vjqvXIA8 zeP>XD)=f4IQspg6vpgbVU}j>vqtwN`!Q!ulmfa_;?a(jpXVYgxEwR0{Xl98)+EK^#cgnZ` zFg>`vtyCS=h%;N{wm({t99%3FLkU{Pjgn6b`rxoE})p%jlB8@C)l1lii`Mcl1c))mF}b**J@1F(G)^< zke@nS%atcS-La3-r#1~7$WRUFKm>Ou{{TX=ns%O2b0eIpj^C|iMT}D(7YDx;PvTpG z*u_gEmvKb1#A1fnrjip_4NVVQI6e^1GM8K-m-f#le8?+ zi0y(dN%_w;s&xXmf#i-8E5fDKM|LCFea&qTD45G1yhjW_QIY;D19ISH&u@JER*mc^ zt<8U@I)=+!vrC&@>ylC9kZqC~7xPBz?7;rVf;cs^TYoh~ZR-6`wQ84^FxhG=sn{Gv zagE#%LH+su^_#J~VpWp_{8mrkm7_$uqfe7w>t2-?wnpkG1EFoef%#Y-{{UrQA}Keu2HY zzjs*T)R?vj!?7F#@_SS|WHYV9UM>xpe_-Z1W>8&H!moCxf%Ga)LYoW$zM|(-otHbiyFL-YY{CWAQ?C~ zQU?q`+B3#T&%I-Rh+aEQCAJbrLaG7JBc9(pVy~{OuCAbasGw}Z6}H8|R3`usc{~yA zo->SdSZmvBn62A%c$7buRro4#o=550j)xt|mPXCbr+iV=^jI59)%4WVbW4eh?`J%& zo>jmKM9|2DJTd~2ldypPT80gQjmJ;wtC;TJP`A93Qj1ufbt%roStFa*8EHa+vgN;+ zqz^^RPuqH~-X|GUjK_8t1xmXSk?)*ip2oBKE~R^GDYUn{mMbgviDd~k#FK1_%afdf ztg689K>&lA(;S{TDK1Eoj#xZ-6~*k+@_eJv(ai)<~bi4~NUWgvrs2;?7% z`^^TiYcQ#QxpVVBoPDbB3Hv{Zk6e&&&AiMZgCN=|Zd zPQx6NnoMz?)EXg8CVnZ;ekpyZG(sHrG^ai3n~()5_@J~aVvzDF$>;4z+|-tYJaLLb zO*?k)N_e2r2tcJhsfZrbhqf_6q7J;NOMOfh*RE_ z_og(b{b(%;asL3lAwB8XA9|0UibbGifzP!XAAHo7i5KHE!|W+N>DGc6!kBYPKeaIX zRS?D$RDgR@)1U^K1dHuV2gLw5&@yYWpKj5FGtQVMZYjO04gW8Rf% zg)~DMNv9l&Kr@fEKO@?i3}88@AGIK-1K%_mv6NE-Ne8omZTkicb7yopbF$n;duGQ;updPJ2_1 z)Np3U7ywf!_oN(-Y1fW3K@4DXOfWsEMgiuScA$nhu2!a zsblEQywJL$Yf*6?pLis6##vR7qcSJ{G!hvX-*OCcMQaJ4dX)hrZOJ*{3eP?m=fx~j z;z_6VHPULQq13}ukMTjKyta09t$U`w10FDS9m-0tm`1y}=-4 zXM*_I(l4dzdUsVtXCx5y6f;Wa%ONG22?9wnpK#lhF&uAK`8Cfi=MbFi=Zp|`k@p04 zHTkB04wjQE#szbB?HKM@`tct2;V^zY%5 zrS8qvr3+g(R_nViFGNRh{!lTfT<*>StYE6;T;;2PYSU`HNvPawT|ubbYC4VS278-^ z-0ncY9Akhzg;tMyd8+ExJu{|hSDMbHsZ6%kR(6pzw^tK80FlOsGVVzL0q$$sUK0Kq zJSp(T+FfVIwTGy>zQ!o#pQgztOwtRp2-a!0ELU>>04hz*yuhrCi{`i+xw1|gRdm~b zR{sA0BfH^yBg|a|;BSgPDHxNZIxkYxB9|yGqKRR)Dyxm3Q7K4Q+k*Kg921J)dW-Pg z(%u*8Z!d{HGW4#EsKo%1Jqt_Ut7>dcKn5l9l~k1=IdZ=F+sW!4Bz`}&Ys)G0PX#)3 zY4%1pwu4pGB0KE+D4NdI3dI?48~z|*I6HHYJh6MJ-|D)x*1gmh7aFzw?1kr=W4cM( z00SX89e@A~02BZK09J9yo=)ZPuP$HLv2lgH!5O)o8_X=$nLAg47!RCrpYQwB@ZN!m z6nSfcp*HQsMSrQTl@dif*pt-e-X#P8Pi*7<)qwsbCaW=m*;y62Jm&-Tu9}uj*{hs! z?2MeZGTz<`co~=x>nr~NF(UvE(>eXCs`L*>+{7aZ0{vvDNb_8*a3DUZWq!#Tj#-ZY z16W@SdPhl?aeJ!j_IhQ6Jltw`%H|jVKhlT{lSp|96kxlMK)?*k(E6LjJInn%bYDTm zHi6Pxf;%iL7N@N+{{Z%j*)qjJIoWQ9%Zw5E+;5_JJ<6rXp&4X$S!z9XcV%IybiYMv z6T_ow_Umh^UC9!M)gcTR#y22%ZJB^!5W_bHLQexu7LqKoPlZ)-N#g*0g=L;wc;FM6 z6UkA9IT$$q0NS-(Lt4Am3ANL=2)i`Pz&!F7{`Jip%Oj=6IMI#PrHQ0A@vv-uZgYyk zI|yU}!P-f!vfHQ92--?v~ISOq~LbMAg?vN2IqbIwifWUcRB z4L?xPp6%hb)}j{D;qat`y$J_`11)S2X}Zmv{W99^qG|FA2GjRKQ9xBLB9U4)D9T<{ zB;ZJ;h&e_CYkH=Id8gZ0Tk1^|sjF!=TFtY@+m)cWk9za}05Y(6*n2c=D{0ZSn+~Gr zyR8?hFN`-jeZnoZ(xOmkNOFhQ>sY0m)6T0Ua$G&sGubkSl&#QFZ z^pNS3E6B3MiYATAD3HgxHd0l%0FRpbfzub-ewT4;rY+jF?v#(FBrh}P=^+Dt!^*mZ zjvSm|V;LA3;PDy!5r@z8{{XWrySp;R${}%advaN%`XOSTSde{0Ll43b5KQuZV!14l z#hh&<+q|0T)sY}ui-_Q7j6c%uNTVZ^N5L+;h|gtQujcaUqtqpPrMJ`)DXp#|SfP;I z2%h5U8Pvptwo@_elhUUl+wDR)C%CtQeLiBc!iykfE+122FE|}<3j5FUtS&~_?-HFldA1#v`r$?S^k?#vba*LBv)0AN%9bxLl#zM zMO>jF^rpJF8e1I_>5bj}uTNRtNY+TP8El#6j!RoMU5YLMV#SGt*JI~$@7zFMbW5wP z53IFdG<&;<+SALCUq-gLiuTPTV6L$Qb2HArlgS^;*y2*aM!@HFD}7Q}B#%Un*8a}c zBG3agZy89_%GnIEWJj@ghX}~a7?iV@ZZWr3nwZl60EFn`>7~*ov%Rrz;!(+N(KO{= z-KMyio;amZy%Hjd0xB-yxQ7<1!-ie-W|;9M+rEtryq21wiXWi0`e;lA7;TSp72E-z zFAF+>DI}?osJ6V&X6j2BEj5X?%Q!5&=SZTK-YqgIm-@_#uuBxVNYz9vzFy;yRGj2G zcH+Xy`%*~DW@r{b_7?Ko+(82?82+IiS8(No{;U-kUPeZ7-6Ji}lO~^iE#S7dl`ari z!MgeZ9|O#e-e}nxP)v@XY*DpF3Jj~Z*y*BMTYDcl^~m*UVY$;SyzRCgN+PsAwb`;1 z7bx+gGM&%4VV7xdRW7rqYMM^3CXaE|4{vEIwbT!Bb?Ux`DAG?ZGXlc4=*=@mvPn6g z(X|{0!`+c(rCr6W>Kc}pZ>voVwva_NmGm*R;A}ozvl&u6Mxc$(8TPW{0a#e|6uMHF zZW~(C?x(b#ZAD{i)q*=oAIT9~!bp9LOsNrfj#m!g`AZ}24m-4oW@lQ`G%IU4-bJx! zZ#Sg37G)$saXtfvnj&A#4E~-(o0d`zH)8JBUV+&zx_-iGAx|aY`Z#Un64;?3BtaUx zEL>op<;bc=QJS^8eMea{$ESS;oohIPNu_Iu&E=J_J5|hnK#owObjkyy2+_V&mH-^> zjG7JfHyY1RT|B)mH(T7^=@&6YWj)5+T_ejQn9OY3M)=0^%y!7^OoCi?u;XT1>zakV zy`9dpqguszeHGU2QDBDNH?>BCXp(E#)T+lHt-Rt^VzMBMccEL2c!%Jwsnp#GW-Mg4 zn^n_eYpcKEnuXh2OAK}~!m+~x#?nu5B+IlPN~%VpLdA)$v8lGVrs-Nlc3mf?>v#5- zrb|(*-cJ|OTy0Yn=+WjsQCDU|B6(!RAmLfpBdpl<4y9>vrE0?4Pt{|xX_(tzsF1YN zO42N=3aevchaOLtA#9&ByrD*2FikSyDPx_Z%bI?Pd*RK@Yp1i?-RRRpD<9`r$kRl- zq=BXL12aPC2rsy1Lc%Hp;x(nuPFh)YCaYl4-(An9UC3|b@-D9KW@!ULvVj`J zM6Ve!xSB$NSb$Y($F2N1={vu%{=o-XKQ6NlYL3JXe2k2BuuQcg~SS`85tL1OBq?;m0}90^*gqDGK_Ul zwaPtNb9Z?MP0y=Cp&RRKdqw{MXRPcrx1RjmoW*l-9i7bkaR`4YaG{<^q>#QGHC^c) zV{ST^RM4#8)~@HU{{ZF_O@E|35M1OP)4_A(M+@KwQar{?L~s=4j|%B88LTF`vFVLd zs3g3Kcx`m(W^FNVq-J;!GVq=l}*eorLs6OLRh~UkkGnyZ}mu)Yy11#OFLMD zE859wuaI5ZVYxvr<8W0#ssI3-*FF3}_!WQRw?yCGbnVoW^(KdDCFYAfyI1NZjSu^~ zxXB^ok7h$JugiQAq}OSJ*Qy^-g6hT#81$D`Z9vZ>O+CXfYz5nt&NiL<@INoBAPnW$ zy|B3YeJaXA@krZtuMKN^APF+3 zn!uF!d~H3Hv9EJmbnk$=Car6C(w#ZccN%WFb879aMWLpk=+|?ltap}6JaR_RrR0ur z5Av627-a;nrMefU>^gC^){1Rz>ig^btwUDSq6;RV@q)+6jX3fU$l*~`a(K@e_UEk1 zoK`rcetusePb%HL{EwO4N%#u!kD|0$wVRHIj`|B^-*Eb7rEhsOON^H>Bkw9d@T(uS zaNF*amf2F`+;56i41^F>hsY!U09;qx3*~EWDPyU~MnSnyKb0#tA5eqe`HJI})*c|#`f_pRJXw?4 zN6c7l&5jsGGg94Zay%v`Qh4BIx>r&7XRc_Pt;U0|=@*(_scthhmE0ydqaQdtI{Z52 zPXrPOt#0q4F4jZ1C!KjBbHwE_}$zVZiK2B$HjYrLFI0(H7qI zKB98?7?XD8_AE%wc;>l}OKGsra~ugd&!o9Q&wB6r2A>VRvdIKSD9~+G$Im%GC+}R^ zkBOvjrH4xDX3^7fO{VDZLXK8;Vo4iu-@iD|AH8i_ZS3+!T45KNoMlPcN3qAvYFbk% zZ(JL&2qjNp^IHvrY?MS4j43_%KcM%m6nb_Erp=DZOrYeF>~oTEc=oN+!>ifHS@ir? z&=V@^Hq3;Rfi(S<^-tVXM1qbPGR>E1f$33hrrPCXdLLJ$6 zlMqs%g$0397q9gFrJqktC61M*S=n6NtZ#6(wyhFRDkjYLAo0Kh90A`PVmfQ6?55U* z$NM>^v3GZA?3Is^D;FCX@wJ;^IS5WSXMn&AwzoZ=wptS)n%Uf=vPjFw86Yz4Vez;T zp2NAX3TodQBNo%_U+YbN_IDE-%WE5GU^7o~AS}qCvg6cMQ8s^Ba6#?}tUKE2Hrge% z<){0tq%i$yF_jzR+FvD`ftCKRf$dlhsp-kJ%Z)nIR?=)_(KjsN7L3l5qTIJhbo5%1$9Ii7-7~Pq67Pj`h0a24AYdGklkRIk>JJY(6H&d@-}pwO zCH4GXMe5w#OxCujBQCN5gRu50LocYO3`W}Q+J%I=PLFG*t?PL`-HFx*U#OcyHXtUzwSA7FR`a5xynX$_>kh3L0uMi~mM02_~S>FmDs>n{@D z!>u1e>PvlAGd`zt9EVGi; zG{llau^@NHxAqlg(Y*8Q6A0KbDnjQxeAe`6Ur30`2qQmpP)M#1p;RUaCnr0z>^?E? z^Hbo)BUuLb#@yrW$*XCZor!FK8-bJ06%s`w8!9YvOzNs0Km#^8Aa>9Btyfgk?XB-q zO?N9a(LAU&k_xK;$3EPVTSlTxZlr%-6{71_GF)p7szwNVSp1NCt1Ehl$Ifv|YpGFD zeJsC*IBp^_$~O`)Ngp*}MEXR)kkUcyM|G>48>DU@0kO!d?SgpBZMC!PN3~;pnYTNk zZSJAGgiCKIB~Q1{#b4WME9S)ro{+^HfxR)6VfP;Y0O~2N zHI%z83op~$@syP0e#Cbl*wX26;9W|4Gcl`J*6Zo@E2;5uC2iYW8XciXcEu;-yP09 z>f5e5w%*fCA58I^gFHxx!1}V@q1*mkjQeJzi&(RUHjyup9Onu%xM%NLd&gWDbS|c> zwVR?Ztgl3OdVE)j7-KLuC3g@oq#u8fD(XEKPqMgKUq`pG`jXyc*HRZ<C4!o(zJ`kNM?`~d%LKKW+;kX4i{h>h$OKGo(2f3&aC_}>h|3lbxk`|(e=GbnoZ@of>=q8RfNVNa=@fC&idhtP7IdPu^8OZHr?NHM$&%yuRU4Zva>ubhR7iNS7-36QhWUh_TE5$-ENW8 z`vEE({{VK3pYLAhfo82oL+-!i_+RQSoBNLj_o;6QMg1Sc`?PKifl;>})gup@iH3da z>yN@>A^QqeBNWDzk9wA9geH}U2b12IkOe1m&uR@24n--!J*l&rLP7bYS^+=nNPE+q zQZ{j%4A5E?xaOl{&T~%L#U%!dU>ZzuPJdcLMFpV`29%8RPS~V46s*w-NcW{-Oh`10 zPH7q7Ed z(livDQj_h9W8RSdl#4>KG^~B8&OP&!N`KOV(1)4^jRVgWC8AC#hayAPssJAJK%mY{ARhGi=9FZ26xB$8 zjAEU6peT=uW^8rG#wms=R1hh<)8K|M%{c8*fleurA%LgOKJ=h~1wMNY)Xc_GIQ!EN zwJ80m_@K>SMv+Uo*>6{#uh11(rqg7@(1m zqHe^6Idox5s>n*AAUPev`=9Mw7lvPr%YKN~bq<{IH>2KJtgeN()!9r{BKli^)>bI)%;(&yYR=Qqm+pz)$HH+rP*BWj@HK>VE~L7q){4xapn=Wy#>|3 zjGmpd(Zt;mf2K`!sH`U7$kGp`ELlz!fkz+^M{ebqax2chFL?2LHoqy*UeZZccXo3) zy0#H-1~HXluY>_e#z(82+>e3MEmSf4xoo|8_4{^y?>Ix5GpqGKU3fwGWVY07d@ku* zeG^&wXzio9yhgp&bw!akFnMLciYHB*_H0E50U7eE=I)^JhphU>713|HhWZ^jA^K?a zbdidfiOVdx0Lj>6JCrB`JRIqZG#3-iHu&Y9>`VOjk1DdU&miQ0du06bYRgTIN192e zfIw3YB}w+Qcs%j$KEs;q$A&Oh%kySVd?>Ar*(QylE4Xd|Y>7YvKP1*V_ghUQGEH*{ zxLjo!4teL(gU&eSu(xuHYlClVHVY3jNdd_u{GZaWQ#JSVG5U+i0!Tm!0#i@gS(?v6gj=irXnae_Ym>yzC|Z>nc>az$+bNj|C6w0ZEe$n?t2b+91N0p10;|EG`dy4(y2>n+Rt*f=_802Y>a+v zar)Lu^IwBZfvv^c3$0Ze&M_EeUnG@lhIa!2b`84$+}p^;-Nv+YP*o9hxpHcqRcCDX zldN(^^676qvdb9^6^IKa)*N$;WFFr9*B9!G##YL{F~P-k?y0*AZ16=RACg8r{ws?0 z3nYb*9zmd<=re` z9G~SMYzn(kd8SPssTGV9JPf8tE@LeWpy$xQVBqtD4ngF0tvkXEU!`Kd&3k9Wzruy~pVOL`Q}}zWTJ;8vXJhY#~Xyj?7=(S_nywOP|Yg<-&JvL2{CijonUjjAO*t;+o6v8~A@? zSzhU#Qf7FqXS|LyQ*hC_NbU?TD=PXJf)3VTn+Xk-*t~{PYY_&u0&>m*-PlcPnr)r*+F-i5vsPPk3~sF|$+262#2kbfBn|;S zo@&6~?$O4Mw)gS6+)H%dQKzJ^>Mq;d#Vg39M)?2+$E8*<01J`J8sNpE&#W}qdca(1 z@@m%FG*Ex@O=V-5yxXf4ELmom~gO!j14ip@eQwScT-Wa;SRJOO%wH-r9nO5f4>fY6nW^^(tl!&Z_({|7Y zkgLH(^)s+q#_C$`pL=_4A5;wnJB_kUdtt5WVeZMADBYxygO-bE^B78{kxIHD^kmvi z>>I8H)!(4}KJdo#PrR}hdUcMOaUHdka{VLfQQJY~$i8L5$TQ_e;#QMsK2sG?4hBP2 z>P;!Gm#1{)lSFIFDKD&b7;N4PXrzBiJ9%iTWRXkZTn60}?@@ufSH9^h9;)gM8&~R? z?52*an%Sl8+fC+)-SJaWZNo1crM=LO(c`#+dE#kdbVQ9Kk{J2&p(Ltr_0-j+x@)_AD%9OT))1>g6;?@L{$VCTZW9CI#{T{#>KLM) z5Oobk$e87x0$HUwc#MpyrNa4ff(tWmjT3Oxx?`*^dZSK&=o+50f2QdLpt!%Y&YKRS zcd^M^S;RhU)1C~=<*K6BMd zMzS*kgL<^0RtN(}7)ZrQtd6R-)Z*1|b#9@DtLBMemg3$yui?3grDkg_J*H-lP7Idp z@-`k*v@kdotQ1s!BR3@WF6{bCQMI31)b*P?E7@+1toQeNjk(h<8s}>)7nhT%CRSv2 zUn)5i1t2Q1kYg(^Pjv2$b7QYfX{HTk$*s`GZ!Pn|r=o>ms?Fu?i5c)56i|fWK_s+t z#bsk_aypU;uXNjnQv|Tw+!QR?X)V5@=JkR(@`wo>V1er!0|cz(m-?Nv={7UzTFuR* zj@FuVGhZDxGRd*Tal>p{S(%ZGIR%q!LNG8lHe0u|75S6f*v_&;1@@_BYS!~L%8fe0 zIqq(4+~;H?%M!$eO z=lMv%$CAgnZ!|DfgHF>X>8bS_3;SN5HhQG(HS}M@&65(+m34I6Kh>3W!Vwr}J9$9B z8*BT))_3;SI$fpamjRU_d#N>6j&=ri^48uZVkDAZCwJ86VA^Bc%^O>s>$>3&WMi&% zjU;N;52$qnv%T%$vAWQ;4PM$P?zIOS;o*F^{MAUEO{rM?u*)^N)?+#&`*LMd{{2;I4)Uqbd60D+G5+cWF*nF`l$vI_QmZ&vm(tURqx!BbKEvp`F7oyQ=H($epZ@@(5fCh;7{?~? zI4p^l^`a7`iR^wJ_^WMms!jY?T8~fa{-D$0v>KhYsg+=89pkjNmrH~QZrPPr%V-cX z`O~HlC}Y+7Z&JS1^(ZZ`wEnBNw+udwr?!UP?PK2&@|nO8L^lN>s4W`C;daTmFGRcW z->0R}V(FMK6?CX&6TO)W&&CMHXVkfAEO!<-=)JA#H`zVwe$uD7FD^_H(_mZ^EB z{YAU!zx>J@NLh(ew=p5zB#R_RVyPvSfXaYQsRxF>4|JuZ8jZ(7>9_v?!y#s}wuZ(# zi;I^YWU8rdim5!rqikKLl^6qPA+=u|`hQE;zl3z`7rK_C1P}|Me>Cv<7RKILU}T34 zG^S0ZOxQ#vvd+XRm4RC7qmv?wb&WGO(H#Tf-M+IIiI)BxNv8Eirt@A4y-L|l-H|Ee zj0IIoc6c`WP-hZ2$@LSzM{l`5k!}%pzT@PTQrn4R#ygTuee<7s@rRASjmOgUd3sYq zx4F`yf(vPHZ{wER>in5z$&v`z%MEjz&U2^#jSZzr^^t*Y%GPJUHrj^({_2 zc&xPj536;#31o?jH1^Q!g>Xh3LA@k*W(v*;QQEQ1q|(@b+s*GI=uW$-#ivDeu3X%~ z9ksM<)5|=o3}}m!fxFU!+_61@{j~mq@jIn_Nz^uJH)d9fIg8p}NgcG!0y71;h8(}2 z1MO@uA(RZbT!47bhdwiPpHu1a^xuoUC(_+He}55#+4UZ>ZRhf2jZxTG7!{-pj#m&! zr4*{j%Ir;U9S`CE07rD^h$mOH>upL=)3BST)2D??+RrpW47V3@gDb@GClQx+QMkO$ z8x_NzIiry{(_Q!dS1a@M^V;DUD75bTd42u-`epu`;n#>W%i*tA%b;~$qto_K-QC$; zK^L27lCvVr1bF&)VuTfmfgX}T47uZ8ApQ!hZg$^zbF37Nw-aHjPFQ=NHNs36vta+#ywQhPW znl^}F)jFG2(UYm~Y$AtImOH_0mrW86=6MB_F$xA5W8471AaPw7GvtKaDX(7Ne?v6o zjdex+51L*icyX-srmc6Q>e^iP7nV*^>e}KmtN|X9J%~Nk)Rke#Cb-6>(-ORs!79ec z%t!%9ARl9z`hobL>5Uhyx(oQU`)&0*HCgmqi6mGI$?9ofB1~o{Opw2uct#w84}!H_ zAqiQQCK)`b{J{Jg_jI}a{4csYu}iKt&RL-J#CmPmxs^lhK7bbiK>K#CkEc#2gn4z=v|Q#q4CDeT`qtSZJPZoiV@cV)w5Z7GR_-5m00-O-ardpB+5~q=F^7nfhxW(z z#bYe2z>G@^s{%9nezldbM_{sU&Qu)Z10bG9_Z2c`Z*wVWCzW!@%5g3ZM_@qz02!%d zvlkMyqDBbVJ2nEly_~K+OuU|Z_Na2v5h4s=WQ866!lkyJ;_@ji=ZsshVxwd3JAIqm z2mDrVehha`­kIVWg%C<@6ND&d17mS;u>1%ODC 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

A}F}qf^Z|JoEmvHf1D82=}HPsy+=moQh^_bUgj4 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 literal 0 HcmV?d00001 diff --git a/textures/viking_room.png b/textures/viking_room.png new file mode 100644 index 0000000000000000000000000000000000000000..6a879ea3e0a369e03b69fd8bfec917febaf9974e GIT binary patch literal 962052 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 z z-&3lO-s0^`Yo zI$N+atn4%em&d>nMgxFCf~|*AT$yk3MPn;`x!!*N(ZP?;5C8OZ`M~UT4xmQ$PJ>yD zTwfb~gp+&RgtX9lS)pvYQBmk5QetEXF8u98gg+5>ZKar%f-S926^LMFv#&Ci)he zwX0SBatT#6N(ca@X#%wi8hoHggz@kkoTL2bm}0RL25qyYP$deTpcrl&{m`lis|W3& zIU5#FRgFe7g@;S9Iy$k{KoH=lAj}g`m5G|b#zY#i6+|*#-RZwhbh@D4Mm6O+x+Y(r zMuBBp%B;uX;^HT#+9Dq;u4d{?W-LIk$Hmr%PcF>Z^)pTwiLPEbeL;`&t(Q-i$&mYg zO2EHz&Hl#M;e6}mlM74ix}N*Ig`2(aa54Ds>7^OEz9a2*QN-9K+2MSs<+BT8>pZU9 zyY;`h7#%LQUOv5~vFmrr-?!pH>~X&KdU3(TuA9BC%hP9vmxHt+*>!yscHi&qG$ibK zzOCic3p4BbesqSXA#T7DJ8m|$etP!s`?HJVC-`j3h4Ab3?05NSL!0SVnYCYJ6L`rqhyOdr85_^(0#9v01}(bC0pv)_a%A&3wVW1^2FDBnYJ_}uJE~k^@w>aK zyh;^n)mbEu>LxYNL^hT?NIQA@;9vaS4}brE{r$u5K4Fy2+-o!|)i*mQ$8esFT|@SuObTnnv!qC1A_IhmoA zi?7hE<3X2ZU3#_NyjZU1UAjg?a%nZxzjAUo%XYpV$+#(bEyIsKvtRl^^BLBg*BD3u zKq6<$+1#}qYR>6R?@c=w$XVY3^^@nG(=FtmyV_N2_4+qV4of?lcb4A>n~WdheqQ$; zJ`$|?ao@YrM$sswp9=n;ZYO|{jY%aO(^IOPq%qRbIlwQr^&oeNp+?xk{c83f>c}|> z$d67@N&)z1L!A^SM;k^`ONHFWYp%}0SDul5o?wg@X6VFGt@;e*ltX9xF`)N5D@A#a)Ry+PeIGPPgP=wyifBLfsrU1Tv1z6 zPSni;eB@iHQN!qMRS*c!c=EV?q}gMnz1`XF9Z9^a#cE4z+OYy!HS=}~5DpP$sDOwp zC~9`4mI*3zcclRGL&HbVsM%A*NC>Wu8tR|nR62^gn&f{}5@=O{eVpa-KA=X;R0l&F zqXuoRIauSWX@h4*X;cl6!oM>$fuNRI2h!yRBa@@jO=gu28j*8#v5*d!s}qaF9SmGw&&ZnJYvO8 zC8w1BZ62@FFW_XIIgiN64xGf zy&LMiuO9u&@#ql1_5K)4eQx7H05oo2E|=%)t#E+-gX=X-AaFL|>CFF=5BcBzSmy=D z`K?&FF9)1t{Pt6xS05Y$(|g$dQoZ=+`N0!I=?{o@D!@W1(= zkN%6rcfR}d*`IyE1XRGiQ&yJAH(Z#847M)(&5OMuaATm}0sb8W{|Y=Ekg!`+*l zXvDlFFTn+J_@2BCS|nbM2k$=Iy8olU|9?K}^FRAP{_t{BpFZfXJ`^Rbwu3Y$csR>1 zmvr3(-~nn=1fWkNI(v0)ip$9N4rYs4|LN)a#{i>1T)(d_-aB5rcQSjm-tJWx;7|pi z%Oj6MkkFgWyMEE7k6xT_20xi!tG|n(`l8DpK0Ml#>N^sI*k{#>&tLW5e{Yi#+#6>7 z`gLO?Ir#QDj+2unGwU*==&zjpjUzi=PXo$6-q~yw-n{YE_f+GCI&B{NhspGhys;Bt z+ElJ?z|)lgV91H9%ktU9a*@9R?Qdtp?sb+3x^Pe@XcSz1%sf4^QNO^ z?;C|0wXSkDBh7XSD7!j2!TH7}roePE}Mxy1jv5Y3%^@ob|4l_U|Ml8q1VB%P|MFuc6L1NO3ZYCmS$}7#_l8FXXQzqJ> zJg_sbMmZ83G7(0Js%9ui1Sko$&G4wAMHIn^tO#_%iTiA>`UQImllwwJUfhSM-4KXF zqcQ?$44p`UV8cN`jASS^;uE1tM*X6I07r9~97TWyM!J#66!qiPBEeBj!Gk<#U<>&+ zlYR;qbAloLv2`Xs;wmsKq^otk_j`(3rHHwFCN5S+_5^#eLwN`Iw zJojh9!rkr^r9h>RFvV%Zo?aezk4& zXW0tvRQa#gSKr3=OZG>{-P!5#pZtU0{d@oU-<};THmg;bo((}7370KP(CL7I-m)4= zxw|nzCfR5TO_bY)W5xE0p!zf)ph$umDbpoKW&1&+YziP^wpbMDfBNtKiE2H3{OC6x z9euLiZj0w`w`m2P_hK`wYduQ2Pq|N4Tz1t1AW@q(;oqg-w?P`mm1knK)?dAKdAdZkA4LK7^rQ*e@zc}|=IlIkW=2$Z3 zrmwXBgPLGm`@eP<-1G{r-J}_XlQ1^||JoUIlkqwkSD{-H)TioddOJT&YkiM<8!a%w z*fR#TZ1ecaV6g?);Z)dSlQh|EO0*#nk`2K&V8OO1S%3}s#Xmv6#gBf~gY5?i5Fp#K0MUbF zwgyWy$tKxkceBUpuJP8L&bjBD%#7IU^TS#@BF=E98VSQ2-F5S1Mn>)_)?UN6zIA3F zp6}!*KUXIY%xpI$qUfn+K&Vsg*BOkcq8W_E05cXa(qk5eLiW{r_hsSUqAb`sZ-)B9-p>AN@n|#LIbN5>R+3-x#0k1I zQ~;>*UNB*SBtvPD4aPHJP%p8@Nf-!hnHYF)H<-Z0eyg?}a|X!-Aa#LfB2O1IxYmRJ z+AG&SJXzm6?aRXa>`5oUDMy8K@NV#^K2|DN61y?9j9$8Y)pbUzS=CIGIZc^)g&Ob> zQC>&BN`tv)kfu@rC25wq2M8`KMsKmLXFH97CmR5h;X-(;PW9NyBAlo~9k3YLqr7#f zB?JtOM}LqggxkpkbJT$N36R{)gbJ@>gaf>0eJ~e2k|aFqRk*XtE5I5!RSb~^&|)UB zpGU`5Oioqi)27OKb~x6Q6#`ZRHx$npTL1u5L<87}Hh@S#xiER+0SL1`(AZ z<(qte!{0m9E6dM2zwSwG5I*klAHK+6y{ey`q~QZ#1MU#N;z!@A%M&Ymy1bP77u=k7 zjPljt=q;T*U?&LFE3duulRtUq-~RJI`j7wCZ@&B8p9hRbjdWcM=Z9soueXrwpek4) zDU)h=G|CxYNFXS)WMUvNGZR4GBMSmVDnPYl2MRfujQLcclFBEy&vCwxOe zkGCHjoo@U3#?}4nSC)sT+fAR^e=zWG2f-K>6r$4(b%wn~x3}s(K3YFG?e~`DoK`34 zbX#9}WpCA$qs{ibE0N;vvcG@a=}sYVuvZ1{tinwNcpfL08Ut)bml2B&H1o>Sjo*FX zn_ji56fPeVEYl=aH7n0G*UJH1G|}0drm5-9?1A>(bUe*FJiG0fMF#+Op(1JAaHlKp zKRP+?`>U%ZK2e+XTR9G;%PWW=OY4E9o1YyqI8J))bzm{Nyro1co&cgWXw5id4ZxK0 z&srTGTsSc&egCr&T+?niCran*@?`xB&FBi=c4G;|R1Bn0W`x<2TndX)3?)F;&HaC- z51x8olE4=<40Y?z*fGvCE!tgNS`Yrx{_eqI@o0TIK$#HK*j%Hk$bx3Z>I9R$-;G-b zLc!q>0UyAaFum+vb%c^t;RZk)90nLsDhO7oHoiCYtD^d_8il=idJJo- zL=7{X=~kFbMTVOD9LDxjBLD;#p!26R!94x2p1eL`0%U4As4ya`p|nhnn7&?N+1J{T zO?z&;001BWNkl zW<+EV7r|8p!^EbMDzU}tk2TmspQXsNbqXKX%mHN*)tA)5<^q9QUDdrdv|!eMBa%lW z1O=P5JNHqH@;G&4rKQx=?r^%d%eUb(jaXLlaByl@r-Fb+dK z+4!|RtZ4ho?l8)AwVgqrcl6awgRBr5oB)cjTI91;jCW7^)9tz#uk9_b>~)V$`_TTC zrCqqKUR|q&l~zSI%$#Lc4wlOW`QhPdRV_S!IQH(li|*Fdy-l6te`d?GC>nh8(LDos z|A;j0ueiU9)lyct(|JFjIw4ghMkp512s17_ICS`kryH!dzS+8q%MRURvwp{!;Urcb ztKX!Q;rVZ-92%V!vyUg;$(nzm9ifSXB_i9~+YJMp5CK#G#pqDjY|s9TkLoqsEkop( z$!t=pm@Eafux-(lb%QC{qDHPDC721$Z4dR9r$ESHQNl@*)BB;;Anl3c z;xcR-n>H04@F>74Z)FCd0<=g@yb(nCSys@!O2y|6+3@` zC9ABMm@&vi7L2X7EQn`pYUjR7edAY~9oS&xGms_*9U3#(3ItLz>sUbau5?LXX(c8p z<79z`VwhttaG26QQ0;K9ywg9Vp*!S`Q4s3x2_3^666t8j)S!zr!)K+&! z>5uh{__XA>nLLY+r$2==A8CBqG(oip7imI-W(FsvaH5IsvPgl@0CrWifEK7zxhR1H zI#VSEs(=ef)dq;LBA}?!;AT=LK}7OE9>;=MEijR`=5 zG{^@ZF+L606MF9qQ3It~KI+>*sx?h729N=2jw=831xJGt&A>1DbfaY|CM|L73_*}J z&v;;y5_#CnjPpaAy>3UlkSHVMFq-Hi$2{STPUIP^b2sJuo?%;XRJ72rL8DPK8$M?S z!z`RIL!0`zt45mzKHhoEor^as0FW3WB`2l>-dEJ8!UHdF_qLe~@IQP>$p8Wl2VCv& z*Iz~t9aqd3H75TE-K*Mur5^u$v42In;QjeR+lE%WezQI#c|2!wqIUOp9^QZSt$+M) z{?6b1t-WgpCx=HFGtOrrJTCDFxIjax4lAm0cA03Xk>nNvrENYB3GSJEiKu0p09(i_ z+#q=JyTvt0EOhs$BV{`=o5uKoR;PV`g0_9VvAg@?!R~24v=i)XlTc{8OT>ZX6?YGHcnlhMmsl;z zYK7gE2wQb^+ovO9(NWT-=kW=SH+pz1N?nIV;l%Crls2lQx>t$xm2dBoA%mj7(qfYp7j04kJhWjC(1T#GN}C&Ly_nknNL>$OWKb`k@_H+ zQ58C4Z1k~vkpmhz1n!&;7o^RQ^=6xUCco&puQ=<~nQ7&@x1OVM=4{FPwM4K_AZSwR ztAWGAc}WPWS>3=@=pn}_ozdw6yqxeG0c?mdg4IQ%yN0S|2hkYWs%;m|2d{<#8jrPR zow?Fk6-a~x;xH?S1ezZRt=8I6CZIY2H;Yhn4YV}WxFn5ZtOio5+!9gc=4SyhftUd7 z*_JEULL4Nosy-d9K23O_aB7vgx*Bz+Jp+{_dpd-rnSgCEFO#5}sQ>u916WMQtY zh)B*?>a~;JBN-!WTD1>TUV--mdZdNUi0r@-V9+#}%%z$H7S+w&O%d~sVsOzTBvy1T z1kY`QQNYayI66p#3E-f4;;7D!4pU^;cZ^yTjt*qa-}0Cx zS;WLz_En_y$PFB%g`6s=9%^e%MAB?rGohL9fT87yIG@?}MK(2C(ubke*w{YyH)Y0j zlxhA_p~*~ckp^Z+qmR>h5$;aeB+c4wQa3+yu8sX_u;q|oZsWy)XdtIcBex)W)XsoV zrwtMNJ2@)ppG;k2L5+qN~GzLEx#MlaD6!NzQ#=C=e+0mJs*n9mGj zD0aaJlQV}i0AEZ3rOCa3lBm*39VF?QSQRd8gDQNy!LNLI$pF3M<1PNqZGL4BKRmun zodYVcX8Ct?{E_dTSUK?L%(43HTBSWu_f3EB6>dMm;#?;vzjgbC_kQ}(KmPCk+28zc z{-b`g8Ma%DTL1u>tyc>rw}ECp7>l4_)MKayY${RylVoZXLhn~Fl)0jmrDggroA!^i zKUe#^z4TB2!SA5@^_Q+gc?N8&U)fpR*js&cbh5J;PZMoxtyNc7-EL>Sd{yk#t9u_F zoot4>>Vp0N#jq&01s4*mL}j7540mC-ONJrO=Y&A;gkoE<9nh7`q#eOHgZpw}*LGH` zuKeWw(aE;ozo@WEC)?qdU)fuA-O;9Hiaf3{7#oOgl?jQ*Yu$fjs}3~oEX%>J?eA6= z8gaVuI}fcrE}0i(+<%8G_d=4v5IMjHllarM5s# zls`5(h8emS84P)-iXD;pc&NEBras- z)v5vL8r-o1Omv|$b|w1>W`Wf_%|}1T90J1v4agHJ{kS|MQZMxIGiuXM5F_f~jA3xu zS6Vl6J;$i@nJeNY$LKboMAu&!$m}GGBhmoU#I7q`zO01=cIZfdf|f#LD1>4Fhz{%K%^@OpjZ`g$f=V)JI|iC zIpDJ(fM%9JK~|CQbloO-kE8`j>j)IGdS)@YhICKH1B(EuP}JZ<5yPGkB)Xi1CPd}q zM1t3l<_5UD=BkgiSjKgH>K1*n0YD-B&~u&GFWZ_SiTdhZi%7x(uYo*hcWYO+3evwxg1eSySeuROqiZ<5~|HjG}$2;#+HxeAX2_^j3L;$ ze0v7jO7>1(+dV^}MxCov3?{QsywEz3%1oTL2Go{w*G_{Zor(ckN=PXLQX;&guPq}T z@^Gby1p$MNAs7SuF`7IAXpDsHW|B0cV9JY*2!ur-S5{ROBl~2#%D=p1fGXVC;x}*b z-@So%*Hd)nTobSc52$Yp4}X7gV@q3p8LXfI{eP=IdQ+$O*T0~Gc1NvTF$xPZY#$KiEP;Xt?y|KSDsJ?se z7{WzL0W{cRmC#s55}g_a7SaM{Tn4nIEi!(;9&0m_JNkLp@>*e#=-{%kh~ z+VXDe@ZQn(`f6c@Bte84zhm&XFb+nuRADTl*>OlBkGTf_$~Q(TwMeS+=Am|HjT6aH zLkV$2ig=umM}5D$v~Rq0^=J1VZL2RYt0(xlHrLo7xHGaFJ&Md3Svg+1unt|VwQdCi zSELnGsfeqNHO$`e5cd`pZsqPG1e;|6R5^Ke1Ef5i4Rgi%f@<~LV(U`f<1!b-(;8dI z9BS~CTurpo0O#t}BqJl)Y=`({3@x|AczWFx9v-hx`=OLbJ#$^wwPra0LhOebTW^?} zQ@15qlKe3$35F(}hggfX15#@&D{!w6P- z^V1cN!oay0HJK#w>>Khq3JT8W;bJqugx;0(_lQdD;jPTg&35XbT5b(ePS0X|f>4?G z3wm|8o*DX3OWz)ZA%-ovqe||fqSPRiWs=c}?$eVRLNSaoJ!LFshTRO>3K&wuEH$hAR;m;lU}MHjSidv}D_B}-zZrtVW4kNWMV{kd zdGfNyG40Pv8uYoeQF5zN12oLmBg#5L6Wj@@vuAF23aJK!i%LFTo3*R3{ve6y zXNZVKikW5=DP>`WOuHfA!6b}CnzjUBL*}hGXw01D5txKvZw>!|!vc;+aW3`*M}zz& zCWA5D*gRAVGBCMkM4FJ5_Yy#3zK9+YCQUfVs`SzOy)E(?GD;N)aG zbhJgG5j!1Ed)25)0G9G3|1ya|+HT>FMTaP%>rFT6t8c5ncy;&n8~a_s2M^YV>wc#@ zj}sQOsrBaG?u%D;PacQ=d3sA@fL#Y=xq3Lz8J68Adx8LLdf#7_|NQH({_ODdV9}AI z`aa&Ug#jlTpj>FRDaz|GYJM)CFye#z;E{KyD#FBJ%A7Kk-Of6*t-My4(W?_!bPGY%2X_NCII9#@ zszWrUZ5v8SQ<`Fk%}t9Cx3kTA$q_qQy`Q`hlLKAQv)(Plu*!sHZl=rm9;dS_b80<; zL`^eF&UqS9(Sqa({mtba?RZ=7KHA1DyeZOCAKFhxFTBlXq4}&IcFC~Vj*ozJg_~l! zZT^f;Fl-1GNhjbym|zuIJc_jr0GV~!$}DU&-cGHT&$C>iRLsYM`Rk^kWsKAkhaSGV zK361gkr)&8n4>52v}Q$R=!0TqnD0?mMea3RC(#?nxJV&$o9U*>uknoSDF(pI4RmJ4 zc-fndC_CDeHIXPx4~0&!JIkYLv9$&X49z=5&&))wF>VLx6v+ZqPXK=f zWMCKds==+HQ{y2e2ciTl%p&4iBR2%r^tskW8OdT~93M1x#_H!6;&ClI|K&CUt)!YF zjYqRQoe4wGNRU#%S`)N0TxV{=F<6xKf8ra;rK7dJdSn0BZe2Uq zubCRC>HKT|>cVwRsXqS`t;c7K12*4;%|04!iH+16O(J4^0mhQ+MTskA^|T1W*G|;POClRi&RVjWRXVe`t*fpQ8t97$ir{lBzyb zbtRG;>CgvHYFi;s14;pc&=Otq~Ye$VsNJ?_fv>WHCD>{4hG;uK;J8#%Ua5EmsVYWk`N z4Sc|I5t*#vHD=}oOpjs;aYh98Y(MoJJMhUgpa8O}!bP9gc_9K2*bL~acDs?Wojw3v zZklH0QIcrY8L?iF?ul=y?y7KL8!?3HUg;=Rtkru*72PFZfYRU!Yc*3wqV}t%NX=OM ztEv6Mnf-Lmn9=OdNg#4Ea6_XTom$?MR)I#A1b_i7?lAKrr?a7JX@)|A=o|@-@}P*y z!WA+>ECy9CEY|1ULC^x;$rxP{v>*ZlPhad@$4`BDeVUdkH{sRQH+r^7YBE`T5Qy`OhYA7wE=7$|)JZQ5O-YpXEr*(1-?t;JM zM-ObVv2NvG5G&}Dq5l_KF~0E9wLkt>-+k%!&Hw1P{_?xuf0wFhVh1Qba3ReKb)V2P zY{Cb@Q6YyBl`TYMfK+SdppEn9%>ilvu-e-lpnv)geg}RA`af%`?yJsTxw`-J`;Ycl zU1#RP5AQtu(Vd4U!*FeH0pN5y{N&@q*RNl>vb$O>`0BO&-9`7&(dl}qt74sTw}ZL@ zV8%gnNt3WNE>|UeW`cmh)z`YeTD*3B@A}Tpox}A{9vlsW57ifT30+MuUv}l?t9#Fh z|M?^g=nJVZ`0}WM$5Zxm;A>sxpoFmI>)CZEswmJK}DW5?A zItP}Gk=~1a6#%(=kPV4bmfEG&Q8dm_BqTORPnDa5$f}$2q^vA+$^)L5kMi*e5d0@}!W(c%BBCw4`A%yC3!h&sR5s7V7V1aVWPjePC z;O>iJ&u0NVal{QMGL}pO0@EIEqiKvODFf9$`EnFTZsOC`G)f2!7pw%H&&Q+31T&s% zOwX1CJlgk{uH|$YhdgDxG7DzKrydV4ssk3A9K~6p9Ea0jE@2Qr3~E?YNyI=^4D#SO zvgm-v&!{Mp0>)wrBZbARV;4Jo&Wz^l_1G?+Df7$1fC~so0bn8_w@S!htWg7s$h;3i zGN^C?Fh`AQq^poB9H0dx)4*iBBE3THR_JWWT+GmWz>Ls5yVL4Csj=;v&)dcN#3sQq zO)bSIBY`L4N3#dz?2s~{2Tel<#>C&|)*Ka9oE;|ADd z(?B5A$oHoV+FS=|@;q>|UdZGb%1)A#RG2#341w_dM>XlG0LOe=JDR{5Q=$`_nsY(g zEN;bSPNd1GX(|)$kv|_D$TYMI^0%$mbRrs`i&yRPb|x9%p>C}*8Q`kDN8jP~jIEmB~8B7WKO+;Z)Mls436VBBS+$|Pt6w!unw>&;gZ z`v1!l^#4r%APMWCzIyFoZ+X{Uh5Y^p4>tWka(}sqJ-D~vX+OMk|LC^+jr~>EmFxRE zU9mflPEWVhWeXdlQqM3g$wGoERd)a{UEO{4>i&ZE!#jsRy?f;FWhq7)FIt~k_kL|> z_2R+q>Gl)je?G^S9>b?}>hh02r2+6bZGeCqx?%$Eo~-xA0>UfES83e*Zji>_@NugfJLGG>MEM~=hvoJt{*C=_7Y(z@% zp$c%(O3J)IzSGR;fn1KFoubf@%aDQv5`%ckiRzPlxu{2lD~~l&E2hM3Yi`V9=wLDf z5HVtl6v`RVQ@DpZD-evLiCNk^GCycwF&Pa)XHgogJ-%Woq!ovo(1pmg!Uzf%k{D{O z(*AO}_Q528V=*{9Q9f7C)J$G>C7VrUr6qW{AO-ee%(9&;y9%0rVj;D=0MnYFF&hrvLEK`WIffa@;>3qr=#xOW#lb-po*}pu4Q)TdNIO?Q04C zB^A~XQA99VNJ2e-ajt_SWl!7d zttwTFWDJC~3*r&dnco~A&``$5!?Hb%oG#O-CeJT9<3&({k;bImrg%4-CJjW47{~Zw z1JVF%?8q}c_uRuB1M!*6n8aaxi&KPgw0hO1v1L(b=Y(djjGPgz52B|97RMohF|iD3 z4FotS5g|!K1VJ*3M3zt2A{k(>=(k?sk52HT6TG;@Zo!JdfAz@)oKoqAUpTsZIQ0EwT8G-4el|Ai7(m9U=|28F4o;16C)}zSfu|)NESi;< z-hAcT|K|ID@U8E>{?;vf5``sCw!@1DJJ)tr_fAi*cT0C)Ejr^gMv^;Sx2eO=9z5FC z`r^UfVqv?h?v3TaM~A2Pj<+sGnXsqMOG1-{ZLLNui@khx@1=v?)AjJZyAM7%I_b=I z%L2IEH7)4qbo&c0T-#fAA0PLh0siODQ~R8JL4x|~tFHWoS6{e$x>=Qk398}H4>#NU zryI5@Pl*Ho98?dty@Wyv>V+TOJ(T0sYr7Wd*$dIEV`-MGAsnYoF_0MPO$ILLL#hXG zFpCutv4KG>3cLysBUP4GT^&V~M#~VCCA5NYxzJ#sF^jV=OIelJi=l!>VW=?+HV2qe zyTO7%Sj({yp&CrOLA6B($Coz0(sC^L+fewJ7a2bd<8T^0z5*|5>a zBzOfFlNM@k9{A(YH_e>@s)4uTXo3SYbWt(aAfSvYYisfCO|1{N{W;_FQ?^ur<-wTI zLh!NerU*NrsOy!377!&3V3wMEsXk%8L!X@+Tw`njU`9V@%Fd%Qk4k|L89dvi5NXFj72VXYMGuC47FA-B`DrI5tLbCH{vI~l_gHZN{r4E zyBDR?=1OcR(rFJ*qT!j-1wOA9YcDgvsn{avi;3+u+wJ2b&W0B5%H*O*-$H67<2Z%3 zgx1)1n%4$&F_=~Z~n!znPf_Y-}%SYFYHKh+M1Ki ztw>rJ+^fRKFgBz}hPLIR3A9MTc|t({ zx!V0LZY=a)-p2Qj`13VB-0Gtq`vtoND|^0}Ks+~9*i;-lddCY({Ke~hb4R~+4FK+J zo?BK5*nqp#H~r{iZ64U-5f@w9E`2F4njcl4tWiKE2Xc#YD&F?ZFZx3#Po4t(zt~s5 z_4(`~S<|`|bVx-Mx#@|5y2B7<8o)^HE*2*=6wtLrwF5C6As0KtX?zSaydr!;^%%5>sK#JfhKrOx$1~R5d6x z4)><5Zil+*Yn235*V4+})Ah~0)vH(btFScQJ6+#9-E<`*gd{h$9`=34O_IxphwFM} zCkuTK=`OmYg%)f%>kPkXKo4ySGB$D}pi8HJkZ6Ph3V>ojUJ%@SBujIRpKAnYoN0`=cs{8R`dNXl#)?#f`n-2w|XTqfgcTAQ(?$`v7 zsfUVNXHW$w76TOIH72-PI%UKUokC;XZNh&f~@LhZ>|u=>VCy*CvC2$-ClH#lM*~5*O7`dXUZSU^zv! zQAcZC8bwW9GZsMxP#P;i0y!M;z_Dfbaz&KPABmcZMEj)t`t+MhfD3oGczK0i*vGo! z-BbSf6z`nk-bNp7P>B74RcWE>$J`|J{&mHPqY5_``1J#Rbq{as@`aTs+}UDX&#d-y zb@CK;6a6c`*~lJX@e!5}xID7Xt?Xi0D66_Z&s`~CAP3kfxPq^0eNpSH8eZ4BqaJ<& z&Mv})S6+MZgCBnIKmND>=(VrD{KnUAzxtJzZ@zSOcW-s{@!|Sp9fiTCy&C(+!rKxU z0>Cu_f~G03h`w95SnOTf>sHGL_l_PNpZvi;`u^|#^FP`@*t>q?;0fA)+(qKydi%?- z+}IAoAHMr>?|x;qF!J2O5?pnqul1wD({(@G+~3(-bc?dMwzu0Ae(>=0q#wpFltk~R zb)H7P&=tzCXN#}ixO%X&I@)gE`S|E(_m6t%>T3CT`&EN<@A!0O-GB0pw_d)wclXiB zm+LC80YPp);DyNOplYhRX+`fDT`~Oen>I3eH570E^6kpy9bCI?SX! z5bWM&0vUE{u|}*pB1YrD2nZ5U5K#uznTLiGL1IwYLiU>Lf>!_D^2@!FNTWo?T>YtjAB>qR-sC9jF%@o8#`B7a?HYmMJG^ z94YO4Kub-J@RUJf=IT|TgEiDMD!d;e8DvZ~K-HPYm3fRl$C#g*13=)y$R2-b6}K(~ zh6j*)1e1q&>{>bL(IR)K_18Qs1fY^~Rar%*qPZC5{amc!@ODKOYz|wEF)}Ryj9HFB z+dXYBU^<^?5Bb>Un`WBHQAKU0-e?iTXgI(NWT1zeA4vUQRWMR=ucfpSebqp)a~}#_ zDk5dBAd`&gfP_M*ur`w@?Jy$DhYUf#}v#(F=ao^IiYh@=9wXDc^EDC~-Igr5G8l-z9T(UZ7%7M z#g8yD0A+qw)c0w}jO0>!aRkjSZpfdOLOeM`CZuR+;6$M$RnS^iN?w^mNKi*x_+%MK zw~7Nu_Jlz&M3^saXe%u(y;Un~>7LD^f)qz?qJlo9b`&?b-{aw+C2@NfUq9e+#nE6t zKh=*;@RJkW*@D1+!OF1Uw3F5R{f{aD+*sgi2Yh=EukZ54LY?73?;oxw#N?+r7mi^k zv<|q5{$*{}vIknc@2dw~KD33IcHmF71O$p0U<0|9E#U{=-}dc`*k0AJfEV%+%cD=+ zOR5;J-MF&d_V51L`#=1npYC4Sef7R{3uWGNOP zqX1_PZ35_4i?S#?`@4&s< z^2-ur&&-rUq@~yuTL6nvij{3YynFxnJ0INNTb8{=_c-AxXx$Ho>;A2qSO3ymuU_9< z-8(tW^qLF1=geP^ldTt~^K9c2H{|%tpK*@zrBxXr2Y+N&BPu6j; zbY=^)aoMWt`p)X5{axlV2BV`$RQIFpu(w=1+-%lfuh`<^Q$xlXPMz6a;{fBF;taJa z)`~IwKN1f`jG%@6E$U>2)Az{_*3(+k5WN^jC)*{LX*{PDSyY7>cvkOxd<)Mkfu_X9 zIGTb20(4ieYNUip5-e==;O#y!AH|Z1=vhwVCmR5Q=#l6(hhaRv)v8VJt`bl@uRseh zjrNWs_2W=iB6{O;M?qGF#-Qp>r#$K{DYizL}H%{S9-Ul-Irdh8erDSsdht??plT7^DP!jXtdN3dNx9hc z?$yE41(|y!l855x&#*dDmi5G$>G%>F2@a9)5!?dG3VKR_POgoQk5FWMfGE=Jo8{0gaL5NVT%FNVfq$w-FRmErqZ3G%D~WQ2&p0Zfd=u3o+$S#AZC8gbl1p6 zbDE=t>{rBE~=c9)o9d1rH*KS@}EW2B;-7K@Dm}i(uUvF`z zp1g8x|8M`rum8&*zW2xPe|&v!HRb`&TW4m(Q1!v#$w@!l++AK-EjzQ_PRkujEOVRU zIZj7e^dc(3JB<(5y@9)r)&5oG$D3go^v&BZ{*||1>%HDNJ}Km?#2Ir&2N-8-^h-2h z(d5khV*pb)TBDqq6Y1!}ZAX$~UA)^|!)d>khe9}28erR|XE!So5h+wkTXZWP+7=r{ zN~nsl3li=U=nqb_Fx{EcJ4|+grlE}=mGtUZKno+Ylj$Wn-P(gkcK68EJ+~*kvWHa{ zES;2eb!QPAO_r$xOrcLypx2~E7C^1axl4T}n5qsHHM*YpP!Td>j4RF@!N|^-!v`~z zxUh#sSR+vdA`>`R{yRe#zfCwgueCI$-}BzN$La^|}WJs>KZVCG5uR85=e zuO6)SmtF7bE|dt2=9m{Polix27lDz) zHJ`yLreU3eP*S9ugf=#WkP;{#^CKgpu?gp~pUXFWQZ`df4JKE6`TC+2>zM0KPR%?2RYVkOa{(sg^RJ?)Y> zqDOas>nCC>AQ+P@Ex!``qmDK&SSDp5dOsRVP_w^tz@y9x{J$(MuqdZZN(NMUdML&* zB~=iuL5x0AgHp`^Tvx0ehl3WxPSI~%!>?WC+WGz|esYQ*9_x6(ApGhT{Ne#$-{JM8 z7KR7?r1xWPqkV=w1OQaPfgZ((1@s2iulf2I<-RXI=JK8`AFx}PmhF&Q(_Gk5eW{+l zi0w`E3;8a5OWVQ%m-89-mLSv>l%3_y&eC1$lg%Ie%Rl|o-}}L}m#)3~m6yNr^;d7d zdF$p&*N64?;Wcx+^!YoSts(-Z}i!@4WNQ_ul>Z!+XPKI5}Ehy>W2; z#=+v&b)@U+xjQa+b>2T&U)@>$)vvww!v4;;e}3og@%qNz%2G+1n$eaW2ColKHYc0< zVAF4gdc58)OIJpfFhLLL2Z$%AuUd8G>$k34-&ufMbk>#2Q_Cd{@(0K3>wCL@<(F>1 zcJtuj>3ZD{omua?zu8!NBRQTcP1ykuloo+$){I0rKi52#7+~d0Msi5jINQ@LO2mmd z)8x`q9{L*FmC+MJ(8qw*pdihMP{!}Z#Rh9CR}@L_8g8+4iu)9%wnB*p7FY|olCT1* zNxP)`OINK%NK65kD6{xp6Fjrnf-;;ks+$WNww3Fi>kU49*!|?gZZmM%Il=W%Z|(10 zT^+i6>Bbrg^psCL}kK0y!;1XV_WksEHOS&Q=sf31@*Xps7v?+ao{z3jBHvW+g0 zrjoH$&>r`~wD3Ip-pnJ}3Xp{uu2fceM;}CrabzIVtYnyH$v?JnmJkf6RlyV>r$bgm zSP_i2qI$LcdG^EvF zr#6Q<%wT$r^Las_os?!MhW@jlYYr^N6F3dRJReaf#wgH>5EYuiavA}N+Th?p!8Qfg zIT8$pf>$t3MO)gKCfD3AIKEw;$Lx8s0WjMY7dObos|f+F=Hd(;Ch})u7RJ3%Q@e{% z3WTiL4Bn2 zwvYr8YXh%Y)7fMZ(F=)Wpu0e0@ZdDMVH1MTlp!c1OE>_9qodi8Dc3@PS=y$1#?gGq zEd_xUAn1oJfM64|WK+PCW~MoMG6xlwd5P`Z6`}MgwNRnPpJAGoQG}3r2shAXbSKRM zVDwfgX$TTQoYzcn|M1z*8AWFXKv)fGf3}~RZXSE1HV_R*^E6~N^T3SniSN>M( zdD=Vzz%tb=jyv#-TyCbz*w3_QgSwO$kBn*H7>^$!nO@k=H-&4%08_WSD8;6q`b?YJ zKLmQA7mfxjs3q~{K7R2E?r%{Y6}Yy*PSJy2cY6%24)S~oKED<};lKvmpcJBm-V94X z*I&N+%9}5LP>$HLa=i>P>e7~qq<2YDNuyU zdZ-h{%6Oj?SJ9uDLfS0%^r^Ozy#&!SWvADuJp`osmZ9tvnN85yh?z|8`!s3TQnYLW z`AmZLjCOoMtr!g|GjyG9Ue#+aZtonHI}dEx!KLcn6)rnF-465BOKDEpxjQBYM0Pk7 zX(J{D0+(!q^VzDJO+|C)8YB3h>Kf9$t?|3hf|zDI&0~t%nP=nq#q@y9-9XQ9-*)A+ zD_S;NIFu?dI0)|`%l_-qXSjDAEEcz~>}{&+`JeHOYXhLHO=0Rtv4=gdPXZ`cc==)m zZFU!=8#I{<+T@+Ve|Y0=$x6>`L^(6)8pf}ld+`h-0Zq(cTyE&8yWTkS8$pY4PLb*yv#4DBfq0JXtn{z)6&B@@v! z?!mpf2boX!G@Y5RUTe#A2<6U$3@b2mj8|3eqr(<1XA}qnVn*51!!XFuAONF4T))8z ziB64MIjoJGpkRs66sdfi_&@h{yIgAOlQ-|&B;96Ts*{_Tp<0E&kRysZ4{1kwjqH18 z)Ow3f%OH;`7-n93qu5AyBVdv-kl0t2UnLRY?b)d|AIkVTkS3!}`(-qRR_^XQ2YY+h z4%R2V1|MC?7neXy{x*efHo`__16(p%rD~m_bWo^J%2*1RdYx{KfS98a4Jy=j!}K&SzR@cmzKZvzpwT$bfx@9Oovelu*2)_?dr-}&zE{@L}HuD|swZ-j$&sP%_` z_|twn9Ns(JT`l*n>|MLIZ$W&LnOvVu&%=LPc`Hl27s_8~wulJ7_yRJlQ(fm9j`*!hF}u<@ZmvdyDedzW&D7Z{2YD{nKqE z{&i-@+y2pJI9Qeu?$(sT)P2W$jo8zua6f+zIs0Gw*K;^25aNVNjW%_|#^ffr<$u%9 z5RxCLwfXEl0l{G;SO5evK#ig^MhKGj5h7Snf(xd3QOMLV3Nm~cowNow9U+e6D2l^N z%71QwE5U8k5uN(#sTPtL3bzRwAzO=vly^{w!i}QMmjd0O+H=eus zv$gYL?9B2Jq~!v&aML9CNB78c9IqFzoF5Ci?EPoIHD|hxfbLA+BF!{lte1CKl9jS3 z<(c6m=YBtbcg&xjotU7;>OhBLN=Q2 zb6Ul7`+@~5N-<83{7bKyXa9vVo9f1FD#qi9?e&>QL#k+n7Ba-wB#K9&w)0xaxjq=M zDCOD5_jCwQAX$RCew@xrVV;3w={@V8M*a<=hOrQwHX#;0m3dE;9^i5ps=NvVYACth z_*_DFtwbQ`;?taQ3ZzWtGw<)LOQ_9_I?07J!p^t0XL)uxk#C>5kQ(oX@i2@eT@lW7 zghYt8hVjU1ut2lb#DHTEx;iTP5w{A=YE%S^NG1z2pVd|5tR^6eG<(n(%wexQvlpk= zRlz*)d_w9oZ6dY5zw_Zcci;Q*om#!F`{}HELYpn#dA0SNnB?p$IGeWf81*2p=JfLX zV(aXGarUP#esSKzOMmpzpSZL=*Bzz~%=Y-Doq62rGdFB|1!u>Fv^Kica{Z|P7ytPG zsheT%+TLRZ@VT^*!xcCg&UXKcSNt!ubC$pwr6U#yLl-A3e&Nbb(-_#8!b0}$y{q97 zGQPSn25xn5o%s~0hVJbzxxakj#=*&EyLq(!ga7jneQ*HQaesezXVJa*=F6QGP#aIo zLUNzAo>35d33TJf@o3U?LJ%&)wL=O z|H~G1#O(300EfWXJPtT3k&s#rW}oov(>I>5Y)SeP-*gKNhS{Ug5Il9{@%gsV!`kc$ zC=25Zjo(I%#yV#~d4D-dNvJE6Vy>AAtzvtAE%Yp=qN%V?=Bqj0y#0CpRdnLDSl3Qq`bAA1s+9W_yvCn>*HWC21iNRp!F zRm5MIRWURHz9l$iK7~XsQ45*#b*{7L$D+&M=VeStYMV`l2rz#yHaLR z(!2FXnX1YRU`aFw3cPk^$cpm{;Cm4M2ymAdnX6LnWe5U-v(;G7sl>Avt^}uj8Lj>7 zwHpT?{`}*A_}~2#(yGtw@r%0V#n7{D%UB z{q&h>0k^KjSaX`R{Wrhn(|(Hl4RUq0CR@uCb>%OVj+>+QO)-?;taU;65+ zg5G=hXgrjnMXAMkl`;xm6Qd6`l52h1L2weip&K^t{e}C2aqWc22W-E-|?Y#5p}5wa)+a{C6)lw!7sW zs8Zn5v90w`U*6l@TXci_vOIt0j@9vr)^L z6*upwMKZ!OOUkE40FA~q3w;@B+_*ub9WepLJT6| zlGDg4Rd^)1h5_K?)17xCpyKcr=me&~E6+-+OXuWqD{=9$JTocG&}69o5dbYdl?8|ZWS+>W zFR>B8{{GH(-MdsSK8254hG)6#sc$~{;wOLQ;-?qqk+XjY-~v0-lc)X(cYeY(mq>zV zc<0%#zxa#6UMiXK>a~3vGZX&*_60ZM+Oquoc=Jzwdi&TmVE_Oi07*naRBv7Vm#^=A zmMDR0(kq%?&}9Tr?XEx({RBy>a%_yg>Ssd&eiW z?w9f_H};EhIC~Ow#_Iac{o|wU|I6N+Hc6Hp*iOK)g2fB^vvIg3Os6iFjT zMjAgzGKwad^hG~Ye}Sei6eTVaZA3{kGLf9o41obKXaK!bS5+?Yt{;7H_xoN%MrLJI z*E-XVMpi5@-g>X!A(KTr&s;*;pw&&NOKBWWQ}`^ZaS5$}xB_5dK^>I%;gnW_1QD2>bd zl@K|O6_s9+l#NC>m%o867kW5)I3O zKAAbA8?=k0S%cgFgR#v^wjKa3J;r#q8?69wV0vIz1NHirR&}tMy{mQZQyl+@r|#fw zZ4g9Nl|ffAubTjE&YIxwx^uUuXQu!Gh(d;E#(^9l+hzCj8Jh`!N$B1kYNAJhuBWXQ z-tX>C(WKrXI66G2Ge^dHBnwFbW(5aqmr$L2#F2SlcW&5uBhz#3V!r7CEWf(;XcvR8 zROE1UtRKc$nxg(e*$^!KIgAA$()A?*T{2(_-j}cl!rBA6ya}YssBUEFVu9*1@0l8w zeKcT|a`}v>18{a+b~JmPDsd5|cBdKd-3zP!I7)b@#WU+o&}~ZgotBEQzL|majf4=m zKiSWpT>a^zi%;%t{@}AG|LT`t*+?lRTs&>uHUsbnpFRHH_rH~B#OY*>{DaRP@BMbQ z!P(RZUCjE&fA*ONt;MlzX4fwsUp?OWU;p6#pFO!;e0bN+xkJCcn9t{a)8LUr@$)C= zC)4zI|LS)?d3g4}{_)SgczXHpbh~Ya=Z^&l*i5|G^*{OLmmj}(=F<7DKfSv8Yv20d z_x|d4Ke~4s^}a_<63>9Z@ndpPYlq9nO{tAz8Cp|(MBY5cTLFasTvG=e+n7V-HI;YW~pb_Bp`OQAd^kQ;Q&rnqsK)5yyDmC&l`?5p551 zJfjTYsMz&v*yq<+UlY^cBsZBWFDC-98fNRW(oIbE2RBB5>B^%k@QaI*mu5*(7*%bC zY~O|;M4=S?omj?UoSDPStdU8)ZrYf+t2G%g(@bilsBQ!hDSn$k!&=IrEsslb)QsQl zDzdQ}anmDCteUfy04$xdYy5v`JdZcWZgH|!84PC5$y)ZcxONU&y|7Hhyz4`|brvy6 ziyR$l&j6T+yU@E+64ATlZo#xTBTT<4#Uwy<7pRU|N!;cl?s@AR< zb5CPTYut-am)H4Jd3eKbx~BC8%Sxt0t9cEAMtP*lGO1ij2#_f&?v;ctK?~$&03|g8 zK!=kM*x7?DqMNLkPDSq?jRw8LT`dbJAlz!u*QvU@&;2ev174vJn8?XkWjZgupBK?SJtnKmWge`l}D_ot$l+zcq5$0L^~(=={^imtQ=+0Qh@9`rhCA;U``C#aB;& z;{gd$kok3+qrk2P$qXuK9>FlQD>$J^u^K`iz$%=M3KbcKvOv|wdXWl{07$)alBi? zCYfEfY;a2%fc6JuSsx0BV2b`PvKN5Y&!fR_G!yT<sH0CY!7W_1E=G(l!=q+tSJ?AeTg ztnN09I?V7eRv(AJi#%!V(Z$u}t{biIm5x6{f~a>~#`;!Thm>Rq%`O-~>#u^z6 z0+hW|3G-KK%}8qQfgkPKGpy=o=vcbo?Q)ks0D^ij&fH;Jm#k3&y8v|$zI@9u=$=|k zLbOwIp+|60)+zTfM@eADS_Oo4nEg~0-Nl?OnuQImvbvY~s19WP2-gsPWgM(k%T1S^ zn^(iuV2^Yv{PndmBqf@95mX70`?CQRRk^Wpba(>*OL7GxqxPL{g2SDF`2Za>R&<{PFqjr{@>ZN%47Q{m^jdOL^w6UTkj%vXgIH``!Cz_gcI3 z{!MDkH}XnFKr>9n=w5^)Ty6Pp5w$PE)wgTdaLWd`!2poZfDcZ$|IcTSfBy7pV>e>0 z+41SqEBr40>mPjdvnN-#mkLPg-M=`$e0aM3`@i)YAKg3s-~RnCK6`q8((dE{J``e} zeb@cF@8ACizx^9O`qulOJvqPF%_#5E@pCA;n}c1AUPY?4N5ffv4GHG$;vN~!LTNpE zA+64WRp&O=p!F_C6+s8uAOJ=6L}C8jv*JcJ(THQOWK?%V#c;Swv)TMAe_Ta4muX8Y z1nDaxRE_glq5T8n2RJfJmvxxejILYD0FL73>(G`rM`mu6eMX&IH@qu+*J`u1(Nbj2 zhpQE8a)uG5HL|%jXO8e2_%3K+h)A(l)ffA_xqd8_a5H6oL__kbeu97hZZs~ zzw8jAQ88}YAX757WSmA(;RA-IXvn4pHgg4EC}nVvlPztL!p0-n$XPv%0xQ%WIPGNO z=T9%6?s}u`?rh#DEt!B$N0RIfketL6k0zK`wF))dd>02CTN|{&D{D2~Tpop3YrM2p z!nx%uFaWTh=zfb(v<}Xqi5^rqaCtN$4IaE8%%z+JyLwd2y2BM6p()CpatS8Sen`cE zkndt;k`!>+m0z-`bZ@c67k&n;r`NR?aY?t`nG9+O$Ta@7hoi=E=?g%kAf3o@M zmygfxmH~2Ix~q}D{mBPsC(|z;J?Va92qI5-gqm-17>w5|17P$9Ibta-oA2M{gLS7^ zAL99}ITT0NlRycqpNDJTS4R>GwiF^~74izn{jb(Cdl@4hV=Z9^QoE zpX@*r*x_vU zUu}%{w{2?^xm?0Qj<*ZjX4@C#01b&i%~kI$I;jm>ZXj9##VJxUQ?o3aK?0|MM2Hq_ zjV;=rHj@L*4Uz5wc8bUfVyjBrZ6ndbA2MKZm=?_lD%f@IF0A$!N3(}Sx`Skk_D)Pf z8*){U%flVsemFozni)wNn^|<^TThKq#*h!1ydEF8UG882cmmC5?pOfCF6`Vlk<}AQ zf<0R#n9HC!PE&&s2=H(zD0(G0C>eYf3uV^@4;3qrXh}Pu)Nq2TLjsnd=ndw;fz5UO z#ki>bcS}}Jg>jO5y&@#l<+1pViba7H-%KY2Wsyofs(iuh8j!nJ@S!otAQ}Mlps1i6 z>SA;Y&|OM2fM`;7mtyW$Efltm@13*ChGn4ZqS5Vr}G!a&m72YtrC-3F{wGU6Ms7`HVZ) zLUMGuD}AYPFUr0d<-bw;J8ACLdnFB;dte`DJ$LfcE6w}|f)E>X-x0eA7 z;{?QI_a|4osKs(emkE-RRmk;><7JC45X5AdXpOLDBpSjsn<*=()RSY^l+vXGE}eBn zDHZ9^IGv`+%qd5-U!d4r(E$P`xbX4m=933!lW`-G*$%tt91VFSN%$_70&`gqyM%pBwDT_{10*xE9i4J45ARf*2fDBYl&*^l`v?X9d zw%NYEg-OjgH3r5rgR$BAK*tVw%NQiss?%R18_j}7e{F(tu{fg^>*YoOh>V-uRauje zYwqHNFkcb2xKOmHIkuC(n2`|g@>n|1qpLGqscPhdWHWZ=!;U`iBd9nzb1-{pq%e<$ z_B`rcIC}A8Gp#;h?7QG)sesgk19V1_?m|fgf$RVk!_kXvK!K`n+ z)qwS@HEC%OzPjH7G!MVQcw9ky5k0??`ZLtbD!pf%%y_Xlr>%Va<1%AQh0(PahX+cyj*?_wxk}4%UJzcl}*xlPsf8%@Kiuy$@lp+fZxIOUG0<7YPBF5D z1U2LDe*FG#e)!<4%lVg2&VTXM#V;Q}ouzx*c4BQ>+2nKg5AU6vOl{Y{P7MIvL=Pcb{zoG(IKY-i9;4>*a7zp$;D|#gsw+NE0EOebcjL&MC_0u&Q!QD zoC|=*#UoYF0`EcxvO)%BedcR+Ix} zoD3yjhR`#fqL?0RaRuRymjSRA-tPXz)2r{lfB$cP|Ks;gHoYS7NAUEmBh+JAh**tu z)xF32vX=)is52YcQHPh|z_zussnzJ)pFwpd0(QN7we=Z$ThAl|c3r>TT_O|LZW+$P zzL7(K&mTSg<&%qFpIKre*{k)`DkqK~GjUY|5dSVFQc)jsN(Sq%atx-@q|`73t_%nn!}r5@^0h|c2a(H8?>DVHb8)e!`tWhbnX zEPH~ls(s$STrJNy^;4;C7PEp@!2zsaVE;AB>O$U$^!2c2d`@20ze?zjs%|OcgDQUI zG2v_a$Jhoy%N_x6z-W>GlZFJA<0(sosp#u^ZUJJTG!p z)@p%DR0a1IAr>;RwW-(8Dt--QL_61*^;F?9EVS}t##d`?K6bS>D09n}XAx&Bx4SdGR)m?KhVqb%);C^xeY4!Q)C-I3X zdkB;_EE{>+-er{>EZ(cz)h2P|HPzvcmI1`K7jr+~&A<84!{7VCx4ZPqrx(L?xx2(o zU02GIu*6;Yz__{)?wJAChb9{^cmHDUKGyyl<&I&g#T+`i@zG-_?Ptv0yX)z0ZpQCC zJp2Cp_b+$-v-8WJeDV16rYjkiVsV!vLcKhGKqd1S#|qC5$T8RP&8Q@)-? zxxUk(M3JJYNc7_^up72AQq@JKJR!n5oDK^$Gi)u6qlDYN3@YqhL+RV`7C81A%fRJI zp^ZZU7_3J5p&^x>D-2SZA}1_Pt{i3IGOB%ZiMT9v4)I+k!d33m2!!}3mA^xhR%qeU z@y`_kd&v^Mw5g$aX3343wnP@S{6xN8qLft%^Hlas7!2~@7*N?;Ip+`R?=8A*YH#u% zOqazH;A(9vZ`?TlJw>GqJ{aO>y>ZV|_>FucuTESb?Q}bxMq<4Kpu-BVL{}(PdI<;L z<7(v%VfB@wIG|u~5d#rfNc^~fo^o-Jz|<%-y&enT^$8^}lWCE>p9c9}4vUXehf-o| z4I{uSQt!4X8CGTLl1e@(fS8b)g~Ipjkdf}FR7)ILNkc=9q~UdrP+bLvlf|QR5+dot zhTFcbfy|s*R)_$rjQ=%?=`rSt2+ACh6M$>*E{}_4Jgx6lu*B>axGiM>|Muw@r<-Z) z@QaHp7yjN4zw=i2vHi0MUkGz9Ddpt5(C;oZ?z|7)koU_1&|q7Z_J<@o-4;Ts<$A- zW~721jA4_m!+PUaks;z>AmQh_x@SZH+;vs4-#dzkE2%3|UjoVZkvcIz-0D2z0rmiZ zBr?~>0C!tySTpo45B5*U!&wd>+!889GQ!xz3jaUPUAZn?>ya8^Djb^6H8i$GV|Ha> zoR3_UaxDPikD+Jq%X$!j)*x{vgzb6L#yx|Jkfu0NRaV`_Is*V0TsWC*+um@7dd$zs ztXW~_Bq*&&a^9@O{s^bz5=@k^DzG1PdPwrPx-BuEnB$EwC`lcJnvWGq2b`f{3i*#e zHRm(ZFanuzR4b*PpG>Ve2-hJ=#y9efyj&3!+;C?TPsqlkx?tkKVW@KD_8q@nvVu~` za&mCxf=G|XqG}{!HM_Eo4_j*=jmDSLh36hgK_`eWtKi5rh8(%R$ax~Oo`6E13-+^3u+YBu@2C>7o+Fk zoDj1`Xk71}S5=GJ9I^Dp;5pd$QAH_CwoiIeC+X65YN#>*mmXbQeR%KmKl$!QpFBAI z;{38)*L%PGdL#1r6nQ*o%M>~E@@pOC)VV%eUeDxFB7n#F|fYFkoM=8Ww}OsBz@7P3E4wwXfusr|NJUyFmhi1 zU78kztQ@jj;r+FNa+C0I1Da^IGzT>7lbkFsH4f5NrAK#@XG8$HFn3>E?=!zT|SlY9ttsMq{kPrC#4 z`AoT{YwIFQ(GPPi_k3vJ5ioM0P6Mn0qsVF&5Sc)!GAj1c*0>BISC~}j1^HEfb+>C0 zuxb3o)2k=Dlc|xryWNMEEwv1=nKf4ZEMqROhj>93469nG*!ya3t(OuF$g-L)X)5$w zs>Tu4Y0kMsf-ul4++8QJKE!xz9Ek9h#wTQ+@ zUYoXKvPGxc(OQHUs4j?`7Y9cLB69?)XA z^N%bY(WS`2w&!KnDm5{KqQ2zy4sU%#)Wb+{BKsWGvDWGmWw~XFeQ;u(uy7z)huhMnvg%S+o2_tLzFA2J+mxow!Ck!A^>5!l zYi3Wc=0-l=?SAy(!~gsT-x2hyCzngA{%e=KC}JWeU~73QCniBI1``f}E2o5sn!%l; zQ622cB(Yu%f?mUAl)F@2?DETb|I1eLwI)!p>W#@H@sD}V-d;2N4&Wqs6k>4QH2 z&d<9#A1wdZg~Q%k8S4Ccl~7?&G!wxHHV#O8(@Ea)?M-r<0T4IPjF|f~_FOa61cP^3 zrhqsu&d;Vh@P@uZ(L`=o3+ggW*G{ArSod**vD9_vo|d;N%B8IE z7>PInjBTjYRrN+LN(Kq7Tv!bVze9P>R$)IuNGf1?sF?8;3pTOv(l_#ryh0%WIf;|a zva=H8s#cs6Gw_=rmuQc2q+nV6tn~l;c8-SKqpQ%gip@} zzTSR2nJbjPhV}7Xq_zWD`V|2E;PThY%bJ@l)zi=WlE}i9g@j!={fmdNlLQbZWX1FP&S;flH_3_0e{} zqC0ofGAQV>`|QXBjyvuxw2^?Jz?RPoA~UR1?1D4>W$2kPLXYolOh_zX`0F1uT)_!K ze6iba*!V{Kh5>SWdk~ zr7JABVMC)ygc;SDH5RgH>59?wEhCqdYZK~!|0bOA7n(iaMmq7R__ zDB+@s(VuMep_FoQb)yLpq$P9QuWL-F$nqpWY>gfyZ?~_yLKo&cG?sr$#EY1s9cWo) zo^dAYS2p~SWq9Qm6f(ax_ptAYU)THQo@-z6c1=T3Iwz_PNw4~jQc0>*Se6@p4f`W* zu$N)KE}be*laDh*CjY2*jtXC-zOC0bg6@geV8I6(_p_F{WBi}1dnPn1+Kjz>soC8+ z|I_b%^gAEFKbhU%PEU99Rlhrod^xh%b;OyazyDJBV&)&5pPYC8ddH{THq=ipCl@;S zrxz~pqT{2|EC2u?07*naRP$LhS2B4zL3nzyDP$H7EDn#8OegP@+NZMn-kKk_n=-kcOt7G#anWQ)U)>n8|c zSsLX4F;?Hv>t1DFq1+@=d!zrJBa-T8WsR1F>c_PHE0BM5eo0d^>>&$;^S4!bXt4wAeI zirxVU7`8QQc?|*5NK&Ryw?;-YM}sR_w^@0Y*`0EH&+Dh_z?YZV^YJae%c(Swbq&7e@Im3-;i0%T&baTsUVIkFjQ@yx z`%2qTi<^9qXMmtrZNTc}!Z+_>$3@W5(TXH|xKzTO!ARX1%63>0V-*R;sDbajxPwYv z4wW1EOAGTUGmF)#0s+IDQ&qweW)y}iVxQ|XbUm*nw04c)ufDwMeS&SLCh5`TE~)-s zi`1$P0{0B3CKA8e@rm2dF54eInL6;)&47DN_ofa-&J-xl0-y&CPn-fyOrLlA<&KT` z^1}RLilyh#Y(Ku3KH2sko%Zi+`la*Sc~vRU?@(yjIF|7vU!6>?EhUb($}*Ifb>EMz zVUazhWEj5z{sUD}__9QY*5}K7NVmJ*zm`0s2v~qicTX*f_{;3>(k2&^>}FfORTbTn zhwI3I*(>RtqUaEqJp&9DQRc|4@bI7mU99ygYrQd4Fc%v2U>!e8fAIt&+Xoi~dSRvPUZ$EX6t?DX# z#HQ-Vt-Lk+cY>+7C9qnzF`5P9`dDTt4S~dzZ5Y+7ENLAJ8rv(MU0$IyDC4eOck*G> z38_chbqC%V8$beWGHa0~D=JgT~&5`~rL!fVSgtH5(4 zmk#h+xyaXz-dF;1h-&Gulg#~C7J@z&wNiH@Ye=i3iEJ*>t@3Ge&QzSis{l`25Ox|K zu{V_gQ2Yo+czMwBC#q0@mQQ4`O2yU)nJ(-UV5VX&3oGkJ?S)&hdQsa&$-&LlRGNFA z`%T}zDv3qhh=)yE>gQMX={%ix{Ql$Vq8mvUHiq{mw^6%V^%9`Q!m+K9??`IN`i=s2 z&R^`>pIx;-KKI|bxBKo!A8q=>hR2<|U<`j3!pkIfb5!=;@DxY+itF}Fry5x+6LD1# zyq5UB0aqy7bzh8}rOSD~e=@PZB5UfHY4So6ZX0qR%f39hwFZEg8c&vPOGwV@AckV{+^yLAD{DmB)0ZW_ z`WxTO`-Z{#y6TRE+D7K|tl5SZ_zqTI!0?tCP%sBX<^ow}cUh{~Dyl1(FRiP;3u47C zW_g!2*`{IV9!&(fKj;n~7+>O${F)MuF0hdsVq(GV!GkJ;)nge*9H={O)z&fw(Ec*A zHskVEVoiU-!2lG$iRDOY2dn!E*5o$ayRU^iS?l2#HP(nmqAy$-Z%o(-arb!k;BH4V zJZNT9T=a60Yr9vD*07nf5ua<2UG4i!1X7^)*#dR6V78J7Cp2N_auumvg1!mJ)%%#+q8EJx2omsoe; zpa>T!^||k^W_@t)VA{rl!YXN7jIyO$aD^@@W+ZeC$H`>@On1f#=#MiW z450$NS85X%n}I=KN&wk+1q6GU&PX3tamB9e#=72!&5kMv=MnA5G3BZq@<9~k4GIAx z9yFbry7;G;?a^$1e9=DLwGGgKjj7Qmd%oPZvAnO0N3gj@?b=xxFRpf< zpI^RzwmpQUUqfQ5E^of}ZZ#l}0HBxS?&ZpD2Ear}sR`*1RbpLQ^WTFdY%04FH)@?K=;7+3>5;`pGp=>P-I%II6fe~dJ_)m4{^diSx zSuNAS8W$ ze7U=%Pu{RG+`nhkdWj^1SsukqOd!Z&7->)eEkon}G8=7iSJdnGQ{Np&X-(}cO>$y1-<&8*2h zIG$$=iYEe~druf~-qD2_xYuxM$(GZRYy$uUw28Dzks(QXzuL{0JbQ?~M~CtDN<7CF zUXXRbeIfYIk1CCSSizN83oaviD2&p102Xq&@v9|sB(^frp>yfNb$_yc^MXEsPj-IU z{jGs^w+RtdLmEnB&k7JYB@RvtVfZdq@ER*sJXVd!@L?7Bjpfy_k6g6m^e^=W`(Q|^ zK`pB7mP2${OJ!(f60|5=Dg`)3i45#ZuS2GNT-i$N)2m)!?9gV=VFMk*Z>6fr>%bII zrp#c??O8l)W7!&)JXG`nZO0oF0$am}lmEMm>8F65EXv#_Ubafl6FE@0=la6GK`sF4*t)|XUVbgUfoJ~9oX`FHHk8a&$@5)P8?tc?l5 zEE`iQ6IX*gD2Sz2>UvNsXBF)jEo&8XsBRJuCe7Qxl*N-#+gKgTtd`9TUzG2Sf$51L z*fr6}4jP%>Q;?oIngVIbaEc&76EX5-36V3foBd~B;;W1K!aZ*9dT4A`Sus9ZvI~!Q z{d;E{E2aIW#D&&4HJWR&o<`|voZ#_H>CH@Y0*9Tbs8@MfL6p=ZwI=eTQl2`Ev|fqT{&kB3=Hg#`7Y4Gxj>8y zpgP>Ez9KS`v(+CjI^=4^4ra1BAc~U~aXFXKnXGLPXzFD23CYCRaSmh{`dXb-HY6fi z6PjC;2DTR1MbkoT$pjc^>AX}2W?|DXHAWBcgmIDXELf}jjfg+FnzhN=+wtt4EeYtw z22-O&!@Si~<&q>-xSl;wfW2v7*1$8CmAIgLnfBQZr)^ZAHO7aY8 z(S52yfMD5FFHgJy%6h2}Xd0`#v{=m>@c;}olEYurpP zD`J!fjN4MHb#A)Q8@*8>aMo~Y`u{GbfAab1m!0>T?wRgSovT#CS954>OcS`JcH)mO zr=RcIpIr3sZ2X5O{ac%U?!0jBUS9>ob4Zs?rl~c~{Wx-zcctfLJt~jMe$S1O6@p62 z@}ZT=GtrJ$kJKJsO*Kk}Nn@N1_Kh*k>RclN97xUn3L zdb?yrT(-(X7?PGaOp82ELt3X*Ciyl8pyMr$udru&gz)u zo@Ec%HmuVF<5%GmIJE9=er^OvJ81;4OQxF}<=SpvnUE9o@M2CT;g@&J=iHY>wjT4; z3QVq{s)i%t-4d;?Lc=K?D~Yp}wG21W$|Dz3SjiDk4YY;pmD46Q><&b_z;i4WGW zo`9ARgd$!y@`Y5XntOQ!`?vlL2@Cz-Z~DKVO#l4RwgKNgaYC;Y_g^~=O@;<-jaSZ} zTuy&-jz8M?e{gU2?XACOz9pY@;LY1gd&0q>b^Pn7@X+m0oaJe#WVX;M8r+h=zHTpX zdADov{8ucje{u!<+B+O6l6faz!Q;Kn0O*cw;}0HgfAZDkX?1KuIIV+>M>wDL!-w0y za{uJKJAp>d(jR?(uHL&0hWSdE=M5rx1`w(ly@Y7vS8abuc_4gBY;;%jW>smH_#Q@O zkVOErB#KAg^3bpW3nQTjS}*noFUC^0x8@D#=b8DzLQ)v)%goUhsmiRFI!6X4GLr|c zAe=GCL<`5A)66IVqMV#aSh3u;oI94ep8G}06ejfd&o+PmHy#>s8Hl8Yd|#z_?^%t+ z`RtFce0u4&*yQ<^OFNa@WDJc` zWU=-;m-!+fLNYCKE{6p_CKoHkVSld+Y_CqJ9HfEII;rubx@uP3EMc^)Jw0QNkMmqZ zoS45i`3DG)Jezpc1>)n=$&CG|N-mFu05eYZyv-S(TNsaG4Lo1Jq=O_Y5xUe}F^S@~ ze|6>O{k7L@eqAY>e+*Pl+_HoRS)Pl1FYLi!1Ii6wL(bP3p0z_OTXw*raN&mwWE2E1 z3sw!^o-iol$JH8umC$bsiYk`0RRI9fi!qL((iQAWA=O^~BvOxht8J>-U=SJM;Cicy zZ;aDH+JVZ~UTc8NrFzCJe}xh^_-BtcfB1MineH`zozVZ_d>VDu9b`HX>2S5H@}KDiFMLWA@qQymRgRFba6%;n!Tq{?DK)|j|D<${rK_4Kl}9Q#{I87JUQL8o$swMd1$g3$)ND{%bnlt053`2 zr~#0tAWRdd*5m+u=jhUJKiuBiw9D@P7A7k^LqfsdFmHU{(b$(Xo1A$%^h7S2rQrAg z%HDItF3Mhstr;!KYsM{jy%selu>`Yut^*CBpE_X5Q%wY4V0|%zgSEJ&&7kt-tHayU zoq(zUDRT+809&op=gNA4_B;++PBre_QiFnOw9LhP0D#Ff&u@TBfj}cZ+UWC{zyEmi z?=Ppxa5m{}(CbERsSUXkFWvs|$@X#Q?>*eTH|f#57-(;a+~R4>@lb>RHmT_R813=f z1PENusYG9I4B*6s{n|>ujD6rb$LI~R>-ye<&B@fB?C$Dnxy=9|aM62*O-7EC0EBxx zukB>wlbyc2+z}A5HBQE6xSTyW{LNqo^Ec`;0l*xdl$V}U&QljEA+qR^{VzgltUy6% zv}o-`xM+}UI4sN2tK3=0pf!j*^33Va?-qkHk?BC&i|@bAKb3nZV3y_`I2J(hd+GrF z*E&MvKrI~1@~^1emdWQmPHEr06z^hWNRS^!h>nh!F*ROubnM8PPy;!SX`Pi}BR`!O zTq8-~vtWLWTdlqLxK|!tZL<(lq~=(&Mb#oLWBoFAIXF+&NVf7>qErP0TUwj3FG87< z_;zUFwVfwmL!7h!=`P?Y)W~IVhQyn{n+hi&6}`Z%);{r@;Y?sk_=i zP!opVi2M6oo%`~-F;lWf3zZ`mednkufvxG&^ZBB~q~HJaF^KDP$Q`84PB$mpZEL)^ zoPY7?0^p$z{EI6t5dQFV`|#|!R{f%n?OhQD2ZI zd)48yV-is0LDR2x{Qbu#e{|j+Hs4NfGHLd@klIp{@v7UuIp4VWk3PJ7f6|xp8;qLl z$urJ@Ne(e3F1l^=<7hgaH~UF;ktf7A0CKXr^d%iM?uchy=pCM?FuUGA+ia)y)zw{t zLATZb004H~?`Td?bh1|suRF}pvh-}R^D=3>XgdfQ(NXbD6FeOZmC&Bo@5ZpKJpYv$ zD7u16$}0UBLN!KV)$Afu!ly!(=|`!+B}UqJUHmxh#FxzNFTHeAcSa?3+>MsJGmu(uxjvuJuG?*7)zZegsB@-pAnx{r;abTY^ z0J025<#-@rmgGggSZ?dG$UPGvw1L%>O&+Ohcjpjb+&paro=tXtvNPzE({WHQIdrm_ zPEMLNUXq#}RREnpV!wd1du2`Uh~)6qC@4bMc(%F_LJpfU z-+;)t6Ur*EVu@Ifv>epI1*FJ;O(4ExMU)On{>@RyTl1MLGEe|}CI{t8>a&b7*FrX^ zM7(_YQA;4e@yLjxY3t8 zzWofl7U)yuth;4l8Wtg{pKK22oK~yf(V?!0!M|2fqQ1p@`4aXirNw?*9AyzQxwr2= zR-e%b?71Wrlzius(19saeTXX5Sd>)Z>kcKuv1elxjm0{>h(z`RgTNMV8q5b%4t=3` zfdG?y>|nu%TAVk-XDk3~3{ifNp@PelT>e)-W>Ibjgd`BTLP_OWRt1AvZ4C1G!9F5T z)eLymw+~(Ig<`dW{;L1#pLa|I&^d)I=b%TN2lR1^bHjnZq2T>=0PK4PJ`tH>06@1W z7tion1%n7hkt7*pkmw%nh{UHur#*4#de5L=&@v^_vGgF>mIu zq&kA%Ba67d6K{Nm% z8k79sFHZzOVz4y~ja2C?&6e1uHXae? zME}fU1Fz*XTqI^dr1iIDnl6?@9MhdNc{RovCPd34W*#i-tje7qD#43xg`Rngp7mJ3 zutVw+Eb?|#Sl{7o<@i{me(t@?TUn;jVjUGvk=IF1)Gd?rr3;BI@v!O7cJ|M{JbBXF zS@X%>F5mxw5IAXW9slO(=F!Z*``*w2`Tuyk^NFfS2L)F-yz+4wtbkZ+D+FFVg@3&>i3 zm9|Ak&*U7HTb>Rqr5mi2FYImR!=6iqIZ?~5V(Rp`PwUms_W&fbLv3YZdGdYGxttXS zOdbY7#`{S+foOeq6dS%NQ2-VXDy^s$cSp`n4`rpLY{i{ZV31sy1vt9UM&s5?C=f^> zgQ&F?)FlN|Z;XA)!|qyYR3T_qxaY$PmLs^kBA-plTxAa%BL=w(6F_p7jOY$cS=O(_ zU2n{IfQyL`iDMqves{t^gl z#6_p~NaAedyLcPoT6&R6t!3|Rv44)u_MAIfzFOBjE;?r1noxrV61}6fWp8;`1q`a< znAWWE8bCjyolI>N&QS%mu4l&JlYMl$`SIhYD7QzRT=@fA%7q`*@XeitW*FP9l->(DoPEO8dh_P@|)%}ZK08EF>ThC2ekP9*YY;O z%;%B7Ym}m_I~EgG%1vHX5m|(c4-Hs*{zt`o8eKTDD=s^8L+0{@8@zJs?p`O<* zyIPI(CxlyWE;Nie%8s}_;h8YnMDoIUir{p4jI*1lhNj^l6^M=06_5=t^ja+zTReR zo0R$C(B3Nph@o3Hz?e!S`;mqogwf?4A7NntbCGrCZwohL&_Q0)7x;bHUt^U3yKJlYU^f9h|vS?2Re*Z>b8`HSt}d2jc?^tiwI zT%cZ$TdPMeqCveGb-r*^dm<-Ql^u1&Q0Km>=WTPdCqxNR*p7tzM$MSXuy_yZ@tcDXIvLp!wp+5wh zs1AW}j}C|ephizxhQwfs1fn2^Oq^3S2J5rn-bs#kBfwPt!9@1aVmQ3_YymMcFQm*0 zZ;=Q<5A|y_Ryrof?gk1eoxT_EdRLdtXNXH5o}HYYo%CJwW<7|U1Gf(N+eXweL+<%@ zbzN4=&n>%3&zhl4(`Qe1=em0Nv+KpB*51_`jCH2uVr!Ah*j#?TUaCj_1Az&+3h>c^ zP1!_YG#N+#t@Zxu6hbc(0yTIA_HvQ5xD3(~KRDlm-Esxg)?S~nE3B^KsG43|g8L`D zxRfX(`ceHp?2>2~9wiI!p6mN-N~mrJrzQPmP`tm!mH2B*M4l^3v|fd;UjS=f48b8{|g@5wp$-g_F8hO^!fV~u< z0~TEQrS%L{(7mW zJ1o|0+BA}HA>H9{C@$l<+Y>S0 zMk@6)4iOf$5p!A>_2~+}EL+}s+Izbfi3awYFnyvaceti4FJk{~T*F@iApm%mfJNLT z>5kvZe1zL1;cvp}%vxVEFh>DyY#dNy3|yA0a%J`iOBPUWrCgt~iokLwBa()7$@}$* zd2QCEEg`3oE^jbpcv(fMQND^j2UDP;7K@-~o8EBtN1Z^}0AUPR`R$;j^l@YgP-X|& zUNJx>Ak|%1XJ4k(v{E|RS3oeLReIH{69Q*VU(EK0Pp1F(VzVL6T7O49Zv-aud$M0$ zP5<&M{TClxelY3L%=yjCJ#8B9ZKg*TmuT(Umq3pYaRir+b7wL}r73htz}%RGnc)^& zA(O!YbVqM#z8-mwER=d@8Cdm})EX=I6OjG0dB7`ku&}P=rZs5scG+F0zev*i`| zDC_XS@pSZ-v4DBpv*Fz+kAHO?2dZANo~=NdwC`teX$b$8UG|-~3RgFs? z5z=y46;@^rh5%q)LzU&LFaHUR2PAiOzNQMNE}vjf5xGdc_uiGc-+uvwKtv`RUti+t z^T?r3YeiMW@lTD?vUUsAjPgpNA4R#@;hJhXdcm@PR}< zf}G zC4yjRVxu{#CEVLMCvKBm_%#Om;-n96-(G1}Ww|ZbeLds~=#MO*{FN$8em&`sES~|{ z^DAEk88l|6svr>8c|TL3q$|m_Rg>1^+@c&l#Snk^bjtzKwjL$oTK$oGS>h zs)RzrQX#O%gf>F?`%Z^^7nip330D8HJndH}1U81VhJX6y=HH!fKHT``?JoI!rV!XP ze-HS{<@7&&#@~DI>RTIsG~dv*@D++?_xDduK0H1B^;Z{xG{+N`!^oZFNae2rJ4a5E zUN*3(CV9lMI$mXkbos2k;#Bq^j>@30#Jc;ogB8vuLUFU!@I)<`{*sfjcS#-4Xv z0l%~Fn>%_WJi9Ks%h3fIHw}_5X8+dN=KBv%u3S%c{YUSe{ph{3^LbRv^K5E=`sMkL zAD!RZv`ypr&j0k-f$+smk{7$RflDd;dn$peiN>f*F zmEj8@fH}-%(uo}~m-dRGwe~e0=8TpDbHOw#IGaErb@wpj$G4J_eq=2JaDcc9HgQ&2 zZ58t`?$*!)iY^U|K2l59yFIP3(#iyh1~g(fsv3fIwBI`1Zq}UX2W?WP!Iu!;dVvuP zqEVnU5m${itB-N8-u(KZ){Dx)xm@3VtfqHa8dl(H@AbiPZ$Bb#y>rVplsmnRpd{HaONESURtSsWZPM?r6oGS^X3jv41}E41`f~x9C$4mr4zwvUpJPTx<5sUg{Q5Vz7U*>C_f+>a5koH3G109Q*7#3jk1O3DzxAR>4+ilx z3Y7@v`gx3TZo}({Li4uT^THf~*)ewzn1wB}3li7R<66-9Muk;7%}hTl9#|aw9yFua zf~+7Ch87^VxB1bLvHI}vTyEL^S%Ylxw~V*Ew#D`Ryx7={4k&PS$yTkM-q9(pYj2|` z-AFu5vB=g3P**#ztmT8jvX6)I7qQ;0LI1$kE5sb1Sos%}JfT@GNT#tx(bWL-Zr%+* zckX%%=7rfQ=U3;`z0>)aDtT8z^LdJ9ge*gzhfTd7%@6b4nReZJyxLt;y8On>-fdNj9(lfQF$|2GMN$^1U?#jgF!N87Uxu1-vs zj{aIFAr(%bs%*y??JF)ecR*CKf~@r)plpI6T36Pe$N;ARxpy^8fM>{EE}9^E$E?GA z(OP*p8VlV~${$5lV&k>zL=)WArG{AVR+avTTkpGhaP2Mj7D`lKKfiTtI^w*$gS-L* zpjxQzI(kc+?)qsRep0u<2Io-#7lA;JJRZ^I7w!QWyK;10b$xg`egDDf`A!D>wGZ#z zn|L+L$RE6SW`^!A@uXR3*emzXFLnW6&gZ$i#`(lkXvUUx2HuQ6d~g-uBA9 zfz7yc{Pe5yE;Ylp*-yT@{PgMNiCJsBnEjXMS1l8P1Ph;j1ASxM+Ms(*TW3VbsZ73v zo-sfLT)BU8c5;8yKEJqYyudgx-gl| zU01uSX=|_Ce|5u|5CCOHn0gZEWUh<(3c&;LJ($VD`eRjAL64lpv1tU%rZ8JmnYzQw zAgOCl=`M6#fyLE2>12!gMVV?O`W}40{x|T)wk7V_1N{RZ#rZqjFnf6v;!5XLE%Si` z=Q(b#NV#sDI3r_QQZt~*cQ@t>-6}6}{9XsKuTqkIfyBx^{7ynEdKQeSo@!>N#KJWA zeq$5ONdPEM^B5zd75Jnms7B&hyp|BHO{_B9!fHgzoO_MckcG|-lwdMI9%d=K!@Wrj zkjuI^t!xKnwzSu+G%t(!6^|JMPE9|#Y`>aqOBr8jw$bYr0u%lH z3BTC2fAMJhUwv@d_?is>AjiH}-rLB^=>Xj)7rh9wI`?zk!$dSdnJds^5XX?CTn|3KGxT$B(6!aFS>yB60x`a(WU1I zL?)eZsHG#|ndkfh&-T^vl(2iBWw&%C8*V-VYJlLG4U7)$=5)(<$*U~50Uw`jjeN4} zpWNGg|G~-s&)%ChNs=5_g72xhM?@ZV^#OnY2!huPIR}@N5zfp~cE0al-Y+ZrX=OjG z2t`&XGn}2_azKDhpc{2&WoAUUnZEs?X6_zGW@S}ZcXbz21*ndUa5p!<)Ks6UJ{^iS zMW3DapPwu?#Yrxc1^u{$>+G$BOP51&Z^mXV2bg5;0C>^R=E#EUJOz3anOc5QGXCD9 zlX#qy@psNvo8k$P+~!|gY!v38{O@0_i>o6$lcf^{cl+H9FyP=w>&C)=Sb{6D6P0DGV&AYt>%YgcJO>pn_jTV*$Ah4 z1U57~9>96Q<;))r^T@}tk!BbjIhWZv)Pk@;QhD%`?H>JxM^Z6o5~9`K$49oY@Mxt3 zWJb%7tNY0++-e74=+CXES zAKJB2^sjC9E6eyi6ObuN#1OqVSm|%VVXqHZTcCpRE`~=sad7b^t1QTl8&Uw^M^L`wx^#&y^rpnC2~s!q~a zR=m4HSAcH}Ki*m1y8}>TkR<Wpj(_wd65!C2Ww%H+NCy7i z`KnL0bx-6^&X-1J_eHWkStMp{T(7pp2$wFmWio9KlHSJZ%sr5OZ)t2YMF&C=WoZQ4 zS#VwdAjM=bvJe4s|NPPEc+x*PU&VIIWM5rxpIr}&WJV6|zr0vW;aA|rkY8*|$I1(2 zQ>j(~74z$Z)N z*ag*i0SSkCqE9xI5~C@4c|={VNfvhS(Z`Q_lb?M#x6#K9CKGCRd){!p=Oe4>;JrU@R~t8N zaQj}dNV%dZj|_$1m>KttN|BP;4<4*8x1~!U8v9#)*emVZ$Y?W~u;FUjc-w3`eKrhg zd@fiW)B4cPgqRfpW9GX?q)ud5RRQg*l2IJS(QXj|F!R*{?!4OcuQ&aw&reSCqqA~i z8pIq`!m0Mrh&fc3q%jvw)J8KnKM7&;+5GVZfZ98Zqfgb`fU!GR7<=x#U7x(Ogq}E0 z`o+5Yr)^r9+xMa2*SkqaTok^@_B)H)>!04gu(`4>%sgm-EW)10|TMet}-V?edK zS_zoLlbofnBr)if{k?XeMZ6|HU;=0a7hwtCsmT2j=b;H@HL}%P){rdGbyYH3a6bax@A1qgi#X%~& zWnjqPZVUT8AqZ>+l+2M$q)w-q8aG`#HvK!2h26eU80j=TR zkhV8slAAVos? z%j1*o@ku{EVH}?+>~eGH=6kWbiDu6C&aFJyZ6wH_wrqbeUXkf)ew`eva09e7NgRgm zi|5_b*X8kPesr2wtKx;(t;PY^GLfwDxA~+iDisR>G{iRElvxGvbd}1%C7ipdj5Y`eB}cT_kcGjbQ-{a(_=rYt&pa!Qx7yWlQE zt3i)!B^M;GfnPe563tZ{a8~9BN2+FKfG>^+uwl1@*7yd66MZ)oIBgWeDTr}*e~mI6 zFKy|RNhIVq6PvEp%uuQCeJfcWBXCDo4eaTMJIiejK%eYEpMs%#KKL&D)2v(~ zeE3I;?yKGsuo<#DDK1m>&ptn2_Qt`Hz@I%>nQ@cLlV$(uNk6z3VQJQPCQ0&jQEA>n zZnfMAI7zmn3}#c&&iQw5ycD~u@=cGz9k1xl?%e(1V2DXspD$8eK}vt{aM?dzsRB#* zv*A39jNa_&_3(VX?Yq<&uZH}qi_LW@6h2?|E+th!Qtf~HNBnSL^i6W0amU9>$#|Xh z>~d3Fjl1=@gs)%M$$H-HGno=MSJS67BRia)B9nM-E{tesu)np_8|M@EKDX0k<0oO=J8B}d{}AZLKX$GP z;X*EmAVgGmAAOu?(E`HZbXU*@e=B@Y3N=~v$v1tpTO}ITv)Y6EE!e(CB4Jy6#{|dW znH)c}@8S81)S_1}=3>8jxqSM%e|VNZIm>6uLgRKYZFtg(BgTkj&{MoB$)Q2r!G3(<#;5H3%-cG?dAD7`;>% zAr`rUmE=u8oo4F`Ko{n*q6uMg6e-sx+E66I9UFVR2ip6lC1l$;W?%q9QRFqD=1d%& za;^Su8qF0SJ(cgZ#Ckhmy&m+O7LsLg!5OTwexbZrrY*rHVaJMEb}*gc0^YpNSrS^Yd?=Ww8FJ;^>4NizI|zv zi#{4~*mw!bY<`Dc(VV(u9IDCOf)C5C3+5B4Ho}-C`;A+Unau$T)~g(lL9-7csI|!& zTqL~H0^}?XFq->`GxK78l;D0Q_GGo%P#oS@otZ@-1Z23IZGl z)V1^a#$P?ckZ3`SP!lO9&uj)n?J;BAJl@flVfqz2>*CHftP7$WK{C~@PTz&M;$1}F z&88mTpomo8q3f&^K6|xzanV0K&7VBX4^Ik#AzKEZ%Be-PE&*s((&+K-7B8AZm=z79 zRrB+RzKKE7NR; z>&>N7g7k$FeaxGgE$R+B=};#VO7Oi$=8ptLmuymMkBQ_`ac{%UfUtO$#4-jb?eI)kMpehR&oTr3KgxW4o+OREwI4OYE`*Tt4b{+`Sh_F3gvFK!gIMH0zf?I>_0!d z{6Bwv@o zEzN=YhJ*m61f=h3fn&Y00=%}Tj;7*chd$r6?=nyd(9Oazs-0F^x_`ws;-{WSiNmIP zZ>3>)Bk7xKOv9-U;Yiq1Db-o|&K<~rvo;|`OCTOw0=ZXwyP$H9lo<;s$zV;WwNjd5 zAVQ6z3Mjk0R|4d%T(wR9rq|US1xOw8t)<+#ScK2&xOjJc%P5i6wy?_ku)=NenT@lQX-mmM(2s!9~ zto!R?z3C%^|0S$FtsS3q`QM)9KRhWL=Y>zm%eOR*rtrh&b{&-Ag6Nzy&-~oyB~#-$0Q!q=w`Go3o5voGH<9xSm}a$@SRU%11L_XTT%*; zrn-I=uLu+Wct7C$s%c1DQL8w(I-EZ*^wMCcE!xj@$V zUf8@uj`hT$4m|vJb}1ghqZ;HL^m6t5)~T4hjH? zb~TjjdK=_U*4&Kok(pcz!G-Kn*l3OsCe1i z-sRhB06H>yo4hlF+uXiCw)EnDMR;4ezh3w979!HvT1+E&{nAeL>?Gr(RYq;p)YQ06 zA8v0#Pvl6~X|3IFQ5cgwD4-Ghs5uhJP!x(DJ!|HO&%EAhA2jD6h*Z{DxfGXDr_;nT zTDBw6jnKNu@9X0j;f_fjni=|gx@%UuNQ2R9cY{PkKh}d+w^lr|CQ^$4D5Dvz7O)XD zj=g`?XJ07M>Z)n1VUlrEi*+!_W&|UgNR}iHUX0uwb8me)dKbC-;b1;t0ScuyhLZ_~ zATzjEU*A&^05hE|Bym01KYX?P>Sh1reE8%%pRS6FLyp)J!0O45sXk~mdqLP9p@52x z&R)g{PDXuyc#d+I$?T4A=bME<2N?C=uKG*2)Aare3_g?y911TBA9VijA8dbrRkHXZ zvwWcPzZqaqqs|BVq~DkMbK* zPh*@64Y%;_ACqsc55T?L%e{OTq#9%+_P+z>&NrHBTlZs=bwl5e9av@E#KevqIE1&9 zmp!X;jug+z4`#M{^EKMsf?S9x2!h~5(ljPfS)D#tIKqi+YJ%SqAj9!H-85i0A{p81_6nh6aIcpA@R7= zFSqvBue+6@|5)Jv>>S*#96w*?|MYnKAn8@+#&HaJ|5inS(a@SW&A$(oEl4$UMZp$o zwznAoz)_$K!Ie6*jsQH%DzYKLL^X6M0CP2}i=C0;NgKJ--%5fA*GJD`sxFX2gcYZV zqLz)bx7N%)&lg6`Jb~#~5sbrmG@q9jwD|m?6vrZ^$IE_ro44iO0l1fY`A8*njMpra zA{5o?)d*Q0O4(CcjkQC$DW|cqQIr-7$&h9qLTidXS%ycnY^?DmECW)tPD@G3g2RB? z2Ph!-svv7`S=4k-(QAo7*vttS#1f`UF6dzZd*C9MYxmVhgSh^)mLLm4-&uBk z^=k3#LXS@KXOHtIX9dK1usvI64B}Oc(`#6Os-4BqIJ@db?Gb*Dz0?VG#76w(rYlG* zeh5yS_bmd3VryAX|BLhC&(8CbdOC1llYb!DX8+;Y>ZI$3EOs32W)SX`9VnoD2UOtc z_IU^4j|&yn7pY1S509oy0h+6L2UnYKX?*QD(z1#~%TeEc~ncyHzc0Ae_^)E+bUYdSm+A}HZ z=&o9&XF!t0H`LCW%^4_sC~CCd1xT}0co8*QxPgeZB`T0m+o0~L@45yA;r}cL$sLAf z(;tKPxw{&)Sj3TKNQj1%tbq67Xd|j)a91g@BJ5;33NUsFaCzlTQae*%zP3m~D5}!9 zP8joN+xA!VKO5+nA03e2Rqz! zl)0;*+5hhaz#T8e9X5KS88o(KJ=js8_lbQ%aX!E7pIvs3PRkD-4v)`E*I~%ag^uZs z3V$_nf1-{bW9xu78~a%TD;o9;hf^((6T{=@$+T$glR@RL>k^Rw;G zmcA994ae2jhY)3z^JTv<=6P-+ng*Tm6*#68phGpLQQaD4fH(GvDSLA4CtVi}tG#q< z9?o=Rz3b!D)}RP9?3we5%pZ-3Z~F=R#}hL0ukbL^s=Jeyxn`q9?deW*JmCnAo(SHa5=efRLC(MZx9K z(>{9K!(Ycg$8i$iMS{#|ozcbN?UIpuvxmzhsAOd+7ccTT3&-AQ^PtWgO+L24J|cK` zIXv`@yWin-kJto=ku|~AGyoC0bHLzMBXu$$O$cjrc&cRs z@5!Dupg1-KC;fNBLVi~fP-ItyF8ulV_Rr7r%Jiym`$6k{_a*G_R|wgmmA zBr&szXK?t4cEbytHQA9f!V1+E6TwE^Oy)zx2e&@=H^`nMJ@T_qT*YOY^R zc&b(TL%H`;8>4P9LyceYN;6~{`pB!1!nKJ*+Y|gIoJ5p&w>M;fdy#sgt>WRKyDt0c7c~#XIQ(E zHb$WvrgE2cLFAOo(k9|Zm))Yb4opm)v1U6}2DxcnZZKb11)4Wh0U=1VbEB$;2A&dIcAeDK0n;SJnICe zB)i$}&2=JYM=1*8;B6^GDHj9Q!*Jf)vbWmJ2LNQIv!z_z4EFb5E`R-^|MYzL{Bb^C zl~TCPHZnF65K)MvsS+Tl3EU75GZ-n??^6n}G6~o?4VLPRzGvdX;C5N~u=D@)aQm}m zxfY(~iSYhAA`S1@dB8Y-Q`%$Zm1}yIO*+P$+tWBYfx-Jf_h3U|cB((IlIPSzyx-Hg zNkYj7+iIG5*pjG6abJ3GTU47#>GOT9;m%x_vbLzRHYy#v&yM@SGjip?&V%S zW~thQ2%E)4w}}PlSg8_5)L}IAx}HPU9t8neDcP(VWHa@409B$b@odI%tokF@WLRt? zH3-L&!TAxZcX31y9!d;iHN}X2kTo>!tNnH2HlSx_s~l0;`(tni`$xSF1YoRvB6m#8 zcIni%qqh(XO;V)n2icOlla{!j%5ZQxJ8nSOot>eO+217`Zh)B}bAXz-;*hbP^mWq;OpOPD3jd(G8{sCM*hys@LLJX;{= zPR{&uM_6k*vGcr*H5_wQ0;cG1O_sxlH8Q)Q;H@ zF)M4QS|5b!BgD1Ucu(W&vELtO(WUmm!kI^#=iciagVzBG12c#sWer}g9WU3ztLyFM z)$rxz^@BzF{l{mT3ef8{Flx2nQrKqu)zjsdulgtF`G=3nle6N&I$O{_#srF*yJmp3 z9_m)zfY~*BKeBc{?)|ggpJxM^GCQg>@g|<$@0bX1@w!-+es?+i<%9ggg}=z$`dhqQ zA69m}_9);Aj(@_F3Q5o(6*1REW0D@Fk?yCm6BU^_V;Cf-(b*w8>ji+0l1fY`DkS{$5F}AFw)_V_7e|a zHp7md4sO1#U~{REh1Id*5pKC9cV+Z3=EorD`r=;=r?jYV!7FdR^Tg9+OQM4aH;}SKpkiH%ZoS;wEOmBpK( zI3O^EhekF4P6B0hg=MRAul%>HAEP$i>Kj)FXVi4d9rKzH)&>}nA)^X=6NvXL^2a>b zd#jgWj53$%9<)3Im715v7HU)V1ftG9UaOchXBl)h-TB(Lp@NrUPy!SnO9oJ$UGB+v z+T*OVnh?0xO0Yd7B$jNlA*(Qx+$1|q1Z*Shspo)eE1iq+m8J0 zFg}Ri1F0r*^OqGb0BrUc#Zx?W+-bX4vgfP1-@k5(p~p@t1OFe9Wq)F=u9 zp3#O5Ya(nQR*QDrab%K=@eQm@-qY~4T| z|DsQjU>2r$gU|)C1p(>_njvPa2AB~TQ&Oz?o*gTZWwKOl;<1Zd1fk+4w4Sm;V3h6A zwB{WcQ%sdnBM(CjnxRqd*6Y~_T*LZ7OXyNPan$a1oHoG7ki+mP!{Sg)-H8rxBm|3E zdd7Cu#&FgPhRNP&uD90|wAzBhAX6@&yn`pHqa|ZEa~^II()*5GhvIzps{ie){^42v z(WCtNgM7Ngddsa-Eqww23uLvUFe~BWK{e&qlgq-hq(45%f4IWSQ~S+eU#!!YLs}Oa z*ijvo3`YUi4=66Ki(NT>wjBQI;qYnauiai{;5%>q*ELAHUyUeA!|DYRDSouNRn>Kn zEX~wMs~VSPRc%3|493%52Yr9#@ekC^OCLs3fE#9Z|R;8R&srP#`!nurMIOVq>ekmbH0VQ-5ORDwQVEQq6O67@R_N zRT+JZu%4&f)7g&QA;;0p;*IR>E>?+V)^-SK5S&T?VLl(`xRX?OtLtH;-AureiYp~E zJCfIa<0$|Etqzh4$*lNYt@D=so(1d84AG<}GV@I^SFteEg=7b1*KZQd5Vh*iMTUF? zLqN-v$<2#e09|rgu>aNCh>C_sCX#|tm5eMZv}U6aqRn#jogytRtXWbGf*Gta{1GjW z4(L#;3=<}gq7|V4h^f}JoK^-YTJ2>4uO_cGbKL6ms;f-YN!AzwVWXQCmOwast!rxC z%W5zvf<*u%)ovI7DHmd3CO8~oWwfQCRI(8S^|%w2AXjl|jY^4D*wM^NXSNs}+&A4) z0-fpnMDD!2?*8jV_r+=X!Q=e-!~AenHpR9B&1#uY?fu7EJx?GRhNGPe-(KRmx-7hM z^u&YYPdfjjRemwpueRN9275NxWifLsO&!NflMg8ZvfFi`gui;U`LokO;M2_fVW;)3 zGOM4WP42J^6I;(5)}i?r9GB&Dk0`B^FOw3qAr~(?r4o_ zq6927*r-AvLhh5#yCdQ8Bu8B|D${9IXbt4q@!Q8)y_?)S0QYh)AE(6Ho;YRnuo>%f z7SKaIv=dXVnw5$+zcb@W0bV9c3Cs|XRnvJ!4H&lOXwnIl`!9y3DEXKwAtH4xEf{j` zXu7DCOs%G^I$dl6N#J;uMi;i^NEz2{SWNn85hInrR%sVl(&S z;VNqN z)sujkYz#{0&Fqx|rs6z6)dYUf8@M{0=Zd&P0p{<9Ufs!^s- zd;ff~y>>nw?2C>4)DW@@-k#e-(yz;EHqMp2DD7^}DQ;(YIO_geA zdqF80X+y?6y}%rcgbVF-x@{XVGL+q?OwDO;Mk=IgD;GkJl2O9eNaH~Oq7=vjo~+Pv zvN~R5E7g&`vH*=tL27Hmm3CAe1TFDEC@6=)5KC0TPxC?0! z%yI*a_Qpcn7^7z7OGb?ZO?S1?<4&nIYI6s`RGByALZ4Ei2zF+9BswLV!}AtWqdsJ; zh34*L0o+R-h9Q>>a~O?gPAeU)GZ86K#Y)h;2+0coN#Q!uENu0lwIZd+T@#q1p1?6? zvI$7W6rLnTPI^{YuU(R4)mXM_wlJ)dh!V&U-J0uj%~rE3pyufSEh&g?gYZ+5wX{0| zh8``eha#975^83WXwemjqvKIqO#t*(Mu3roMGm@D1c!S;ac!ks%22#WaH*g}=@Zzk zk|hJpkf6kN*WcRikeN;vT=m#y`{h^5Uq9T|A&RZ);qfx5OU!Gu&fWLsLzTu3n0=rLWi zM#HRG(q)Sqyk7}-HCJtySmCgpAd;a*1hTyGQfS({eVV}tHU0J$5M^A}-r|{@ zbGX3tOLmuRo;b;NQZeIb^lSBSXk;UmX#A$jbXVQEtEq3bnhi*)Ud3b##?)wM`CZ`5Dk_T^Vs^OeF$Y{k!W|yfl?h#C_y4(d) z$(m!v#$5FFLLyjyq#!*lLq@*7y3W2S=r*qjdcS0!EOka>GP3kWBQ1FX%#>iAF|*<2 zY8gJoBGZ;NzEmMMGgHl)n@ZEIA^pkV&GQTkzNY?gBDA5%nn2Q?Kna9Zct36?Xw@_#J@)_uwAs8KAg0;!-t?kcWal;y)9 zKso2U$;AtXtj*Tp*UM$<7t53FvQLmDSqJavo!OmUn&T2x!oKXVE%xi@{gU{jb3OX81K<@cB6dCvc|NnZ@<%fVg_ zsiRh=-o939ki-Ef&M_-;K`czh(JrOHq3~6)M_u_354OL*Dn)#r-|XRk_oWrefUWjp zGUBcJz-n8HFx8y?QQcWfA5B7G1n62X6R(3LAQNMpj(9g`_3ebS6O5o64}Jw|MSy_? zCdg*=+ASO%#BQ27EZ@}J?;U`9xtEVs8u~EW$A?*#M|P;tt2cOxs^G32(?hB-V`F*I zm?d;<{DycFNFBU!COgov>h4Kb?;or3j!bcl_TO>ZhsODM>ca6w;BDilN8!3X5y;vO z28?-Qq%~z*((W?S!Ldi)$(fr)pa@Ay#uPa*s3GU0D~A(sWsTWUXqNmfXVmi4>#Ygw z8b~0a5`Ayj5e1TJ9clO&^YeV;3D0q`R(e~RmkK;*>GJg#%O}71;h!#jeR}nDb@6<0 z{j$GY_jyRhloGmb==+rV)R~xQ-WfWWB^ucoI-?moib#|v7)x|iuEvBqGV;%A-EqrI zP;Jdtv$-^d^9zBfDsH%YI6qx56slITwz^rV)i*brAGL73{T{?Y0Ej}XJru}R=^F+{ zCxGx49}tkE5`S{SBY5J`LygKsMam8@D(=O-xI7n??AKdv)*0Byvh}Z5XZh^&?Sn@z zKl#C8ef@{O_#0bUS}t65dI>aQcE(Tm7dsRC0WDa84?U!ji)9X~WiY-KD1Jnb0qidn6!32}LNCQwC$h0nK)lJSY*GP2ckNYdz%TP5_t} z*S=Bjzmvnd#;S&?Cafe3VL(0tP$Gn@nOw@L-$UH(q6jxBP%Ik$18I#5pv{AKs z30kFTReHlE2sdUPMTs58)>rM6+0eM!JT3wr(G}n>2Wn$$OotJJ?cRsNp%h$SU7Y>A zoImE~<>l!gTz+0`d(~~O7gw+P?YbYXY`g8(>!n{A(3_!4Ww9K(M2iF#_6f<1hK}kC zOzMeLK(IG}^x}zvo8YnhT37iv`g#syxT`t?NeGv(!F!-Zqf^wEsaE|tSu=xC^QLG} zYL9z0D2*IjYzM#}$f#;*qfp&6eN%L1UDxarqhqsU+qP}nwr!hFY}-c1R>$s+osONH zobkQ??Y>$2VvRLt)tpte-T{HJ{%njU2^e?v$Y6zDKfD@IipG2bO}*epd)nK~VPB=* zaQ!%3ADY?U)ymJYOQ+ZzS${lON~h2*p;LK1@8NP=D zp0B;cuUjb?hJ|QyUDkMA%To#8p^S73Bd}zGfeUa)w`G4NJ}`+Sver*NMoreN*KKAR z0HP>~!I>Ahe5>k%0O^%ku$kBPwjJ`|a7sh#!hY_?w(!XwYN2Yyp;f15hm`+ato?Mq z59bRY{sjM2I_Z|uq!T<^AU5N|I>7_g(I%9KqMbV~iBI)iOmc{-4djs?H>yxmEGxfH zN@au1keB&Gjge>i>2o{Gu4t>f#615N9iXm4w*t`6J*qm3@zP*5&QbM}{^Zi3<|+Eq z_FW&~K5$D3F1?N+RF%31!A8j+9_sq+YWTRBfzbNj)(({I_19;gAF z>R}_N^C?SxgGj+vw#eg7UTG|eL`b2Sqm@|Q0SUy@ zDn(00;TK#mpHFPm^10cfyES(DI89*q`Ss^)AjQb7Zn;vZ?009qZ=k_h>!SQzTYX}C zr-64Ni0lcsZA8<m!`>pUz z!GS}b_Y_E)S{gWy__W8aQY>5G8~;jpqn}W*X5Ho%XyLZ$B7r{X?5AHb7Lle%l_c{* zv@hk!jO2DK)()-FyhxAHZ>~u_AwXvb8961hrDzZ>8KxH)kgdC-9sA_&NB5l{t^5q# zf}{=%w5w>8N2o~-huo`R@NZWYXJC~QBfq@ZwB+_{(W;g;obon`C)AjlA;AS z7Zu`9_&;epy(QHeG3PNON6v0HuB}=g8Vqu(yAD8^bLAqYLK)VDWaU*dZ%~z{lz2a5 z1=N}0StCdpjE_#$eLxfAL~+LU;00ymMIj*tP$#CBEPlq_O1z7DJ1#}<;kTe-$zIb0 zF%wnhKryVA*pcHx;oioi%(uTOVFI{+2XGI98e-_r=EbVb@AePtZr;xK8-?(cyJ{%J zsaxCae3zv3$#O0imkDN1DzENNeZ7vrR;s=L#fSla7d#w6qwKaJR( zaHFB1>fm!q6vp=j>aV}l{hZAKYb6HXLqw4-+7;aNGBKN$qrtAV%9s4y!|$c`IgCE4 zHQ0W9TVoyawoIDE0AEg5Rm3FCn0l7Gr}cX%Kt)IX{p0%S-gSO&@N2_loa5!$0Y(oS z7MyHq@#~Umrrim=5+bfnMJ0Oy$!Z`G2r&eTS*u-S5%vU!Hyd%=T0{NKqgqX?O@J4v4S){}Hhnr2~K22trVAZnHgV)M2H$g#QdmEw`c-zw|kz zibwwZ*I20r#*qQuy-p6{XmthoJZng(sQSjysnBaDu@!k&`^1}>nXN26Bg&n@r~+V$ zOZppU*n9A>7n0hDqQ#9jWg10WeCdm6#o}7=7}g6iQ-zD7Kb%@~vz&TT#9q3$#pX4H zke_Mk+sgCdq=+j*|B&~}x!8?YPr}gtf{A%9h8df_q6PW~)?QjB+;kp55N@2uRF~{XCg?Oqt`DUp7ApuRc7taCdWae(>$|56hVX&$s6G%98D%%=rcdXkW4Ex-$p2u?=k0mD zPw{o;r=1gWGg~wZ=;%E<*HvY;ZQra>mUb7NO?+|})+y;r{aHdrf|5+6%~xR+8Gyme zHK|1UM|Rljwx9D!fbUQv_9+y)HF}|h} zPjK%fM7RGvPv;9D{#uoUg+s!`dd$To=K=2FuTkSZ<`VM4xF~SbD42+yETb4TpW!hZ zq>6T$A#Q=Q3z)iNB1#<1%6~Mo{-;t6j};YY*?>}@mE$wiZhha~h$s>Ij_W=3AM8>b zK@#IHw6>OH{RSd`Yzg>U=iaxv+w;a+_Ik31XkBsr$0a?;u z@}1IwUWJKNa#`#8lfRCT`%(~5r9MHs!SKsz8cE!0y5w=1$tL;Ud*T5FkcbS)1>BG`!rPrOPYe^|?Gzy?d`w-zC&{F0KG8KZ@ODCONVrC3X zm!)M5ArsdC;XVoO1Y^aCYZ~8r_{9Uy22&vpMl2KrDXzvuhC$8694Zb^gHCz-QT)um zbs_mRH_<-Az~R+Qr=c?^@@V%ne1KgCZLYv0=An3Ovsq#_fxv-)pK5CHJM<`g2Av~& z`Orc7C+`~uGdcq`nR2aJi>L{Zmun_Nxyf{aeNEYd3WSz)SAgQ^No+Jj5JR6U?j(wU zZc+jBa5AEN^S*s``>S1Q)n35hAiyOrpy%EIk-ep7a)^V9G18%R{;y67;q`B{pr4J7 zqEqo0{ITKzHPI8e{wlF?c0Ybe^5Hq850yq2K*gE{3N8a|j7=t@y|df*c>Ko}YmoJv~1hkT=DTe@9EDez$F=@>CmP|*R!&$r7TcV{}15g&zaa$F8+d9JWSDaf588*K!@Wq}AGOHh7^B z@cszN*R`wDz?@6RR9HNm8d;`!EqG}4DlDm+`(UPfbJK#x4{d1>c+s-jr3mn-z(fh2+5gZ{b2O;RQAjGeV|xd?KE)NJiJ)YC3rbLl5EQmHK!U zczEl*c4TbT&AHC|>B||=;P=n+?qt!|TU}nBHfCs}zJ4)ABdm)&9j9~?h!?CGb3K8$TOM^T( znmsM^Pv~Fo?U>sQ9UXrbB!@T5W1oz*eZ}eQO__0{RU)-t2z{W*)op}!MU|=Mp7YMD zt(N;?<&U=6OvG&-{YxOZ#SI|#H(0~7*nXi__u$IE>hRo6@Jt zZ4j{g=H5$?3EG_|k0S|3&J2sbP)?3-{{X@o;&xAmCMr`rg@1V}k%uo2BY^N6Nhn5J z2boYgk675+1mt(So&z(Cc@d|YOTA+WGPBigUufnsU2L_o`2C4Tvkn+X1Rmy|^K|g@ zohoqq^!mlfFFYaq|CK@snzt;w@OT2y@!~vcoZ55_8SFSC5L25UtqcpR)fXeM+Ok_} zMg@cuXov2i%gEEgHEq^|(?xhz(Pg3j>es}Vnq6;AU@9}0dmoq7l{ul`OTf$cTYS!Z z#7=kx>yp0sf$&lB(@dvMwOFeqIEx6Aq-f)Y2pzB%8h-pwd`#fDc_!}2oSP62v9)gC zdHz`i4`5c%>Gld}%_l|#Ydf2_4#Q+jSeb@Vjz2Kr^v-C>WLDgAk8@~~Lc0$tv&!g` zTk91KPn@Z^fe??iypDldh9hUiCmUlmQfC0e8 zeVgJ?`Xohaoi0r6LZJrJ2~p+>|LN%(Q3Yb0;0cN#?7$*)u(VzP*VG|BTnOUTdar4i zO>Jz+R&&mH=UD{Q@wXCiWi#2J&wutX;L9W6km4AUc3OG;@tls{|2$i62aa0gCpEsk zMR+PT^~9(g?gaMVp{1e#*c}aZ~RCqlJY*qlPI`3cH^M!|8_RwdbNGE=@v7+5%?e`T00w3J(Nes$8DsdH((Fc0dDQJ zQaIKH^d8FnygR*O&TjsPnMp9xR)W}qKZW*`(621*XI%}42`p^Wx`$@?!GD@Sx{wlb zka%4jd18rRX#`s;q3h1zSrC$gmf%K_%x8*-Rq&qa&k-ZNBqcaD#bhhlEm(Sv-DU94 z>*XjPjKuBZ?qNhzYBrB}OI2g(j%QVnwHBXh*q!52c3HjB1HHNth-#WU15AqoieT z;Q#u^YDxms@Q@?coao&-Hov;^F8`J_qjGw>$4B~X;ccBp&m;`tI5WxM()#?Y0cBQWzgubcr|$aKuNhEI&rBwC8}Jh96gyas_l~O2$QiP3S~|#sr`htGu%q% zgV0V#Lw+rfQGg5PmAEEn=#`!V03kN#Lhfwgo;W27j~}1ySAHIq*DKKcEo6oCs3x}+ zfd%k{$|Ilft?hZx=Y~|U0YaA4d=4})QKX*2m3$qW1Lk_v)(m~oHK?1q^z5BHgAV^@ zQ7-h3=wK}3MU9~BKsJ6y!9llB-Ho+^&0Pkuwabi*>_A%o2ZgoQLkPfaf2f;u!MUd` zb|jdeNxyYj)QvCA|4=0i@K_7!KZ0(?Y;a1&AgVYO8Kc-1F>@NX04aSzGy?+NPKqq* zDo+AZ3}RGPN?5GgvbnD3W0`wN9v%-Q8Xgz|?HoEb{(=%3b1vkJ86AGTQct*HCkC6g zG*-4tuu@bo3qiwNBEl9slpds#5&{wPCMtSfA(EaL2M03s$bzLNpJ_(Y*5HiHWs(8m zZ$}Q-QzDM1f#rzx{?B(2{qGE$hf=fV_bJuDfUhBem&4=!FDw5~%a7ZOm%HzeZP*xO z#T*YYsa?ObEy3f=D7`2xpy@r6RDU;|u4s%DjGP`#lxIui*AfIY@%h}p z4x}tsms@;2eK}d%)M8}U0)+>GW|~?H-hMClW;+m>$Gfb^HX35$IjTl~ptx4B zrre0hvbu-k|Xmanwn- z7}K&jP%N*oFD6e-4B1ku3);2s(JF&_7w=zECj5tIG~6{TNmk<1=3BwfNqmsR#s_c1 zZ|oQ8MBNXPaC?x)W#7jDq2oWXK+K8G3N2yCL>8K<@BdWr*(nF%d0A;&G3YGr#ZwOC ztvPS>K7gJplOSyLlJm4V^PI$$KVb+{eKLWX)9RZnvN@5jaH9N9?ES%`0pAM#q|6G6&+A#j?l!-!;AS&x#z$V-6*Ogr~r1`v`B1@ zexOE+JiGx#yIM~eJ%Yx|#mTAd;+wVm+}@=z`1G({73n{#XE3;@nDc+VQ}bZHFE_aL zxRlr&Y0#=+kT(!e0AiNc>({K<^x$YV(fyvMOM|@om#u;ow(zmX%* z@!BiU^La5glrlFtp`}mPK{dU}va1{L`U3o3nJYK=VBSp00YM`#>l-SVvZ&{KGj6p6 zLIui{^6MvKN>N``(G47wN`{TB>1dM%avd|L+P9u?r=TX1Nr%^Bh~*M>$|92*GSleq zY}CGe!py0>Ub;W;_V;+^`Vqlp%-12-{N>sA`-z=QzZvH!Vh>*u${Wun;SqE60YFPJ04(=F4KrSFerVvqWsSPm)} z6sl!E@qJHLScx&CzBhS^bty#ktA(LuN@q{ns)!#*z7sj17%nrFPD-};5i5InBLkSIL^X&AaW2)KQ=sSLvq%6kwLxN zwCe@n`J!2#!|F8M=gEMzkltm-3Q8thLuP~@aT^(xkysH;5Q@f|!YPYZ#i4VdDQTj9 zpugMyeCURNHj0?at119hJj+jSGhnYkH*E*^s-{sG4Ytjy#nWxb_L+X-5Jq2h?HGug z(%nqc*?lb5*mw;sn}o2xh*TBo*}{~pk+Eu?7)qmVmj{n}xXFrl(kPN8J64vS8lb4B ztFDwPO0vG+5XD-*$B$hO_;(gmLhnr9?bM51pV!ynd;B&h@H$46iFlm|L>uh$;msa1sXJazi4S$<&aFhv+ z%xfLbuK%w0?>50j-&@Gded<2irVNjd6~T3eRjwO_P0iaK!I$m(Glv-^^HWBm@|iMr zIqy-ba-3Z#3Yt=PESVS;GO}6pxEM0BQ7id^N1yzT&+5Zbcun=H#-hDq!jeZ$rVIRX z5Hq9ZNR}j>*QAerwL?VGT8E#r)+~8%yL`R@oJJ?9L-V#k-sR`n@-p))o>TJgn3^f^{dTH9 zM$faCym+p%stHUSzyjMJSNdk$O~eZju>M?c=>rnYkpk}Mk012A#NG!-*XEl@*z%Qh zg5uJmuw5q2|DME-TJmdfSY)UDbvSC|RO!dY@tN4#2#owtrJ61%-~#1xRYXXZej`Ar z2BlVn)bOZ@$iZKO&GA%a?|#h1!Dizp`gNeLb!k)822Pmu@|$ThP_jiH*&e0%r{oDr zN_kN*2EG(jh7)SEz4P8OiLq?FDbca@DF?c94%>$!vYtfy?kH2#}FDJn4nAM@vm>7aDU;Gf% z&8ccEa(S-sLfxE3nFiIB^CoVbfOmv0QH;&2#N|u=Ct$t$aeco3C-T^-ar5N0zk~Pf z?7s^!ULWQ7cvhifi`R04kp>zQWXxH#T*`R$^Qr5PlZ)PKfw$+6?NcgEFHWi;dG3kd z_6~|#%BfUEgvQidLnv`OPv3%*+H;<|?peM}T)v!m6fe9wdNa88)T%l1Y9JXls?~#E zyoi0HLnAgN^@6;&%6Mpbb&IU#7=9i;=Q`=P{q6LF!ZQEN;VQ76wZDeUIPIN5pcg=B z1()mkY4M$v1?ot99st{|3eEkaI`{rf79dJ85cGu!kL?4b~RV z+}*F5n>yROyg1a;$GwSycuQoi4T1FSKQa z&p_B!(5Il|RqNbuc<_8g&}`sd+5!Hp>}<5J+b_}lV4S(iK;YNjXe9r;W)+TCVO`I~ zSQvD%5BLSfdQ4wX`8i$Yq6P9=!{Vnjon^q3FG7xWW;wxSdXQOOw)f|}5HKtojBQHDJ0tBEsp+1A_Qh5q+BdR&s zMBzU0`RFR^DpDb7Hpy4ogF;2k8@iza%5hJ8}Cf^7Ec6s zKDa!YbM4Wue?@1fh|DQYwc3a)9_5WQ!KTP3B;hXCNg6U_L{X*VWpx$?CFFCP?7SFV zHgEs9dMd}<_4}Oae>s@@K)7o{h2tJ79>3`3Py5I;QIObnNz6n;8Xsn~Uu8J)uG@4{J`?!PV9N3P1? zYXc~mS{8#VBx0-#ombsU7!X+lR+O-ka5klXe$l2t4HgP2wq6SoqsrN;Ibd2d1p@HS z5At>G$8MKqiW;f=y*LpS3_t|o6*a$QYE|ho`2uUbR-9b}!->>#N;GXrfaB6)z1VsV zR-KFg-C}}de9uu1SwZmR{fREMFB?NeR-om%t8Z~`oFXfQPB1Pqd}d`LuCowe!n*L0 z@QpTO$hnBZDZca}hgLk_1`ZD@Yq?@WaPB$}l*1V5Ul8be;-Hscf4yZj(2?2mh8a-HLcr z@@isx+sau>jiB05*Q0|lR%0_|UrrxCuAISrZnyWjI3FLVggNBso~E2OX~x{jS)_+g zRitY-b-1Em>^kvUr}MCFKD3Wo%g!(V{C?=#O4rTg98XNreb5m4BEQ_RWJz}H#8cy; z@lEkP-vR}AU++bJz)ovzAb4>s^d2AuAFX)xpIZJCCG&VS?`=y_1HuVO(N20r8%5_p zxWL3tlagS20srPUtEw@F^MbF-UXHvHCqO8$=Y^phCZ!JaJB&(eViSRqjrsBaY5k5$ z2KOP61bE-ssI_)N1P-HpH^ADHKKY1;Up~DfBs+PJ-Y8K$(@sk-hzW1nRCZR#LBsjH z+da)^cVR->znPANMb( zhzbe(4EwlHZ;|k(1v+7DY_6!>nXEnR)dKJCFc} z%i0g3^$)8O96(Nu(^50-{ioYTUa45*djF4tC95uEZi(|&6qwvV1j zPhinGFMhtwqj7H{2v!@ki!bukpEpe@m-9zru&ti$+CJ!$nOG=N*{kmplw%irV3;6q z5=D@CWO2#ahv!67aCnE^9#188BWKU5`$~{M;VM<>lrYXx^rFy?~~csjiF~1bl1v(`$II zMyvI>`_EP}!zjBO52lHekB%ll=Cj)yQsp(-AO>6TecR(67N+vwFYZ$ilbxYW(&fx> z#0{RdmGW24m!G0Zb%D(3tooMhz8HlU)i_UP;hoM4`fvW{hG5 z3x5W2_&{aiP^EJrVG4@H1|*KV10MEa39rt+a7*NT3c% ze3+N9gdpf ziJbkDL>F>7d7Rntt%U)g^YD&AH%AaCYCSt{=-UM^zW2V>+uDI`<;NpD=_$`|d^H_Y z*b(pv$3F%k9t#Ob|4xrv@S6KrSO29;aTkHh^ph8AKoUoK$$!PCEjC1taX(sH0uRV7 z)g9&5YNX02TiN-h?avrWolqu%bf}h`0gLkMQupseWC4b@t^JB;Gt}Y1I%ix^d@j*6 z@d7HgC}>J%4>JUcxJMSpmY{G(W@k?D!WN@^2QAaV)?!cday0(7O8eP`r`cS7I#n5S zdS$EzaFJd?Lu4I3j0q%fnh#scEPO0xYN`D6d0o)9O=DBT!ffN=oK1-uNLd4N(Aj{v zBB51rB|lD8Xvx`M6(n5L*xu$k*IvvNsj4B_DjtU9p`pX0L!}?k=KYwvUu;p&pZmvL zmrp=H*HhcBt9ZtH(MJN^l6sud>$iPu`KrH@Fg@Gr$2XgO3YvGWnUo1m+vRWyojZ`Ws3Qqoy56*$O#+)dcXc9^i6{&4yWzD z+l1Nd6fhz=nkq%NX<4Ye@8;`$I_&!V#vXgKDNNvvp{Txc;P?M{v47gR@s`qCn#*CV zRJBBOx#*D{;A!J!2VK+!NZ zz2zmCnHU7S3x}o21@836OJkORP81{ON6w(^I57$F)nQj+BG?3A2f1a+UHUwh&^h>ab&dAuxVdzgoS2?$3lr9IK1F<^2(1m)UhciC#CRzy8vV^q7|@7 z%bq3tvvDRetb*Z|_&@CdwPbucrGisUy%7##p-7?9fM^sZIRF?=#LYA7tU|tST^=v~ z?pQO0LcF?7z~1B1Da3DktT}PBL#shnFqs--t>4b8h{fi?M85|A=3>i%STiJws$5N4 z+E0Y8Ozlix;OH#1PoL3gcY3r?k-uMszmWAki6`? z-Z~G;9%M|tSpd%u(jee7QUuYtEeoV`6St;IDx#vuvvvXnq5cU!MA0}v{GmRH!1)=N z3({0X%!n=6QAlxzr`myCBn=$`fIHve@7(h9?E7fG=EbLny~4JW(U8hraA+*Wwz2 zofUw4kV+to+sk_r)$q91Q3{%MN&N!fc4m5#Z~l`OK}wk4oZ&==T5qG6&WG6#F4RXV z@H4L;8f{#1Q8jU2uEY^lYq6**_`liivfqCd_Z623Db3`r$ciN#$Jl zv^B^h{K+uBUX#t$Cj1kbNM?IA7JN!bLD!6d;?KdLQK6S)0;k*$@B-@LA?&k%qbX9e zq8X`htehRpkc!@Q?y-#JVeLC-st*FSrsV@E&Eot=qk!H=&Lu2b)uIC;cN2CQy(Tr| z<4PB96u#P(>X~R!lrpL^qwz)0*6%hi7TCSLjF9iYLEsQxZH42!N`bZ@V<*dG8pZlc zdfB>~EH!g1B=Aw}{gH$bY}eYEPdKrt>48Qyy3Yb)LK7iNLA{Fi8);|jlV*CMBK$3Gl=&+4c|u$ z{2&0#FVL4i8)l$%(mCHc9T@Dob~Ak%qi8xOh!LKgexZ30bN zv=8zKBW<1#=jgxgw^cZfoF&~IFP)Pz(7wICb6lxFxAo{4R;+96n9Dc}6_!C2_9(NE z1Q8yRL)?rmQFQsmE>{>?iqH@tpdlbQMq6Je^empuiWl2Ke(Ctw?7H)0e2ZN9?*^`O zZ;tBgW93xX%ulz%3Z7?S%%g~H5sx~1t+#qpp$j_2s^u7>^4{X01ZcTFosaFC-vYKb z`>R3!L11zfV{839Lr2<{WHz6XXsh?YLNfs35(O6F7BfY(H57CEr%Ap4h^yPVCzVb! z^ohScOWFkGM!c0{5=1vtrxdOM&ntAW>wZ5$|a3s7;PTmX0zvceDu>Mu;&6 z(6AF8eVPNz|4nAA>V;!uQ$S4z-`*? zz}s_el~>9#;TYvjpBSmD`Nvd!<%)^4_=|QNO-U5E0ipwoqTSS#+NpraG)zjX<)0%d z%cl!R&uiXKC}hd3dBo?hzMrcNxw;xk9#1~LiUYQx)!ZIKgxS%;zNIS@W5J_ld z&X{pkE42I@$*bN~sgBxg){SB6Vk!T;Y`{rEP|307l-ew6#Vx;8v%huP{diqIOq`Me zB9xz7UcTNfGEl8?ZkZ$;Pgmwi^%%Bs92<?~Pd3bKn5UCWG&@od2&dZQ6zw(lUavBII&~ z#CHnAvX+fj^hG^h-40FZv#R^x{RwZmKo2ZRu9|~U0JtnOQzwrVc8XjOp;D45tEM0> z`qpG?y+4voWln8MIuP7B26=@dBMycJW=T?Lt#jbCljHi{)1)q6Gq>ibqvP4XFtUZm zF^D+P1wzss2tRJ57lchhHS^Em#)AoF5y#4RF&f2(?D#@JcWI5(ab}Jmq)S4pTuW@~ z;Y9phzpI<53?d|D8Hhom*A^}t7(8YzoYQ&^v#O^bEg?PFj=W6V7B7CvC5xdqTJ97B zocM0Py>khiO`gq z$^sAk+WEQ864WKevae1mHeHWMu|=?F>(I{f@ktb3CQ?q-ru!J?}v^n@%GW=;=S$$4JZi-D#2Ng~~8Bmw4HwL&VZTxUOhasxPEtdn1sZwXmK? zR0>_gDc3@(YI*&REsE82%M%f4+1Whw5GZ<*y58sTkTQRb(9CB0*BBC+Ndy@K6Nhcep`#nYJ70}-GAF!}aD>Oa;LRGSoJ&RX zMv)!hbSR{a#>vXhD}0>4IiZ2-^>Ix z%UK-O^>uznW-XuT!Y<2R9@}^Em(`-#R^M*9$%UmCKJe|s^NPc8XaJnL@`!|ol8t7L zJ5g4gOvFL$WTk9*^5UX5A>bkV`YY*m=gg=QI^$0()GD0#Q&i)46uTx1&1OJvoO&9T zHBCtKKq=Z#YJIS|`Tc?9Rj$PKikCD@Q=LIA$41Vh=P@bhKI3Rc`F2A$j{7FwK79g2 zu=KdiNJV_4TwW(+FGy-4EZ|y0;yR~JfTPy`Ua#$;rMBG`8`7kg| zSeTid7?}NZBL(E=?)G(iFg@&3=@haO)Xs0-!$==V(`RCdaN6^XUY<+*JefyE6_q*GJ11hpfF!1L;dd?rAYDF!Yc)z)* zTupW}tI*W(`+PzYZH~XxWLaYM1GVG;ROX<0iJw|}&^lX_^~}-Iimtub*~3ADxBR+2 ze0V!O$TeP{4etFHBWEvDru1M+tL}YFLaIO^u`{)QTYSdGAOH$2 zdsP5O(Q*Y1oeM^E1BMYxQgQoORn}l=lwpHgIh5{~kI0%HpQndc?UGH5dNJMy z_5S9ouX75EfV=gVJ2{{>hEe}p^7P;2!g@bJLnE?o`&CkvN;~Vc{jsDX^KXG~8bJY> zG&rlFLPlnA1=FbBg%dbdgf70ppY&dMz|MxwTU*wAi`ZlTZaV7sh@**Eb@KUf>`Z5O z5#VTd1qN7xtRzNulD_p-kMDMRF0JN|MQ4LDa;{n8;gE>P=SX2 z+?>kWNp?qH2?1t~E5OaI{)d%S&I_m6eUmC-s7?+##;nYSz`|qigzn@xo(C6}=G)#$GI3-53umXA;QASv! zsERWSl-Pm#n01S`gJ_5!OYFho&ex6cvw(o_gK1jcJ=O8^Kv}@f+e@m!{b_{62bS@P zm_aLP2f0u!D%~nMnHoZ-C3W2@YOAWLfBks2?7F4ZH z`_T?6Tv@^e_fB8$PCn`Frd5BE377~dR#Y3<9J6t)5ErTw$o;&*0>8H$O=~K5Hdiu0 zh&HlkotK7dFBjT0$i#T|0j9it*Zs}mmBlqBwzCy_xVMtL#_9gl_SfB}M)fRrzFGw0 zbUONs=x=bE)XXetzr@i=ZQq727)s^fZqkejX}T(}9G8;$*XO7;6P{~oka?QjwV~y8 zp8tsO_LWebowJW;q@pwO-;oVtv&0~D6`oDx8fy5CvpjeO~I!Zi+fEEBzec?t1=DRORkjo!b#8WSQ^T= zU8(rr-j7HS==Qw-Sw`%y?&nj{p&Uu4C5a=18<;H7hynGx?7K~JsRl$ZtDp>fdH+E3zah}XY*XgnHfXlB1)FqCg^vWR~TJ<}dnLgDo8g{4D z5Wy~EmWLH&=5Xn^sVpx?BQyATbn)>^GH@uoRl5-&a+kl0#3NG;jAu!ogKieI1{Nn# z(la+2{91U{!;NxlQfS{_XY6TyOq~AE=zf3F5J9N*RU);P`1ETY zS|~eyZdLCk_{{Dpn{GRLQ<>HLSRbPQ~-KYu@M&Bw&R~)*oX}GED z{B(+rb5~Ns*cBgKmo06sYWU3Q0J33a+(2FF|-1^QtcgRY({XO=rfqd1+vOfv#!qPN8M7vH;A zHGpL5@+@zMFOT~~6#D_svnkj0uXj0!CV@L2Db<(kz!bIi{C}7M>qr>Poz}c{$)%ta zGEpdM*7Mu3l+mTa7vHVtkToH|T~U>uE<8-6APS)nDEgB&rKBS#TIQj6oy!Y3M7O3%d-YYCPj4%0#aWz}}NoBFa4R^ZCC_vMmS_eZ5jK&q2@S_ z-2O(X&z5w{KBM7>(au8h>sWOVD)6o8iJy(I`dsbh3VFV_e-{nDhAaZ^$38}?oj8y} zw_r#zrX{t^KtYbxdO@JzTDMA8(B|=c=$42h!1y@L`qj!Ds>Z>U-Y{tz`B{%@q>z|0 z)NK9q%4%f`zqx9ixJ+}|(Ir0D5eJ-^#a_cc23uiNDz;fA1qc$4T&?3RF*DUl4H<}j z58r27E+1PG@Afkr^E3=t6nk0Q%MDy@3r@MdQ^Iu#GP-$xxU4l!0#0@LsbL z<}3I40Dr%S-P!idO4q9*eq8B1E*hR@(Kkyh1B4e$it`xX6m+3qs*{N^$P>26Ec)_g z<~LT9zv++Vo|VRQwTp%U<&!y?AY|ZAhRs=&9BQ%&NJfMrziGQ7(rXIU)?FoF4!IKi z-){5kx)K=b^zFuWd=*E9aQLlTbXer4irmkkSEP}|1<3($q|K2TP1I_6_&azNY7zB! z`*cvEwUXDJsJ8ONt;KlWod_-`*Zh26JEv71n^Zs7dz?G~zr5@^uvjp}CdSq=p)r2? zt!>VJtXhdyK~HJhS&0E3Wi>E3u2yS0bKlN+65a-}bo<9Rin4HhkQv*;xso@jBx+l> zp&9#$#FPJZmOLERlRecBUk_hR`1yxijE;Cc+k#O(oyQUU6kQInAW^OCm;a?0d|8|M zS15xG-@%V#(`6H|TgaiO0GcKS`u0?qH>%whQ&7wS3deT1EizngUmkFjd~)~ZQTY0%0iOk=h* z-v`0drQQ4K`s?i7M_~5a zue|3=$O!TW?BI0G-a-pFr_d5!PHP$vN>wQailzL;q2|8%PG~D9;@Y#qLL>g}20)~! z?bUZt2MI9$Ow01CxjYvaNNB_zBq{FbeBgu2UoiM~hGz}Qx5^(-!MN$kg|I5w(GOipOjT)4Y zf+M$ny6N94rpT<)uvFrGi-(SISR_g#2LEoHh!S%wRNCIQ>JFc_fWa!hCwnXrXUA2n zApl{nvqKBt1!Rb{96}8(NOD{>bPJb&N%icM-5@d%w#W$|Rk5}`d|DGwX`Ly-7>%`( z_4jIt7;VAh(V6G-=;0;b|9HK@&JPiE%Q76eS?RBINwV7=6+x)1p1ix^qM9HLL8>fS z0Vp+QoRQg=&2DF85On!qAp~F3&d`)fj{Gp`hAZAtLw$`WFhIEO-}t64ZZh_hE)6}v z0T0hWF8^Coy(tVta6r32)EISN$f#+H*I*9AzJL09_T$&_z&B$}k5?D4syU5#My_P_ zf`IaEq_%u@EtM6WlP;pAbY1`g(kI;(sX}WC?P2VN_$*$bNaEMMX^=r>W#JaVmw^Mn zG%ei^0EMN>a)w)Cth)@NPyT-ZX+W006Jv>8F54kX@y=2A>T0<2vP--V>wJ6L2S2@+ z5$+At>ZCby(Z!VKAwTkqu1|QZFkf_L?P@%Dl!s60O9v!lXjg6k3%@}&v*xtxbKk=_ zZ+x)nEC77>_H{D{fHJ2=qcqlk0VWh7w`4Mtc=M|XNQCv|WN%UeUUt$Qq@5ucapa~s zy@bPVPBs7S;hO@NKx6*WJXb3A+t>TXf5w!Mwu$XaBZ;{rd9L&pJ!B4TVMfTd@#ps4+sd2=;IRSsZ+! zHaOb+j2}+nU-)J%CvkAo-S6V^_?=jNZ>_3~mHpyMQbC%;kPspPL(Fm(?P>@m^!Uj0 zcV@&o*#}p<*JJK);HbIWo;lW&By?#{U?1cZ%60732dJ#YbvI+5u&nj&Ov#SnMg|Z? zq4p2vCB8m;p*<)rLLp5#iX>?)0l{gr4}+P?cJ@s*$NV#1g`_p$yUo!1`Kc4!xj;~? zIu*vnf1v7N=+?05Mm_D*RcMT<^6=zRRN-#(l5L8Ac)k61?>^~h)etX#NK6MGAlFGgoqGXUqq8K6qL<9`T+nknxUv= zmzq;HH~EHCj3rv2pR?Ss>MR0di5vb;ov9^Eaji*dELwN`i=Vvv$<_G&*)9|SKfT-q z(7V+rt9R>+m04IoK}nuWl|TuhaN5d!h*DUDGFO8_ZS^ArmIAMBH)>UaIZX69$Ensm zuzzk3O@_UM)eySYkUB1%g6-f7;M*I0MarsSCjDF1E^5>zN?tm<{d68YR|%dQRxn zs$8AY)jkBk9HJ0VL8a+XiN@KN+|Gybql;ZGk~D>e5>93*mwh>@hDlX2Q1gjaGJ!yA zOK;Ea-h-uBgYQxhCeqBQ5EWInMg+D+IWoZBQ)gDB>UV`IoetNmP6Q%i8e2%Ybb(S;^Sub~Ei3a1lZ}aMi&I%nj0|0jpSueL^ ziOK-*kQ*s6W(WZ0q+X5U&6wlCfaKb78&X`*80v}d9Ib}(Ml{6l!VX~Xb9U(N4VUvS zvCl@-VH)p;gtQf?nLErDts@AE072cQqeGxX%c1x|W%h>4b?`mcx(g1SHvs`9Bh)x{ z+#smTV3uXRy7_p#330vOkWe5V#zhLJC_tc}dvvyzEo3*eCGn3SmpZ>bl4O z4STD!0d-qa~kMVe*8NYV>f*qrh9uf~uYd4|68GUd65EX4ji5Vz{?79{rTpmG34tPgbat7H0zN&zsx_0B zXWMCv<8{|LU{urqCnRHGk_x3j5$Z$O9#Vq}YM`Z3nvYkdJcLrJGgf`esKO?7a=zyM zOSL|8HBM75JV>WVv7PYFrvLuw`e)CN6Pcyoyxu0`XWQ|^^X*ZWUJv=@)tJ2Ieq_?S zNA8^`Qz?jGMtJfR8cNkU2-o5UMgeIwGG=GJmSvX7DhSpAUiW_PdT!CVeS9^%9;RpO z?p4Y6Z@agf0RYKO@?7+v{_dk9^~ot!v6AI$bl@Dcnc~g~a)t*K0aE8qU@WCRO~-DR zQ~ve&ZkQA(IY$kkBNUO@l-pZh1zFz^Qn}JAt!*uR5V75_Hdl!YQiOxqHPTqh?`U=Vu?2S|KAO;-MZdE<+ic{F4 z==!!|&fmfeZiw4}kos%vedyU^Jn3U2pqZZuK&vH-2Y*mU1A^YZu8b-Q8n-eMgpvF;CX`!o6?YNvLd`B`fDL<>D7- zHe7u4=l|2oU;H`FUyqkp$r21iK@_vj+%*cdE_86pS{ky2#j!fP+~1g&_+P{XCyMzf z##B%R)gl16S%IY~*Q;ZoJAsCfuJ?FlwNdkHX=VRsG@~7-Iv2kAh36qS16ZDjc|NHw zb(JrPiD9f9v;fUW8m5w`T&%UPkTlZ)q13^*h{W9AX+R;QDr9G3oAes0ux2#LOc>;C zl5Mk?YPx04`WDeLNKG^PaPi?Jno&(k-7uFEBvlx_0V(y#x#@j3vO$t=Tp|EKGV6_F zT)X=Mpcrz?_-?0yO8IXFurvPr-Ddy-`2Ld<1OMwspIi>pE&?Jrw`9}pKS*tF2?D(drdA( ziX5?a>zG80Q6v=5ghZoZ3OTgDysWGn5>V?oAkA>prQI}1dqCrD6R=74@+$xBCl~+W zC-1nSl=~GcXS*E$=)IHGfBM@G|BwItchCD(-?>UC=h++HgC&a&(%HA(ss&|dV3vxs za$h-zoTCJtPg6STDB2XPECg)a8SN3OfXNy=3QmO2aqZ<;CaKSsJFA2sLGGqGw6YutsNUg*w zi{g;u^-yPx$N7@~k|uOOUR*cb%XAMMF6;Z(AmaYWY7P~m%sJF~NomIjFytMR5S5(a z5a!l0uX0CZ=F-so2Z;r6#vg_?50rv!po#hCUr$;M*IY*sotDjvW6gpk?q`kb@A{uaVsh=!Yx27fc>BO5Cw6Y?CiX5@a z(Yy+1m2BNx+>XO;S#3l~ggMOQL`Ni-$Rd@ZJQcgV*hwG$oBw(E#h>}Bmsg*BsvIe~ z0JB85>bzb%$N5ZszD$SX`X)}1{}Ltuq{EnVLC9*;v=JdsoRV**u|vohvrb0U5qIKZ zip!XK`^F%e?lB_@w9UmHk^EB21J00ijzd2%>h{ zEVB;xPo!a%q~lzZR-2ozKe{ZyoQJ8dcRL@#K!h~I4>aqdNHm$5X4VEZ8SzT4;9-ph zOAkXx9K6cqvt53%PGH=6g_csffQG6dAfh6!Nt~|w*H^RP1($P)SiaA9w+X!`k2}wbDM~;a^OIyb zVq0ow7Ur8Mw0vIUObxa|u7gInq3>fDOPBnpvxH)>pMmuWTHCft_uZI zr;~M`!U9oRn?NvlsL#p$WoWDZTx%-5nTy$6GR-?3Wc#XcI#S7yn=^_?^F+piZ_w;k z2|#NNagK>+koC zigRRCE0k*OuBzN-=9r|bZJZu=eaFj-o8L(wC>pFXz6odr*a~Z@C`wGZf##PqC}CU@i8y&_ZZT2K!6IdFcgY?!A*@ zE&`Rz&$hd(sl0o%c4GvlqT@boSLtj!_3qVuIh+#FLYixbpML2xPtxNzy1sV=}(@#{`Bnqk2U4AO5-j|6q7tPkBE)< zA2S$wkEQs-b@~sj5_lP%iiilKx1iFf0-)xEC7%CzEAk^^HYM)H>(#%>#R8GyAXGIQfQb;j(D)7I!78n6lDa!vETwE^=#F@ z9P-(a-EcOIG_F!wSz1vOs$3ckETIbc$wEas8CfK>-ZmQPwIt+Bvo5p_u+RB ztV?!&HGXn6eD`$yh^6wbCSU=bTe4(yPlilc4KLMNU{S@=trfN&TtcunWK#)5Fu6evqgCnUy4Xg0 zf(=ftuYNzw@;`=d+r680K%wxhBY$~ZK&`9)lz&d_BpK7CWiXh zhSle0cKzEGo@4Zg2^qvhMFA3cx1w;#V!*0&;z7cRQ~<+-sgkM%R>sGB8#RW}EHz-Zcl!=^ zZ?hHJy?$WG1uSl6l=&*{H=KLo2q2e;Qp{TGWGVjtv-d8|k}S!2*!OuvR-JSDc^`A1 zn86H&1I`d2Oq8gFOlI22^b4dPApHf=NSY+V43ai7(?T-Cp5R80m9*hTf~18Ol1bD8 z06_xaJb;6bTFwZ)_!Pgm9E|&Ps$K`G4!pdv9VEEH07^FGS4 z1r&D)>zt~4&M-4Q+x`!23-gu+48G=w{ zLGt5*)6!hPHbaK5(F%P{BpPd=0u>gkR1z_mBlGlp_2{97fq7|WIu#TFdi}G1X78^; zcAYW1l)jE;NBS8$$J!jLWuZXQY+)Q+$+NC>|D`LwyiiZiyo<0d+6^C0dXlsm-oJdN zo*&(73a-CgMq7JKcVG|MuOZl}qp4xkd8UDj998Wh@Th;byz&Xz_fyVehj6 z1aq=a&bALWlv8MRCa5?KaJeyG)QJ;@?EVr-1-b~ zp~~%M2HOy|gN|Kw(_-&IVhDhe@~n zPcyIr)(RurGw+{*Ul8x}m<(0`7cG_nXO8oENDZQV z0fUMGUP3Kq3(7Fn>OzW6-8W@|`lVbWG5Ip|Irvb+F=P$#5@8OVN?YL_@Z3JF*w(dw_v$<%ahilA!ixKh&c#1dL6yuJ&g?|G zst?z^Nk^+!^((ab{h7Y~(p}6Ijma2bP6K9gu7I>`t06Vb zD|5$onyM>Oh7voT4H$8>O1ZY~m)V$%kzi>wn3CA~k%9J4=3zzha8YHc%@*Rkf+`iMCD`0@71m{*xpt&W7jG?*B(C7U;F zinwMX|576Dz;{Azp*YUSJ}vunq!Bsqx&K=xkYCvNUtb|W9VJ_*H2RGyBel?1b7IYf zn14TYUk<*of-eoqYcls{Ro5TgRn~vMS|MBjUTJvFXF1N6(sQGYBy+OOR32=$D@!rq z+=I&8KIdWqw}4Bpc)O#dPSa3^=zsx$#FK7(f!xny8Ge1 zJCC>Hu1qdH-j2N!yRK&Ycp*u~vDByrHWJY2emYJ?zD{{aX6$2bAdrI?qg$Meg08;s z018TiXuI8XI!)ed&XyQfWOy9hfUqroI+ktm>x0<`a*YGf(pwwIBhaJ20pUQv_L7S4 zRlwz6OL4FPVr~U*v10`fr7GNzGUU8ql{5?9;A&Y0(Yd`9Xq%W#rEe=VFsah<@$Xh z#2vDcQYTAZ5vBbJ)>9H>YC~g0Yh}}>Pzb23jQay$-t~Ta2kJ?fGy3u9+5LriV*?v8wB;Lt>5vaUIzW z?!G*lH}3n`FfW~{+mt*X-Oveb3}hT7Tj0<0IWHW}wnvdbXw~@2T;tXpm1kA|b%f>$ zDbfo1&AaR9h52Btk4Dc#B2PqPcWyl}`p67oFaZ5(neH z<|(xZV=U;I(kvz#NoT9XL}{skQ59#MXR{s5Wkng>DF$&S=#aB}JuJ0OrRHRVaaXjN z%E>xIP*DXe13^XI_Q^&1)na}NwI$W4xr5y_G_qAm3ThAZCXMChuS8N7Db7G9-7!gW zWoX)z>Cuxs7_$*FXozSpAttlNrhSb8^Gg8$DB5?M9IEc6n&s$-OA#w#SChLen=$5R zU(7MzZa_5n)eDc4{pfW2a956R($Z+2@`nm*c7N=m5^{=)f}L5^ExXr1w4j*}3^7uc zu7Xp*Ia%^q>3RfKZSSsEPj;iL*HX73d3i!)IY0ynBQ_01@@pHpk-QMlN%Nq=2^xDwwSzophgAXJD09S(I2& z+rH1}mEip(&Cls+HZ|&jK`SKT=73vg(+JWmJJ|QJx19Tg?ymeZ*Jvw9aHusZYBh7} ziE)mG*7s)snuM$h4w!8bIn>b6t}m4Uf>jLUE=AO%or;mY3Wu-P-6od{*_fL#6=~H7c8K0&)ld~AeI%WcvgiO<7TGt(;JXB7niiyJw$l_I zXbl`7EHZb3yUc+hrQ1j8bew8IB2V(rP!XehDWf1U+UvA(uWsTW%YEl9qtDl%hB{5A`X7PMMu3RaSHhdNas-8WMmOQmrvzDm54 zhj=jR9W%dv@A%G;OY08RD!<>qb9_9cTK#NSUfcm-v-oGH1Q{q$ofB8sJKCsG1TIVT z9B{&{rO$gp0C1Enh_W1VIE_85KSPvKa?o0$PE08$a)mOY2d7Lh%c$-JC0mY305KB6 z+?CVf-do0MisF~f&v7lVdGKVfod2mGoBDWkS$Gvx)G-GmXtV#DOW+`o42AI4O1_8r z+h9ns2olX}^j~4?cIC~wlLJNrdv$+-xjTT2%p25;{8FwJgB$n|b_!d=Qg3;y_Gv6a z3Uqje4E0oA-QK{kMw+Q^zA7KUKwv#6?K2>ngl50`!UzY((o113n0D7o*a1+74GJiv znQ`Or@TK)HAX&59<5-`AS*?6@ap2)yw4#?0TgVBMOc>^r*KVwOEZ4pfUUk!Z9N;>R zwa~m%)r7`h(f&^`;@+w;c96I~tm9Mz`DF4xd^}FBwVB{!al&)=k-YmXBBY4aum!?V z(CE7aS~7?Ubh@JGmo!u(M4Lk%1cKnE?FY?4GBq{^NUH8I3yLzC>CKa)qny7u-wZh& z4@0e$iGok#q#m$bJVHLzBV0mjl#0t}iGZq_#=imo@cd+3NTH+uY_#i`gF_y7m%uI4xm~|&ueb|ha~WJPIGC~ zGq2eQqg__vvsHfqLySVs*QXqU7yg}>C0a;P`#|<(X$#ewttqt9{`out=h{i-1u%Kz z>!XoV^@p3?kfQ)f?#xj|O;o4>oP_r>GfP(7I|Dn4;B5|eeFvmH^wnIH2tU5c&6r^u zoKK|)b0VT?<_GDB8n7rx3warCGQfjm~LS`L#Z?^^j7VOwi!yK?(j5;HJpOm%T?TiF_i&>dw345gf|WgN+K9_1K9t< z(^YRU7Ux>gCD^jVt5Q&Bd5lNZvqlTur`FdI7;dj@j!YA?tJ7Ttg447&#cU|P4dkXr)d0)ROp9o(XqB9(Yo zY^;qQdLrnBfSf#W=;Nc~)$ndkE;$>>TWb+y=}Kdri~l}dLM0PDRaG}VaGo-u2c1HS zg1^IUz*5SqJnhE5?ShdG3YAirhZibM{KXQrx>!R|P)K0r;wA(ew!4Ii6=R=afBrKG zM*I6U79&RYCsRqFJjh!Dg$=9h;`arZSz2aSbPaULWKKW@y;UJDPk|1FKDFlR)ruXc zyjb1ftXHplYE*P1Xeo4v=79a_H|QfL3K;54-|`%HNnoARr>C1zeVxr6i55vB5q(ag zLq&j^uT^@T(QN*5;fdkmCUf!UUZD`lSX_Vgcstn4`XnNyM0j;6APNanGxP~a?mHat zti`bgwubVK^IC4_{9Etdr|HR9=LS0fAUxcRwbwHoT+;ItG+*Ta2r@b8-H_I7>jSA5 zsJ86_t$O#M2nLb3+BjyZhQ1R@tVlyD1R$vhgCQAe4lSV95lGNJVOM@P24V+k}Q z(v%__H?oh^?E=Ssp+tQHh(PGV)1fTt^!kKo8pptd+A*=Vl6#@E%w&nGsxCJSvK($g z)R@0Y_4B-i^FIedXaFB`c%YP#G6n+;*^t@wjWq;<20B7dC1ABy+3^4UgEda*BY}&S z_s{AM+Wu|EY&=<(E_i{!9Gp#Ifdpyf zftPUEODFb6#_LI4$<#%1VgCWn7h@d^xN0k)_S?yqk%dzbX*o7Q1#-x}qIC_hevNEs zz;b;)#iC*>_X!?m4{mEG5d_m9%;B|8ZQN%^Mt!sI?R=^ipFG)M!6hm;V**{GnOyGW zh6Q9#mHmk7`H<25V?+m-MAqJIbS|PG2~SNcRssfd6_w(c+%nv{$?{8iiV$3}lv1V= z?o$H+2q#x%%(@&@R!Tnpu#!_8? zyHCZd+!cN*o9!0V`RH6H`^g(7S$h?8&;XC-@^uk#njw#_a0JD#Tm#8o;W!-pi*9Ij zoB{pPt~_6N-awCp!d97|TK0pX1|_K-R4ptPt6Jv*CEC4{qgArtDu|k35Dt&NtvmSS z?uu4cH`Sm<49Pw_+wMv^8IB4xF!oXqEtmbmb+v%x@*ZE0g-vjs?6dRn(QX<#i-kag zLna#Nx%o)GZ!}KAvd3t%%@WLBP2Vovk<7+gr^&~9MbU5jwJ#wT9RLBFseJqXtv8N_ zscOhzST{4Oq?YpEs$s%{o)g?>6E#K7KG^Gk2}XsqWe!f;T6Drmp-2>co&}<+;qEbc z*&V(Lm_ZeAB{BgxlC619!+$@-e36V0YCQ>Hu9ml>fa5#@v`vs`Y`|w~`BaWbA%XyPCoF8L(sp(M ziDs4}5M-36gmBjrd1sYpOKkawdFl0qNz}$+?``()_gAq*BmdZ=J36jYa0dhXCFRPi zy&!5KkrztBAHY-QPhYC_c9>fHp36` z#r;Fy&qFjHgM3GMXR+M2zqAN30r%L>{+jybKmRUvu>C2Xuq1c0 zB*;}FXz=ti(o9hCF(IYa+zu_YER{N{V^J?rp6_)1S%m5r;S4G_(3y!~b#PZ6@+8O| z3|h3d=%bawUq5u>r3(qw=nhEtMljtq1YxkL^ac+5|Bsa5omvZxpXmhy2EKoscdjbj z%J$jr8N@ymDlpNE7*_d+krF6(O|=GZo|o!SbxA6q(!L}Qf1sru+)oR_x3z~b7u{`S42qhyidztUdSF5JEt zfeIDr>-SHFZ0FnhifS0HhyZMhKDcvoXPwV>uD#*kWlo;=RuL0>&czHkZ;Q2MGYMW* zQf?TzS=i{Ie9VxD+LBjcEoG{$fJQ4qla#;-fFmcR#IQXPorruMAP=ysv?B4Ai658U z3K*I#bWi~}Z_BgQ&c!|XVq(s@&9n379c~P!i-?~w>XmyAQ&u$oLvd7>tXYuZAF&eE ztI5HP1js9*@>igoK1XJw#y1>7YsDXeRj-iDg0h+SkMn~Ks$;d}Qh6Rpwy)ZYF-bk# zk7#y35559*40ALKBTqLC(IfN%Ok<+2I_qSKLbcV4Z)wE&uhOeY~RmSHJb)k@2V7 z3D?6tMLJ6S&aL%NHsizX=&%IPI3!DE>%lVF@`mN^kw0z4kxUUH2nVTAqcJfO>sn>0 zNJC~;ayWYQp!0Y|-c+_8ifWO$-WW7?^m%GtnMrd9n(S*Zmg;edZ6`g%mM<#uldj9LGb- zW+#K)8B)1Q1G})ww#rtj+^=qA?S}^jEWrcBbT5|K{H?1b87Il4f8)J-Cqvp6e_ozC z5g0&&5oSmknMiDP!0Z56aKUB(Y7DQ{Ku1cbJ2gD!W%MWh5~BW}MV6tksX9tm+yC>1 zBCrZ60&Y*$$gzj8H?*Z8C(686P5m!)kv;jbM8#b2HXG=qO78DUQm1H48%%6-Da%iMpT;W%C;f>tz- z?wB2jNn~bF7#Wdxf6P5{>h-8>Xd0QlE3rCWtz@NiZ>?(QbDZgrqjs1TE@m6LP|CcW|zxTsWJ~`ci z_B((4(eM1`2S)y6JJPS#^+is%zjN>SH|`vLv>B_kGW&Qte!441Ic+EZcq$2IiG$fH z<@FFPtSgyTIg8$TH`H--iVo2*C|9CsNjAos1@CNopDB3X5eB-?wTP+!B%+gfwcmlr z-d}7#XQQLJ7|oc1jj`o0H-2ZLmCi&aaW^~(0Eu&dp+=d!e{db;RWxXl2dCLo{cqnn zS^;+kduu(EDhIN0Wo+<{a8~Q&H{WCl;MQvR$)mHgaeCwU=w~yFUXhTIo+l` zf9hVojKVLjyX)cZ(P~$2(q;JtF+MBvv((D~xqE{{Ps^Ba)e`0-7cO4y+;GO$De@-sEXX421=pN zdq!8O{Xo-tZKMQicfNlFjoumnF;lI$9fZ@UgnSVe0f*P6s(()fPBB15Q$51Z^1qFv^>mjZgkc35`q^SU>AOVD!``dXZ2=idMI8nGRq=Wo+Ma$io6n&D*?rjgzTt}lzP)5B6S+g zB3N!^A_H_{+$HR)jwhffVwFHtPY^&N24I>my{GT1uQV<|{iV)FFup|UU2H-$BMctC zk##H3QVatCh@df7tIb>tyGU`8C?_529;9safeD#n6-i1a8JQ^oCS}vU9Ut3Cg5@d7 zjlIBuvBIg9!M)yDr?1^QIvLW@dVT*W=Y8oRaK+9tKj-%T@(a&$?e{z9g78|zqCmUhKA$#=y!JEvEoo_XDjK346jm$BBVQjCH-RjV3nExWOt6t|&f5h zTCZgEDtQ&Xb)jsYN&nT^&f3os?f>mFqg7MQ6)M4O-SL5V_mTm6!ISWXld+d8)NBxF zEH0$a9UXq3i_;!J_y@A|JLdILAr+b^pTs(eOv8{});mDOtT?Wk!& ztv*(rSAFws+Z8_9DL*$E?1Qy@L~+(buk-Ixdg4iA}wI5fJ?rxOM2}Je59XjkA*hJ|6o!Ga2Lrp@)60X3VBrOF!D)pTpHLH5h9zN z@5&eFn{`gl{{Cw(29z35!^=Ev+wzFf>nlX1u5$n)y}VJeqHoc&5D5MaH%+ji%^vG% zPi?2?{%l61=#50RJoV21?Nl-_Dq9_%kwpVUOYli*l(Zs^DYb6IL7_R&R>bH&`2b_K z>Q!O(nK3++xEgl5t%2|W45?7+@ZiGQ$l;nN)F^UrAVI0w{e`g7M@I0}Yoo0-Br*t4 z;6&9uXG$VM1&;j2gq7Kx37SDv8L+ z#tLVuU^ZqpDE5K{HosoV{QmL_b1Kw+mphmR9eO|Q!nb+9P3mfG+ zr9xmTC_OJKIzwV3jZ=PJ1>mpR>2GbScBTFk+gik^2Yp<;}CJ_RK4Euk2!V z?;LgM)3H4rgPA(R$Hhqzc-cNcU>7IiOOlot@QWo&-o6`4k&d(FoDbnhTlrYW?X)@Df;c)pIT>HIy zEdD-FK#@Syrjhy*uZPpSGe+-cd7p{i=9v~MV=>dNZ~$UP_RXtZNMws#ag}==e8qTQ z#%9`;`M8@#pNhOr(~y#_(yjF|S9IuBKG~hTd35XK?H$wod~`JAWGB0_I^t@;@wq)2 zCvE)A&H+2@sB?H@%irGeE0shPu>#XW*^)=A^3yO zAOC9BzdGIiy+8QLKl)qm|N8CqpPlXsu81n{{kdTF>0cPZb2y?a6PbaJ&>QF>{` z9!J@}|LDo4_`TIl+A_cHk_@|2>orYgURWeeu5aACbu#2HHsf=v(HqM%mTlmj>YJm0 z3S_m0Gw3P)-6-#jA3c9461GdbC3Jo<1(8D*1gq%QMkLP&iVS_1GR&J|bs}dFV060; zULk5=8f%#nh5>L`O$_RsPFn1D)%*clJP_XlIt0|q zbW+1uJDaybM6H~X zRdUfl01hdxFN(1-+s%7wzhzXWG!{mY4K%S%>1@Ah#sA8Pv5%5 zkE^b8|ISs9_(J*>f$Au=P2-C_VC87)#~;-AA?e{ zw5k}6({bXUY}#(NJJc#e@ltA?oLQnN@Y=D|fwG)vOiX5$QWUQBzVH{P*Wp~>&kW(J zd2%qLE*sfxhe6wCXXa^K%zD0J2I{&Gu3ov%Gl$tXModF_GH#WUDw5ezN*q!$OX9tI z_s;I#KU%NfK1n!P@nl6}WjS$zpvVD`9VHv9zeMjgRKeZBzInX*;raC6{^_Ux+ozB3 z4)*Qa>yICu{YlQ>``W$easB??699ky;K>JTe6$_^{vZD2cmCD~zj<%{FP~iP16(O{ zc20#{m}C#9`p!|loAc;SA{qCsuActLUXAeDKVI}y*Kdv06@0I}2(`Vm2b|0vZ>QZ< z?PzuV9RK+dqPR|{daL+RHhW17YAy&$i7!lNctg3i6EFx_+pzbkIFW`Mv>t+c%L~j2 zjLKSKs<5c3&oF}`N3gk(21Wy0Byy6#>eZADV5Ta80ws9r*?dE%T8Gz48CN7l8AUfJ z8>`!{R52x{YK<1IMa;+`46T@_bhJ}|SIByb`{Ba&=EG36O@2ZKRj7(`FfAU57(4-~ z$3V2N%wf;$=RSITXuwFp_6nFK7p&z+0gcHd&J$-W9(FjZswjgQI60=`Mh=#ZvarGy z&56SI*qh*CuP=8XEe2sWZ`HT2Zd;3sZE0yy&fmXmPjxaV%pv!_UF+-@#f;A zL#jFTYuk^dE#B$w*#+3^hGG@If-)r3s#Q>@O9&DhgC*43e%2R3_jry_TQ#rDV}EX0 zKB$nDU3_QxWi0%){U6T~BO#Q|w6k}IFKstV>tAB2?sYavz(wu;@(??`ivwHh(v#Nm zM}=A%`xd$^>|Z0KdYy!qH)@uZ8zKVT3pd-P2*Ixo`yPk-IXoJGSwmH;b@hI1e42LmTVs_ zT0HHgLg_D_l>vF}yRwAi@{+bw zExXftcD|jEMx`W5wfH#tW~*`ZGRbS>|9UB{0K#+{$Zy?RRmXq-lZXGqkH2^{)nB`{ zS|K#^M*M{ynpu?(2pLRzPHYwjrH&U;ZOhb-~8b3zH#)&kDtQ_SdI&& zNjgckO5E1AZNKc~rq@_VmlyehsT3DBgfA((Qs29C^20A4e|omLvmUZpqRquw$gUvJ;vvHN%O}+3Pjn%()yng@A@n(9pTq4&-0HW1y6gUoO z(aVrR7+T4165voTj$}e5P+^83^4Q~u5sh!Gm6noE0-~HiOl(Y=Y~?Jq?fDhaQ#gpa z03aL4TE#@82D6>fg{r8NscxLNSpZ>J5;S!lFKb|S7jqNv^NLnSiD>l-A{3nlsAYtbmBGAxF8uk!C+{EUPsaKW|KO+p#czJ_Z@qQ$$4_=U_vbYL zV?7p^t5M?Evk&^~BLvj#q9rZKOB3O2Ebrbq`M1CI{wJrK2j|=ER31&^I;V9?dEZI* zHB)NWiF7uWH;z~T-gn;n{Cs@8Ee|&1$EVxVsf=C*vmtSno;xfcpt>gaOq46>)nA@m z>j2DGJcsOOR5f)#&NB?C6)vRS={6f`58g|Ah!kWpLGS>U>Cq%iQ~`$Qnv>AlzZ6g~ z1ISv#q=*(X}EchD-MjK%l{rFX?v( zB)%{Qn(I@a7K!aT#CX+?Nj*TF=v`tQ&TEsrgv|s4aS66`0@#8?c-3 z5PsrVfkxEMPwx(QxEj?=w6nkjPtcpMQ3T+E3KuXK?0Sk)0#%LKV@_haJdjtzL2N_X z6Y0ItOZJNh1AbYKd*!U0b82EaSP_z;IxY^yD-yJF_hu&VviMF6HP& zW!6cJdcy<<89h*}=k~RX!FDH0fA(;6Nb*v5tH^hI!7U=lUB1lrGP_l37swb?8c8=8 zk&?;b(#5obXNiPhm~crBRjK%Hs%N7=nRKqQJKvP^?QS=^dk`tQ*J&!2(rUXcaKTry zoH2w!WFch!d>S7>{_8OL&7fXR=G3x=xN z*=!}%C3^LuvMlyJEB?FR|MY+Q=|e)_y}Qnbh7*BxG9Z8di^n8?{q1{jCZ-SX-YV7q z{Na=L*7+0G|KyK;`a8ez!N2ph+kgCIyRH7bfq>9GiEuCVx(+sfO=Z^B>dQEP2^jmb z2%>blo8G>4{K4H@+o?X@?H+E%2b;yO=RsecHg})%B3O}Zw%O_Yyb!M-?=|1%DSQ_Qf9So1{cpB7k}VMyb|20=?Ma6 z=AJru(28Z)28RH&S4c~(-`8U)Y<5#rEcpqp6zlOtIMY<25n`n?xmF7ZWRFX z6>zoII`|Unh6G_oe0Vh69n$ZA{N$hf`4>Ol?tbNXxRVpEIqfPX2|xJaNh1Ho+jmj0 zw)BlR?(C|6e0u)=I)5bnXaD@8fB4;Z|J`@){NQ|dTAtenh--v{*dO&`)BX7JKLO(<+Jn6**NXWcrxT<&1ilxgk!AQ zmikIPxUkbE_i6Ogv1DU1`_=m=X8fCP-~Q};e6lN_o$o$7-)*XYc0L~E6m5>yspSY= zW;PczR)6Q#dY$a??iF4YQw<0$p%cKl$L8q*7d^NMg&{~*?t+9|vBvjxDMzP8dN`n`| zmLD7jQ&b%R(OPCP1PeSUrBXHYnDmruqWZ(!mA?|Se z5apC7pZm(;LAshc!0ip0c44ZhLKW%=O(^dIN8s)?vi{M?q4%lS(eCA$`(eY&E0Bd1eT`@? zIB_f^VOK76b+1NRobaVd#OG3^6aa|OU{5s?BJydiGfMmYnI&-Xtkk|g-@=#0uKVnt zyOd(D)DFM6c+CrMHvR&jw=x3emLQ!Mpc5|mrL$dsZH!P(r*-$LqH(HcrEF^5R_)}| zv_mcKsvb^c^jbu%?zNUe8>hA%Sjx$Awv>{Y8Qp8Lgv%4^7eq)#+pj9YYu#x#j%AwU zrV7ZtZZNDiQ{8NL4{|A+QjJ4)h}-J5s!9cP=u)eg=eUMtvG0HLXP^EbpFX)e*stGS zr>DEL(os$;#}6Mo$;rNT|ISqX$m~0B-4pOvPtM<6r$qlR|HVh2kM%$JmHR*0jt|Dl zEAr>Axv-8S;TO<9BtVqn4ww zK=sBxO~n(IC>kUhH6+ks8B^XT8E{7S2>_9KZ-Un-251{vw5KVlQNc7vh%frQQzm<&~vXhLzU zEhS5Sbtd0al=jW_`8)uZXUBY!FXMi^(6M`K=8BIrKnD9ua06R+I6pqE@+Z&}@DXqu zu$U|&93U{JrqE+X^-~|UhY^-DdQG=v$khTPY zCJ-cpx8OSA@&;dO5pd9y71iprc8|5yz)MDJx{+w+SYI-8h_Pvq#dMCB7Ya-kp4Cl6 z2d}k%(Oi%Vp2fl9?%I+U-Q zjrE(ihNINti`R(&k~t+e)uKQB>`|h9v2xsymxz7>cj2s?R84v@BXV#o)rHN zzx8J3^y#i}kKWx#W@z9SOUTKqyM{z2Zfav~c@_JbS}YNzdU4;B7u1|z001BWNklI}M+pkUpw4_d9 zBImGxnZ12${q=h%n^J3akUxHOp2@#D+dbHfyXv2xjq99(PID~vz1v40-aFpB${xTW z*RufiO-R>+XCYc_OKIU4EGqzmBW~h$@7SCNHw`XnKIm&KUUg+C+!JI zNQ5es!3;SxN}qubH63$1Av^9JArY*d{#AhBf(vzo3*)=5sr8R;9X=h}-ur5i&*pvj zqF{BQgd(kOGpY);XOA2cOwr*l>Qv&pn%7n-)xDRo9-5P-N{4y2By!^D3;Ulf8_+MP zp@oVGAA9L{CQxiyOb3tU(4Y_UHinZg!!8;x;Owl9IpPc9sb$=nnM6;|6@u_jFzaURjz!~0d9UB zX_BkD1nq=f^|5%B7p5I@hTE_L3OoqX)aEPb600CDLd|8$Q>m*`Yxc+xjk)Oj1w?tn zH)|e%s$(qUcHC}vqYPD2b&QjVlk4%$kF$@tjMVXHnW<2_(Y<lOUN>WBFL;q=G;B{LxWP@7_L|s^31!-+c4Vzx<@`N_pofuM&RmN1uMWoBrcp zf5(8o+LlYrY@RB9QCIx+mRT=UVK;fs=FUl1sfCyS)A3kTMHj~E*iD1kI@{lT`;EZ= zuL}!Z`H14pU8#?^<0VMrXC!l2V5)*^EcMB5%0{CZ^*7$Uos#{^{SyLTY{oCnM}R+k zcsdr{Uk`uh{rfrD*{;0mp})cb=<`4`Bvh_(6tu_!TB5;A4)0cM84oYD{Y=K>G>Xyj z$x+Qxua`r#2$Lv>6KH_BVJ`Bsc5#kyB-R<5Nvujp&OjwHKpLz%;iC0sy6iTM85cH# z_Gn^<)F?rn>?lbUK%6FudiPLdr~8a7AVc!#7J$Ahryjtf5rZ^&+i?epDF&$LN=GvQ zGgMmiBa2~ikMjK3UjsUYRE4#XLFs+RAUslfT6YO}bg`)LjS{ePobGVPP_1W1M#-4(x5Z&mfQoSODj}AC6N<;U8=Y;agMv)Y4mFJCj1`7;G;ASUDX3Y`{KYB1u zb9zP?rkx6R2}$hbs+%Jkm(dkQ?eb=OnjhjPUeZ!=z=dy~$M%7uohEQtxOY26+~FX0ZLJ+rFbo+)LN^1R`d0Kq3SzB zqV8EBULd|MV{(Y^wjG@4Zjrqs>iyfY-U1<4Y0sf8vFA-t}#%=f#z6G&>#Z$?*zLeXKA2 zy5>xuscLd;rurqq4>wNydezdsfv8skv70K;x=h?Z8s5KsRG@F%KMwtA)&JWN{l56?r8DgL1Px9_0za5Y83k4ooRG^b$z;(bS0ojdnT3hw@V-e4 zB9aM(N)V|b`L@C-)n?&4l>!fqQS^NKVgsmD)H zk^rtr&?R%2p$3+?oqVhp{pO`zp-XRGDOY}a!^59>>gI3@fj=n&K z(g|n{7`6-ma?~LTtWnfx{*_x=*RVr9;U8Fxk|qvM9|5K%rFSwCDS2@j6GX0FdXt6tS|br4ddXrspgG{etqU<2m@0PBfE3kdvb>p$K#NMhx_Q3hVlb0pxRQ{TS3`mJBgihLZn zjsVVzf3zuMy@_STo%}?!~>RG}ATLqy$PZK3`hM&$Z0NN2)HDyH8Wu`Lubm-Jb8JT2)k4qhu&gr5fE; zgmUtDaM&fj=iAcTTc~{(jCTUAga{%VHPDB55nSHCC=aUZ2ui4_y^BKZ$ zCvtzYK%xfYj%*f{0j300_Tn@EVrARf+bpPnKq@B{wDMdEnJ_~kh744j+yxAV$>*+G z6fJdv^9VB#w7H2f4qTi#gsp_qA@d9qtiY*c40<)HMRIV+ z$s+x*3h(yf(#{bXWoAg?mWm!UN?R~!6y!Whgw{Y_&f(Vbk$t(&a z5H+r0O&IeZm{1ZzBq{`dpb+8*pc*hhAc0gu43H`*feNW0rOKwVGAb)Fqsed&Z_KTE z-M!yAdokGO+;^Y7XYS^0xQE%6%k=y<-~F1?>}Kt?77MoMGo=k6{H1(iu9cU)XpXh% zTGY(WuJ`_*_(b9oEekukhy*@G-U;BcScLxYSH}TN&ykYQH74M+#_NaE*N+x0%a|W& zy|r8d6=(yn(n3n1cXK#OtJCR2kE#f;)aCl&;q6UXVYl{1M1um+qM=0yEgyJFDwgNR z`v(9F+`lBLwW!;98{6}Fv)Rt`wnlGNk(oneh^k?1Vuf05+m54`Nyb7!EhNUkk6oQK z`^~;TJDLBRpT7Ht?>@dY*$;1I-TGP0vV|`%BilYkuJmv!XSM$6TlatOwU_U#rq=ZO z(c$T){``Z-1zZ>V;m!5``QGt=_2<9&2S2=LYrb_p>*@UfHLx_hUCJ-d&p#}z`EuB` z*T9jeB9c`_1m@6r6Qu?;Wq*#|I9#sXPHX$#t@Rs+%ZJ>yL0Y*zuCa;F zy@~euwqEo|O7Sn)o~{Eh+=Hm(u(K2rmXrYcz?6dR1|#OC zW>^@UDW(eorVc33XdXbxNFe(`dUn1*W+=p_%G|_W0M0X~5QGaRnu)EScCJ^9-nzSg z?HSu-Fg9pElae|q1x3=#Lro%#wksH>X0VYiG?+1SmSWdQ5a5Z3aw@O6fjBvjm4quDcj$=RI#P|N$W1$==8Q3?uSgxOFyF7SYe8L$clwhpykeUd|u<+l|t5jTX= zQCLW<)%<1m{xxQ34!782K53Uf#@#GV>a8|tT-aM*YQ!9wb|0Cf5h_Q6dq1)R5VwJ? zVnM>FI+$U0^q}Kc1-K6{9~}W$8wSJ=7#;aQM{V`_Hh?9&()hJrY%`y4Bbv-2w;Mr*63wN66(Z68wRO=67aWZq6+k2p*pu@uGXj(G z&4Wc1{)b;a_#c0D|Iysue1>M{U)7*dv( zuj_NMCp;^BB>4V9ZStB=oj0XG_BK?d+H`AGUO!lzw^%rT@6Mr-v-G{2>!ZoeTdax| zT1e+DKG;?OA)IV0K0zkr%e^7~?$~EB5U&pa@(J3WM3S!4$E7T`W0COxTYI2kQ=xl-ZHtVMW!5Xh0=~ zfkwE|h&fOJIarf;o=TFf$m{BAR#Yj1e=@vU~rDg#XT2-cJSZr`&bj zi%&fD{eQ0xh^vEXcgL^VwLksDX*}cCfvxn?dhy*`2Pds*3p>_yDqo;1FcFIhg>dV6 z{flD^afVvJ83D*U&c_UO3mwC5h6rq*a%o>a+eP4Mds9*xW9jO+7++z!OOeHn5XcHC zdSyU+UunPugUASuUkz!9bF(&OPYi>Bj=1l`M~If~`(WpUU}oa8`yZ)9j*MMoLhjsq z1f*jE_EFtWIP-67L*$&DOE&=xrt1gV$GY>$-1XAZUp<_jBM0*-cC!VA z7AntP4C$Lt|2#>GbErkMYzv+@mA*N;dwy^;R%_CU|{r(?4IDPGzn|*hdGkpi{+u>O9tg@h)E5Lf1j<@rlzx&{Czjk+JB=Ehv zHv@X>;puw9Wc>co;-9^L{0D!kKlstTZ>^`FpQhmNwf6~|rcG!fn!wASy6_f03G|I^3wVnM~jEs`pSCw z?HkLp76gtKCA$YtYCN6;(Ajxy0(O9|PrSFOx8lFB&)3+a^iOHeqywEFgvw7Ni&##gT_M;w8PAliJnGDl%n(5VK_!JzRV&OcWYG|W8j6!{fnK2CXy10i z%)~3T8(#V2X@6h4#_`I(SKs^j=+LKEGA6M+tOF( ze0&+3*$}73glPt}7Xt*eQBQq;rIxl#^Hi&&5Vp;mL2D8QtzNe-^o zc9IsCqKhC}Xfo?`SEN#UuZvs(1ZUdiqOr>YpJz?^rTV8g-?$qbgW zDkFz+SOXMLLkMk>TQ<{ccOUw?B!HvqcgXJeLW_K2iC`pr?qNHLILlN8g!NJR$n=jG4Fv>jF?PgoIYR%1IssAF7#?HIpw6y-z z@v#snzYC_JG>6Ur6lziDS|dVG01o4Y0xLip(EtfR5o&G%J0A} zn|=SgzkK(9{q^7yt73^gsKPU;q8@-u=e9{BomqB?L$ZTA};r)ml@kdGBY703#N(MN$_$ zWt|{75oK@Cx4`Bynw~(FPFuuY(m|4wch}Qo7IBR)9+Dg0I9%ObPucvJKKo#))+~JQ z*81*hI<4)Xly$KPowayeBOzXIpKkS;xcg6BvLNGjy|_?9`buq=Uk&U2G;MC>eEyU% zz|#YOLB0W9p!~0Wn)%|6Zf{=!VE6vWw~ByK22~>1id(VHwcmol&V(}=Cc`YKj&OU| z9G>eFB|u$3M<5q&#+pq0$Tk;~$t<$lw$~ANbUppFx+fy+U0wH<#swG>QIHC}Fk%6; zdXWcBiy?9h%E5?;1n)~BYR4R;kdpOB7x^dxOnd}t#l}!3CPZTdA3Z-RAcE<HoZD2DKk{!h4? z6|{3{CS0GTAj;=&gb<3JdxC&LEFccj%Y7|70c5mJ-7;RxCK&5s_{D%Cup{S{np!oO zkX*M-XpoUa698KF-*;t;%m_#_0Lj6Gpg=@+Mgfhzs5k>octmkxfOM!`q8|WAG$}@0 zlKxD7awoVUbowShjY&{BuJ9sA7>E1RW}nSren;%%(5hsb*I+UOj7|{j=?u$$0BnzL z!=^<&i#Bhzp{O*9uEf+j3^X%>ZnWZ7+?+J)*uUq@HA(vafDCGqgiy4mT3ef&5~~_w zZ$nJ*dtlHn4o*O$T2)XCmnpTx5~vlKTG=)G{vW@2{EvQq|5qQS?EB%Co3?OKW4L@( z$W-6%!|Tc4J3jrFzz^@Q>FMNAe zyX>h-crdp&kCuP$>$lG5xKh8Ple6MCXWMtq=3R0A%FRYdr*k`=v+bQy92CE^oP-Ns zW)9t1_}{s6P-tzeO-)!hzklmsU3?B*k^SgdjKktfx7_5PNVy3*sc}++;KS|w{`p?p z&F9LC6H@V5mci2aoXxQ>$Os^u0C7I=Rm47teOLgnciap353l>ZU1HCG){|>JpDu&K ztoyMk?@nbIz(~Q$ECsuI%amFOQPCy}4OV5?iRq5)w<1b$mn3sBs4&yywyl}vHJHIB zhn%hZ3JRi-9(g!+e}vu;*H!(kfK*gU;1m{!V$9q;X;6&Q+NC6g;;=@l5=?AS7{h{^ zWUi3W;hC2uq1G>pV55PJqTqzN1!PKY!d*aZa1gaQNSd5-at7sh7lLj!`lNUH-n>;|a6t`jaEG@+z?yyQGr7D5S^gzA+w0E*P@y_H!*VOg zyAgx=swICqfU&)HWu*YghVB};b*4*#0X3k7lng@b(tbdgxsb$4EeL>Z$U!wIn+ZtB zgoYN~uMeRLh~B83tU+618(Qa+8arjS0c39jjmj7R5>X@BJm4dc$N~cdwB#W`5t?%H zD;b6ZsE7-Vk56G=sbTUZvP{ibE?}gA#VOEfg_g2zMwHmL@a=Y00PyO&bjtyub~of+cG-s1V$+i(SQu12T@T5AIflbd3aV_>v8fqVIa1~i2W2n%L% zVJLhUZchB>dhxT9`5*rD-GBP-)(dw0(NB`T2{_cUk?RpqI6?S0&p>1mm^MCK zgo`cIXpnT;+F4DO!E4UU$Zf>C=i7Hqw+$rFBJQrI@7!EVBWDjZVKUraPDV!L@&l4h zI+5JJL(ZEb>d4aM_FYkZ!*{?klgh@B_<#S-{A7?IhL-eCIa7OVx3v;p!a&l$Z5XrA!0l~Xd+|L8O{2#n}wY%SfOjbcSY*q`%;E{YW+P}!YfC@tn zspmL>3K+vOSxG@fEeU><#Z8)aP*i3LCKwJP%uE>p8AhZ}01dKC&KRIDIfbA+P!;)O z&!r0@!JXz7o3L}hdnD_F11ASm>^(i9_iyB5%$UIpY%oJUa&Dn>*#WfukRSgN8sTgZ za)f1QB(F{y;{YD%QKtSnbO?3gEpanv#@O{w6m?e zkVM3&WM!Fb=nTYIFD`OMLKACb_<>?50E9}+qcteM+q6eRmW%)zK}a3J8@gVpMmJ8M z`hAlmf?;A%v~26&&NW)>V(u6Agmi2^8L_J4&5#Z`}Kv0owV*4C+K<{kZfu(l;r8z;AeaF)b6Y<8< zYv{lK+57*?+YgUxd-HIy{5Z|NPa1dqMA$z_-vLQvVv-l~eR&aXcCf&EkI(+X{6}BA zMWB%1xOHUUPv3nI(hu*x{LNbj@7MZ&o%1*DuemXA1E0K&GP00` z7kHgajj!B2-6H#Qv86b!r(WoN5;}5u+$f*}RKt@Qi8D*IoxjW!G;fUooVNFpQw& zKs5C`JA{9eC@2f;ZVFVW(IPM5C;D;fz>d9i)tP-q9g(D(N+X~miBCtB@RQo}IQc$1%OUCpH#q2K z>nRqKEsL+*wr1w;PBYegRKWlTZHr`_+!s@s%%;U+T1;h8+!GT-kY<*o_`mH7{o>4N zk^+&{W6a``;~+|DT5F}4`8S*L4b)4fbo}OEn8juWF+y`RG>WOACJ7Q-l1ndGKm{sCv8ogHp^A+FJ7VXo zstKhrI@oOpKan8LwyGf~fCvnbf%=4L!g27%L;)>x#F3%0#Dpxt#0ttJP@M{<7drAj z?5dGlh=Ml&2!+Tn+q5|pS=ji*w_QC^`ocbu5hfe$Pb|f~#IoAq!jBeqJlWP++*KBp z=VTa%(+URVW{YCea$2kw3vjhsE|<&2H2GA_9U~z9wB_@!lu0r($|RA^%#G$HqbQg$ zvVMQjnMSm*9iKdbAR&+rIOL?83^;TATNBLC(SM+Yfnl#~HMDA~3m;<(Cg08}WlzZleW=@87${FeqA}1y{t8u|n^t zygln)=nbo{Sll+8ljk3WVfhFbOi$$LU)T%#(%I8!K+|LI#!GK?K&`I4XoIygosI5z z8mKeAiDRT;FhlnB{Rv`d2&}6l$HG!Og**aY& zvq^e@h{C}c**geg7BZo((6%M3tpG5%32X%c{S{!DGg&Zd7H5gZ*4t!I9IakxjSC3r zw8AsE+cj{5?E*2YMPnCpQ%_#@-e+~b*WB7|geW1v*g~yguCov@ezHh!S8uq=oBYC_ z)s$0`W+*gs!fiSE!6J?pel+>EaIsv(a)DCVB3EjKoCdD zOA(Hy z{r~;#$A9m8uYKpn`mD7d-+Sp#-g@tJo{tvOCq3EDucO_>AN2pbYVFmTWtX>}$?RZ( zpMUVEDSq_IZ40c*wDPiT4I z$p9cX=A+_wSBryw--nLCO8WzUd za$>VVE7k~$lt$>}MHQH6%<6+2D0vROeQ`&+>YF)kFUogsAN=!QJ!>%~+4 z%x(XeAF{Q6;@IO^zSy(;>Md?sA_z2uBUvNeadYX5Vl~iOfGW;5Yo`pCNOS=jl#sDQ zhkex?h8~uix1g(w?zM;twms0V*y%5$$Myof!6MWe1U6tB&0Qj*vb8>TQ$Cqeu-BRFgjsPW0{zq8{}=XYEFqDWh-rgO zww`=F`N70_;fIH7n^xP?X`9f0s0lM*;Ci`O9t+;70Q!AIlkVtta&CV9KsUWwv!p`GSh)u-bx^?hR-g)rL4<6lJ zO-IXeH2IJ3-T4>4e(!Xy>#2O)g;S$(zwQ=YCz6O@ti(^-4zgowcbsB&xG2ARaNL^S zeEH^jDuaVBa?fPe^8ur7g<9|&_UB>0*y^6O*DSu~0peJ_Jpf<*K{E>5AKSj_7yiPo z+BFq`ZHrqsmfwEq@Xvqq(1{Rc#1gK-xhM7TJfV0tf^-^oyCyq3RmY%Q5OwXv^FX?_ za+5b@*1wIN82}}tH5qsLItk#8najY0;*ksrLP%)twwi7lOkP+|z#U56flfF>i_ zXb0GtjnuEG%o%k(dZHv&5@ZA=sK9zk9$?b(6f*Nzl7K8{r&ekn^+Lvv<3}9GJ<3Ks z!gh02Z~}~w83~z!+Gk?BBkj^G+FOaQ{?2Zh(WTcunLYa# zyU1D~9Cg9PMwohKX(DK>L(I32HM!$0Gxe>d z0g1uLh;KS)XKX9y?s=<*st{nEqgEk1B?2&J8*a`Nx&Y2V2}nJ`UjuV+P5_UwLUW6# zeK}}MwG1r^Nt{b{4hL&i^aOPVArwOg=H_e(NMU5QbC4R7JkP5$istk+@PZ+<0olxu ztZqYH+aPqy1WzqSkWz)sr*(w$JOCOcU8!DO}AdcDTt&`(ZG zq(h3-EvWa=9qmn3hwSikZ=j#$6Wqc{7rLW!H;~VeZSa2w$3=`jp#i z2vlSZpuzxHXW|bQTQs+#2$)1Ttr_gmtlzu6`ugGWSC39#JzBr%Hz&87tLZy0-}42H6LOu*v0&CfuBD--bVa8uiqU9p~Jmc zmLW|NAqPThXiaW`pGEn3)z>WEEbX3!J07b`0DUG_2J!S4KNJN_>;jAXjM(Gt5h;!j zoQNlJebwcKeWmSc03Za?fsElLL&-B1r^Z=dNz6-%<&Q$m0fUB4R ztr;d~0{OX3PVk5jmJ_iN1QfB6q3Emxu}jhiSzw9#gt2EZODY|9t)B)?od+nD3^k2T zP!7+#rwECQj9<@9YH&pg%yK6sQ;d#e1EDH4rK4?@+&~VtR3w0bpq$BFnj|VJU?C%k zSppryL%^9Ef@{k zh7y_;TMNq;`1}O{z!qqRDa@+^9dA=R)sh05=V$^>4iSQPrz;2Dts&+%mvfi2S}zXP>w_EX z#pF)e!rf9&Hdk$OkJ;k6GBSI`7?Ky~qLezBxtSM(K~+LE(!xmZP$@516(_y8nJWZt zqa_g5aIW_1a{AkMj{fJre*YIAJU*Jrt2Yl8@Yin~o^I>U?mxV_TKLDAPKBhIBC=h_ z(A#^_S9zh=CwR3q`^3)(Y7)VP+rkS*i6EeDQ-KaAOVVKq5unK&2rUB(A{_6^e>3~b zXm5CZ&GoW9ssD5BZQf5AUENj*IB+JMDuKjLUnQRDwp~fH?cagR0AK+|6yQZ0fi`?A?}JpkFIi@kbl9GB8B}78uzIv61BI z-jNI+&aygEKP7Z`v!X+GGz1U{B&4U)$)jI#@=KHig%bcQ5J^>y3c#?)3F1`H$<~=x z45l!IGs)8dfa*OG0+WN%I%R3VJV-}ks|bV`4%D2ROd_CA70ev+Kqhxn*r+L5mur$4 z=~ow*aVLPwiZ~y>*gUa}e7Ie^BwZU|Tw7MS_A5_|Pj(M8)AiCAdX(CN6=1+B+5{ud zw-KSzQ-P=h3m~Bh(a-|X(1w59|J}gvfQxK(=X}03x3Va8QziN2U()0VtqHZE$EJo& z;>{}EE)ib z+ejP`qK#>l*tLjC4pmMjFHmmD06e=9(%(?V_RtV3GweEf0EB@d%)Er(uRE%fUD`r0 zA)0mIUB}_I7BNSA_E`9uTMpnw+W*tp?jH7GYOo@OnQ7^^HqHg>g9Q%{&X+5zD3b+L z>NLk0YF(9Sb+}qB7n2t)su^HzIV@q%t@odDF=j*ykw%-WcyUsz$!RpoL|7B3X<=<% zI*%qEEXz^h(#^~PZ6g}3RWuT`kQDgt(R#fsk2dqq?mu$ptA~f-_|{7|9&P6Pr)M{o zi)YlswoWic(qNHmM1Z`+RGRs`kKVD83~UqaXgPiB_EEMikwWmj)6F}N&%b_a{l=~J z(NwlAHZ7d&T0@SIEN}w~;DP+@*>2VPMnNG{NiFk_=osJLSk$wiG#3+HiR_=ae6CC2 zJ@LI1IM*d1(p`}AtdF%{?2~KOKv5vnfb8HfK}Hy~70#5Mkh>aiKN9=5ddBvB@!z-l zZPc?DOWN<8T@wJ17(IRf=upe?k$|04o$7_Ti)}7ZwwAT~{-X8qs6NP$RF~?X&tifc zjwr@WV;*?Ncb|nhg9n1C7X%<%3?xaQIa-57Ptz~JSqM||lhH7$zLDx(qoXjr-w{8! zI5>H-GChJ$O?!o&6uONVvMtu1UIv>KJA%}ZjP%#+=tl5+A@V}9QJFE z@Zsm6r@yuTdM{{5(L$5afhsZ-6Y2t`q7GhvfSZciX+t^$s7p!(s<0L2K>E!gUzhaBPdU5ao+XjdHewS!aJ9fD#4ZHZ z>v*w8Xx9QTY(hTwXumZyp^6rm8)|e80H$bKj8aKpTEM9QY9{R)GQOOFo%C02s5bid zkz%h1;M}sIC&Bq0uEQ=AHl)6g0(aboatd@Toe)_CORgbhUF^cg>(|RmL!N>))M&^!~qy0X~6^XVF{B(i^Hwf=`lGSPBcdSWa3lv7AbSO^j$XVlE^X zi{)~)EK`|$YMT&XZh)N6Z|)xe1l52<$;^T(X6{xNKAE$)yDh}9Im}{xP_(_XC^uKr z(W=~BlroX>IpS=tv!aSy2@28fxA^hRB0Htr|&$_*ZAs=R{RL#E_{i(kP)Ph_%nD%0VikHJlvu}9@2 z8%To+Q=bo!ezRG|#tT%5S+*wY)I6g;!OT~)w2T}n55^gBWA#uS86F>+pFbB4QHaY>? z7Hr^M+HENqXK{9X0>c|WdUIMW=Ckd+@4RvUSMNM}=i$+v8(+2}Ktk1Ou!iKy*6~)k zOZCV*$Zr>_Wl!xKIB$r6fEk3)stC+NRoARj^c$E$X(A8|BFhE5C=n`vXavQ;R;nY^ z7QpDSM{P-*m2Of>%vRoG+p)}!BT2Q>j1jRXyy1T@iai5N%{A@ z#k?=~BO8k6*85kM?*$U2aN*`2kIvYd75CImERJasC}*YN@bG|}S2uoiINdlZHx~<$ zEqFG!Obj#&w#=g7thR5g7vDQt{(m2wys@4hZnnRA`1oM*TdV1CRetcbm;UJ2@1E9r zP@XP43Lv-Vp2_L?=j_+$3B`nA1~3>wcftD;wi7lHP$L%ZuN)m@5?+AA?w_8Y&h7SU zf^fWTAG~*b+qGK=&-tcg_yNkX+}? z)y*g-V@F?B&^y#HMm2DyXt+-wHvWDxgSY=^yTAWr@D$TcFkpz*(fh4a5+(M%BZf2fD5xb!bEqaS#Ez@5WDo-- zvFQFZ;ofNyFv_ej6;86w$R3pl;Y=WpET=cDstStM5-a_<+ z*|le~d+WnbDPNEAZxvoWTrMYT5lD3Vip_=EDg3>mIZD7s+>{)YO=t}*IwrCP+7@WQ ztK+64Rz9Rwv!PtG5KX89Pj3UkKLf;;a-$M5q^`}8&o$I6 zjE1>I@&%=HpKV52EpQ_U<>Y96k;x)JS|X2NpfMV2Yq^SKOHxoHegOn|WLYiPC4s3f zI)*W#q7l*_qcLa1R#DKIzdmGGzOc{9x?i%_os=xg1W3|pAWdH2R@_Sz51-vhxQ7>a zq8Z%G%?)&97KMD?WWO#fQtrgCoRB&Hg-No5i44?D)G)WQTA)leEl?(va&qv}V$!|3 zxP4vFufduuX#-WS3q6)%t_#nwS^PL}tpF0CnS2WAw4ELsAR9e6+r~T1b)kvhCd7 zJ=r)|k~G#Vq|My^^8MpqKRkQ+VDZ|GgIlXIgWKB9&+E~R>DJ9Ppa``Pgc?z6)Ec#k zPWFyG^!~~1h0%#fX$gvEZ{2YLh~_)KB#o@s#p=2D>_57?_(j== z|ENCnGukU~5O89aYKxvV6adAXO(al3OH6sb-~gbm1BKLiXceLE{qr^8hH%b$R?kmP zzV+|^;FWK_-fBI2a7+T?=?5pb@4bBQyRZM^PyXuG*Y51e(tjz8Knu)OGMQ+=CKGJB zv~%Qs&|UL}*vdO61`w#d9Iqy&bQ%K1ItV9AB__0)+3FX=v(JYkg;GDeVbgMwsdL^2 z(0Z#GFgjO~$p@k`1>DPjsS0XLkANA8NKo`_ee5<(QK9Uu3k-HIT_hs}B=cui8OtS( zsDZgcJ&gZCpVSN68AnEG*MiTX%$&>&#hHM9x)qwNn3*UybEhgwftl0HtP`*acwW8# z0I7o&4whUv%w;C`R=Kt9DK_st*gibCX@@WK=D}(?Ey`q0&W+$}3%zz@vA((V)e6o~ z7@`JCQ*lmUg)w<_p}#)c{@qt@{^`TbKY8cj4{xm_+TT1nxw%}vaqF-+zIppdp+9@) zz7Y%eYvvYrPJ^?JQWYD$4^6rkYw-=+Jkw+YY9J zU7np>Ph~01t^WG)=Ka%p_pp5Z=6W@i+JM#yYs(fy7tef*v`4yyDIG;dH2?{kM6M&CN5cIs<;~^509ah4MGu61e5XnnSbDg zePyf%03+06#<-_V4N+{squbz3aLScQySQ*5xI@?`Dv0ibWrQ#%NoA{E^5P)8&*&I& zrvXMr>iPEO;C@6m&Sim$WFun>Npe?rdgSX@q? zAgm=Oi6(}+2mr>pF?#F*aLyuwA+mL#O%nnp%2m*yP@*iHy<1o*pqOsQ@Wy+#Ux^4J zdaJW$XCW<_(i8a6$R1;z-b2skGKRD~tUg^-9S4whAspR{(jTU+#$73S)3b>-cw z-{qB$T|KP!zW9u%dhuN$_9@&2y0k)UfGxCzEf6;1t{DWPr$LbE6r0?93?ToH{L5k!CRVEIy zNxoVp^a7HBDeXZ-Ln;mqjOCNUf@^@=X{kMvPCgf9t(_iUuW<=~Do%^c8FFnK7xMElwc z`>gDu0+8ybAywdHTQ@b_I}MFPoi!%gT{`W2zMfw6g(F9py39uJg(afUduKmk!ZgtE zqYe;eHj!rxpNLs=L^12LBSccYa!4~O1|z0oV2R~2Cjk{htI8NQ#EKwO>oghzz#=-X zApMC9bu(m0Gz6{t=R3}jixPyvL$KZtK(cyMR3yKVT!x6DG%4G`S1s{6J9m7qV@F-C zR1IO7#2PcYm_-RRxzJ#a#83%AHxh6Kjifm^MAv%nz}1KSku!L|P;jvf?b0Mq_v81! ze(fuK`p2$)YxleRIgXF)LsBpM;^OQY;NYuJMcYuvh^;I@2TMP+)U(IRXRv`*z&)ZM zPIUV4u@K+;J3o2(>-WwdpViI0=b}i)y4fxdR$u?gn?L=(|MW`*1nM`fsfD%{E>0GK z)Wsk!(rOoXE8nT1(>Z$rtwjxX?<<6uFCV?vi4g&Lw9X^gv-~~bo}a9pRtO_K#y()X zSFb7?AI|5vYs^m#2OHFo5F*|5Py_%G5$u!$M3Q0!*?XM{T-Edq!U9HkLYfh3YC`Rj z8n|vae+<)woXHFO7}jIO3<8OuvYdmSN0DSo%%fmn%ZHV&n9;!M7R;myBD?2+}m!(hdytR1m*NgYw^#}K-2lrWLEhd&SE!~%^$&0yaNOCyn(_&Q)SBtWm zcv#AEGP)!gh_LQ78a&v7alyO%_E}w!|HY49`%nJGum1XE^R2__@n-vP?mqvczk0u?TA5zPMeXMIURmC(sR33;QrD4sZQU)P^b0WEnpXsJ5gIW{nZxIt>C>G|we0=s`Gar^~I+AyXpBzV+9-p_9+9qhZDvN0XbiQp5k2iw=g=TJ4nQZ6E zWGxhX;fnT-E+9hcv1|A5J?Twztu)luBH-+RHwOUL7PSe)Wab7l#sCqAI^Th1z|d3o z**<{_#fx!1hQ5*awO0U9Y(FF!j!$R6<9fjbvq1i0J^Nj=y&eFiJffQ7q@qPiSltRmSdG&-IEsANu^ z1k5E`w)C@*RYA_yvk_5HhTss~FdGI5|E}eyQ(FVQ5rMEwq;}2A$&5C70bo>fSUA{# z=75DKA5%*Yh#_;gVoDr`vO<{(&6}py@8vUj|5si7Cvqy+{{0!+)?UA$qG7wD)vF1M0 z0Q6#@_MXi}VAjUhTi?0c_*AFeS0~aA4zEp6XZE{kFW^6gz97#pDMiLYvz!wVOB3UwzX~ANcWO ze|$2XJn-X(t<^(epxW^;LPi+5YO`@xjtxUaug1`{kRDH}m^v=eL%Vb%qXDp0gPvVz{%g z3-3Sn9t0ayNC#SH1H&a&yAkq7)QDFO)^`pTNg7DtJlflj&YbiQAtkkp-q{rAb3Iru zR*M2^yNyRD=aQ1$M?h=MC+j)*WI4n|VIfP493vWCvM~7vI|?&|)-+8Co@7(Fv3S;} zQKj>$v$>sZTWtd6#$qhRCg;Mfn2tRT&Hw-)07*naR8xwi{pf{U)TZrRtFSD2Ya_=> zs1FJNZY+fpNt&AG!RgptsWI|e$iTD4c_Ay$kb!$)Up2ejl`mx&u#GVZAu|uP)>#t) z$Z}l1 zuLPL-nn*Fj4@9To>C8J`IwK)z^ER53M#RNo(aRJUyF;YHfEeicjbz+u5y)%F2w4gZ zWk98(aPLUI(kf$FUzxMrae%XLP63!y# zIn3Y_=hh+n$osM9!Dx6$Ipd5diXtFbqwlp_pbmmL?zNYvFXR;k?C`g7mvX`gJ;X|N z1t7OTG^uq}Fy+qQ8b$_i?C0azXZl~`ce8DcxF{i{f0b7>1DUZ(nleP!0N!o;kvO?z z4gz+Jz;iH%$)|PRcS>iU?l8}xafFMxl;`AUC>a%_E1m#zAVQMZ%8VK64=rExYB($p%~`96sv$1>7sWoh};?6 zU_@;Y!f9Pw9t2d3t>fAVz=f*hx`i1D)c}Ab!pkEVxy$I7$*C3@99x!+LlVp=H_)_g z?eV#2D$BY$!i@>*?`T>P;Q871(eeEDTkRKrwcMVqsk?Eyp3k{G^OJ2^y5BsM->TD8 zAcIhVhRoRwj9+)ZcOzT?rN2I%e{f^@U;g;j|MZXl=Iu?pxAb?8PZz~jU-Q*eR=|(% zz4XU#y>~LtM~ea=1qi?{Laq_v^y#cljk$xMGk3Ix2$;dhi=ti65CTB0t(f0EI9QlP zC_<~^fAjF{(YD=~o=Qe^;S~@RH%%>~wbrVioz6)%K8F^?oM@rrO&h*Io+&$fIy>i3 z1V|R=qFBk~901^Cqit;xw=J-VVpd>ParrMM-(%2C=f&l@1XRB}Dwz8&OQ%QYc zUv0Z)ChR3gOp=#iFhMmLM8aj4JF0rVdN)-GWk%34C4({$o5+-2r~c>>yqnyb1xz$6 z2DMN_IBgat0vH{N>V9f&5;AqnK3G9PX6EKlqZOD#IpfR}<^N~zZJH!Yt}C%~uKRnD zksnpn)zytg15E&gh~bwcGs#9~(neb87igt_ATuq-Og55@QKOMed#&^fwAWTU%|@K9 zOhbSm2ONT&#z%j5ePmW;#(RG6(c-#CMpk82cLO9r0_BUU%!tSr9xvW=zxUj8&LyK@ z5sul}2QlJo-xGlbz$Bzod1~d6ctu5x!M$#@+uX;KJV-}-_t`I^6}ahM6a>IachTD<#~|PdvfdD$GKj&h+Z_rD8%8{tf@Y|aa$j|nl0Z`SneKTVAA==iJ23g{ z{N%<|(^deMA7tFfgel!3MGdES9egwqtYh8CsnJGL5(!9^6BV8!hwMfCi=X-DCjNSS z*};xPumG}=$+O$_f*?Gk5YSdd7?gZ4lHth=Vl>Gk1h|q^F3B+RJ%N_|i9qTMyn~(* zDg<1Sy(U5^kdOZJomQ$IaA$m%Hlr>u(_I;RJ8M&4`m=4VMW?rf1c9Crdvq>H0}L*d z5EDoWQ4notZm8Bl<@BO42x}*V=TS&_z#>ePk&9#3SPQraj9OqU)ohwHPh~Dwciwn^ zdv&pi?Y7=2u??`-oI7rTG| z?$Q7H2k-vTpZ@H#1@|gHJb!lQX#TBxXESX(*&lxG{=fd<)2B;2o2Q;`hlr5@C5t7I zt#SOkFeIS#C8NWF?8)}n7y92h@L+Rv=V;DadokO!_~86%x{dvRV|2JdweWZ<04{gU z#TL)Cm8hQwb3Idkq`RNau-Za+1v;eGk(kP{{ z7zzmQT$>Uwqbw*x(26R|OSmkTcctsSj21;bzAvCqLM|%8S?g>Pd*?bMX44f2gAhfi zHlb-)5}_8lV9*8(sO>*Dlr@U%&zm)95X!Ow0I5I?BvfDptO-prt86J(V9DDFs0AgM z4n$_@GLA}lXi>+H$}mwuc0U0P^vF_4svZHTkY-)cVC+(2!epgRSsS*}?M-dH`VW8S_|8e&Ef3y(d-;RKD$^EIO;*bGBoRIR=$DYvkuE!BtQbxbDF>BgG&pE-IanZBAQ*w+ z_2{GvI-Y%IeRg^0@)0kuj_ho6e6ns%m%9%h9UU)j>*dq`{4f9I@1H+f>wO-}hzO=h zNQ43bIustpo7cCb2K@Q??mvC=bG8Q7WtV!vGxK?Smv<&T& zVl?$XVB`S|PzGI0;*RyDkI#R^PKPE3y4T@EVz$vBttTWe9X6T;G5@?97!LMq{;`Wf zq3si}*W=f093%h~VFjGcXi6z61qW+kZGBB-B+xPXv*a4880o^GM z!HQvuYo$*1%35i`C?LrIDtcK`eZdid3Fty7fkYu)GI#(5s>U=xEWiW?yE6qOql%cN zk6Lgt(}X4f*ez<_PhBxp6F~RmJkY?x$N<}n^q!Sf%O(klZtaCctSpDI^?r3e45s&Y z@?rG9?_OpHgy}<`_~9yW0LqSki9IUwd^mpF;LU$^^C>+y?QW=~YZzW*w>}&~=1Z?! z;)OuFS}vBhUM^OxmI)1gi!mtT;^C7XQDSeF^F?D%1p1wCJ^AF()6XwXe#Jx}HK79c zx0~5>V`}K;*vRJR)Gr($7fe7Cg5Y4?g;6iIy#3Yz?CQpx*yKR@z*l7qdW9a}r zl;*t>dJ}Jg2oDEfs9*~?nDYfspPvQF@8N>HTsu}$XapkGkIkM z5KMrmuL1!FJ)2aR+{6e=8#V<2Lut9{?m=P#Hy6YG>XQ$qL2%ixjbmBMw;U9n{#0J- z2a_MaY9z05y_98c?E5#=2xt5HNd!8;Gp0Gx>9Hqre}wFm)uXq_Ed~HXAcQuw59oC+ z%fHPmfdW^D6_6s@)5}Kg7T@kxd-|xap(w`7)jvAlZA#%Qftg%49H@r-NAql4 zJ8Mh?Hq}D*25c@BupmpC{TH*o3>6}Ez1eeUYn%#>3JWDtmX$6P=EiI$$b=%o3rv=Z zAZBee>Gmeo$ux&MI|Z{eXQGr+uWz2lGK+P3KC z-#!n?A5dWrV3e1o00M5T!Y=^)*9pj;i)a98Vz`FMTHLZAr9b#9vX5wfeDBn(_}U=& z>b|_dY~=MMzUN|R! z>!juU^CzF~!b@SP9@6TF&_Y~ZWyr5g{MBpPouZT5|E|T-R0@wLi-Vo1BTPg9JB6=U zT3FHDO?AQZ5F84>E;JAjJJ%9YO5(daFoKytq#Z88v9w;q3t?lN0Jmrf^CxK}K%nh& zMGei8fJ{;HvNxs(q)Cr<>o-nLj!Ielm-D?FG^E$#D~^8G2LxUh0lICKXGe(+4~G~{ zAvVWKH6jd+9^vdDkZ9dbsB^lMhm{V|4FVi`6+&cSl%ZoRsC$5#W4*hsc8!@QQFYv8 zysp0PGl-6=98g$*0pI3xfPIS44m!q23-(Ya)$2_iqlBCm<27b-?IVo}5BGP-A-~f z1c<1G8*(zMHu?vMK1_3&%>HEB2m~tG5Xn<^xL`)>#LjCNB&iKx5_b{<^rXcAfJ~iW z*+GQ-aGit9K=V*3W`ep8$w;HSHIJa)(r90U28y9MdTBV7rkNoHM3l525or5$KPtHf zNhzQTV^qQlmeBb#S;bUkuq+oW=q6&8D|ttTI>uogJyNe??;m5IL+(t0pisU{@H!R| znHih`co_u5d@cqCv48bVu0&8x3Sm$&_>I_| zDeZGrd&%1e+uBYa+}Rw@7oYEXRB`Lc`2|K2fgYZ}@$Q3nzW0sy|KzXkzWpmE0!hBO zmf+K6eQpsKh%#4ec>MAC(}%kNtT;5!))6dFzykV;QuemE9CtuZ;*2Pjg~=MVLn}|F z!53k~EW0w)>Ousq9sqdRnOlKs6dGhxF`0XyTB+;}+KfQyth}V+5lO3qgi=`~%U&Ou z8+yM*o-;bg|0r1PY97??3g8i|D?5X}j^2MIBXuh7VOdRu2@wj#Fgo`1ni3>5j}|Zn zLD5!(5T&HSl)!NJa3c^75v4#-`eA`+4l@V{p;+={nC%u_BvGvE!wRuDY_yNr_eD)8 zEB7z~O|pcPgbpvUZ+it;ysL^s*~|j!-F1L;w(2r=rKUGqPbTBm2v?tQC0d%fkh#?r zBNZWh!N^5}+FLre(b6++%QZ-0t^E??7J21jvE&Tj) zSwmAzqyPP0IXt}y1`K3h3}1W$U<54L=?6;VvJ96j@xgHhMjEIreu6+8CJoPja#(rE zuJ?uGg{_zeJNh2jdp&;r#&aTIfi$y?mB}nJRV@%uOL33r^mrCxDv5%VCfKn3E1*$Z-%fuQ7M2_7z@(BtaMUm zAtwtKw`SB_5R-{8uzLVswrJ0yR&8g8%WN{3aW=R?>g5L&1cjfyCc9KjV-H^zoyo4}Zl(ASHg&DWW~L02C~=I>#k0 zKYzO0l`W9fM(DsZ>zkc zJ0-|$cVhveIU+o)HLtC>5sK(mLm|(UW#8`a_V1C>r;AtPAN}4tOT-_4dhxC8^p~GL z+1B#CH{Up$CWzm@clLviKHIG=bAT6ZS`QDn&&xG>5Ir}R@M`7F?a_9wR^)-Hl)rlT z^x@@lXTHVze?ORI6G4(0?;ceHTjB$-)&241E|1n-i-&b)NB2Dm%A~>eF#PS+5p*5{ zq;Ud$R6Q6&B7(jk_kUwADtP7is)cLz`;B{jRX+?4iNH4jzSrZ|XB;#F10WQN#Yzgo zsr(17Qb;q;wkr%X9hps)mIfRW(wK^U-6?4v0#vCGAU&gN$<;f8rJ6^U){TYKM6I4c zVmi5@R@6)}lvtEus7vo&h*k!1O zv~I{XQKfezD+ES+8Wf<@m@9(0WVc}E4+gLbK_kR$V5FK=iNX+{UIoC@jZ8GE8nTZ9 zODgcwm!+Gbrx!~x)=8iVs*nY($ZA@UMXC;N&=-2Vw7-Xk!9Z5i1*K*2O@RL}=zqnn z&li69g~xM+gFOoJLgryTuFNkHma!=SD2_^b|NQF7&L=DGe(QReW_fw6=O*yWu5f}d zh(Le%+dul_@Bck<1j@6TMp7##15esxERUDKX5N6HaM}E`rz{n3&WLUxr_F>|({8_~ z`N^#wGI7FKLM0zE&@9OUO88%0&Q_>Oi%wpk8D(&G(}@nMc54&WykADZZ{2jv(%fov zy-sTamR|VD>;E97DY?e7nQjyjp>0FsnQsRp4 z+XF?{oMqF=n}OCLCF8ms9WBxmng)e}qU}>lnL$abV@)d-S{Dqkx6?M}*4C;1+11_T z8u$i!`V4pX&Z-rL0j2Ur6C?#_*$bDWzCc=V4TXo96k%a-lZ#U^6c4OxTNEBHIZzdV z5Q57?5rG!&!Qm@$%Md`}qf4J)|Kj(*{!jnpr$2an`OQuF%g@e_N`3e4$x*dCN7J|O zo&EL0C(WZ4+b_&7DJrPbn{InPgeBtbZL^?*{0YRnE$Y6OsnGFW;&az zk8eMur@Pi1wU~8WN_`4@kg9@2GAadfXXbN7Be|Y108_fyW1Ps@8oEMxgNkQR7%!+<^@o)1Ip<6Ato+V z)2q4&W>G4x8nc8=6qO{Z3n+zhy9Pu_E0BVrbTXD0)okB~7_N|+K-xZvchOA63WJq` zp;A*e3I-Yy+ ztAFhe^iTcV`}av$hK;;#Mnl$O=W8qxU+Cia;-Yr=;hsyNzQPKqK?Hi|!8_mk=KJ6O z@!tnWpbUdo&@pXocNUL)-K{9KuoxTh=t@s^b&X&IRVKy~$QIK+VP)?HUWSLs0KsHX z7+a7YGMcH2htNrSU42`~k~QoA%T$ylhECf{<1SHI5I5EYam}o|f~CeKYdG082;K_h zEzhkGh;qQ6?zS;R^p*gyAwAmfcPUgh>->xKHawoJ7}qZ;{(ku|-cT{V9$#{(OF$*i zoBSHOX1ID0z~#g$$-8x30b3wk6{xZmAv1$KNn=H+ypnoYzxNe|h=6x}ZHHeY>s`w0 zDm`m^1_E@iTVXHq9w}ywK6ruXwzdg-b;u$xg857!Qh5RZ5t0QkM5VBC>vS9G$U;OI z`X3VjEc(tzpebD((eDR<>7C#%Fmgv0VG2h$SkbcF;lN~)NWtXLDzxxWgwV+7dJBX{ za|sp<7enSffq&^vknEwK?v~%OIhzE3y0&*Je(>?bsoFbd$4z?Y&dD0_(?=I4miAn? z9BaRTK8F(>zF-O8l=9&C_^22N33IW(e)x20acA=d?0=-eYaoJe9&e_~%hA*4s>RZx zT#FFK(lCg**BOxY@0!=gy%Aj>&LOwlJ^UePUp!TRa2z9EwFAYdTF^kUV%WL40Jzke z0F?a)IGn@5Q-kj&n{NVNYH5#||0T2u-W0l!QKegDx#8~?Eu(klG+H=lK7_z(t z(j%?t(<$Esc%Ws!+dOD@6wk^flDKHJ)7of&td%3%K+-suj^-Dar^JDkA0l37alx(@&4`h$9yrq9tRP-DIhuKhVi&C zYOvP}ZUAOjBd>~=kKEmF&h+q9J(uRZIQN&GgZ{E40zJNX=X>ux`sm@aN567MAPQVi z3EsE!<9HkjZRSmo(#0ANS3YYr)5&C4O;@Y#ZL8!d#Gj{O^AB+Jx)*vKfJB8#cfwXy z@m&aEvg_{!hM8(X(Ii!)m);-{*+zhXNdw3%A(;SA@n1x52^H+*HUd^;jTPZA2$s@( z>lcgX;Es(o(H`;XTySUJJ-@%b^cQ0wQlYg7#Zq@%S{c@ptSuD4<>3J z2$lfVJlt1BQuHHT;1EU&Xz{hGD3bjThJn$$3sY&St`W=edVTA~U_oT0tg26IG`Huq zE(`(Y@~*y*KbIc48%DE6w(3sNXNNRXb zC&=EdEYlJUS|kvWbMDn%P;z1-Lhf4k3V4zdJ&Y>u;fg2{!xc@&0I*6;5gyUxl&9mx z7p1uZ82ahu`rYICpZ)GT|Llh!Jd8M%e*D?_gOly)R3qBEXD1g|%lWcyr~0zP2?PDV z^;w}synTFn?`Wqh|$ z?y?{&kiFin8ZONZ(vVH!a4RN6coPtBoXnf4Jh@uertMU> z6F0@IFuPgrTM__vZqA4Rlj#^L zX0=*dorNASsNMklO8@{M07*naR95aA>R{ltBby8|t@)LX&W$L{{y`d;U1r`KARr8= zWUKga8j)`ze+)4 z0G4zf>^V1?a^!tdH1-ZaL69{PGBz-E--a?#PS^p zBUqKtp%h@L1{5UjWh_}kHY&R(mXb<2ASn#pLZWw9>I$zQhMBt#f|8qg0chQ075mri z1KxeofP)A3M>)(5c=P8Me>gmd-8{~%sRFKNa^wAV%ua=@A^1cHe=mOI7-GuK*sluT2Ks)aFVo=O;Ul*WwXAOnGlgurI9G^ zuQaNd84Q$&nw&%nmNXlEMY{K8$FDHq`-eO7Mr%R|Di8@92}M8>&?8(D87(M-SzE4z zvIZED?maEYV645>QXkz1faC%u-Yr_njjeaHv~1>>e6`56l}NQPnx$U8 z(?>f1YzSm$NJBd4bmX2edUhFufe1?7#g4KRvxJe&M=^j(0YHZLxdX@|LYe5AV+BB# zltutWVsAc^wTiBxYhAh{1Hyxgg-3G-5e}@e6XXW+|LE-KU;OSn|NPHB0LZ78Km6$7fAIA;Pv>gXdvBcm@T1R{);6^Z zf{{3n)KAv_PUcxS(AY;b{BMO@IM*EK|1ciU$xtc#zUA%Mue#d@kr-m4zujhN4-aF+ z?m!PBHJp$*W^%no?g5jLB;Wu%$u<IqL-p7+b z>};ON5Ff92bcv-UPESA%x)GCKI@cXekI*XMR*jqDzIJ9t8J}JU8tqE1L%Lh`-{xq& zl;?&f7Mf6#FUOu*$DWWjOs@!(!m3V#$XAvj0qQxab^jI8f=e zuUl#5WelPcO%PdvwP%}ORZRDK{0)qrz=PgFPm91RWvpvWzM_F@t;t(R;YNCt^rn#{ zWzQ6cs|kvL6Hc_=e32dufYB06GRPC|2SF4#Bb6@fA-jm|_QDJa$92yXv?o*CiqP`9 zq6}OBTJBRBylMp}s;T2jwr@WyHK-&qkFG+c0yH2~f=rKr4lgMJ-E_OJ-!7S8U;g|0}Uy!o>Rur?{8 z+6bA;xKL9L5txeI*-pn(x!C#Rt5wk5qiHHd!p>vYd})y`QwNaO;EweRUIYqEQUTg{ z*?tojZ`tYG)!g4ao!>dzKDt`}?4$Fmh)v-V?aINOJydH@06%+t_1kZre&@~8v!n9< z!^_JhCa??<$qmxjYuMs9Y}}pzU>|r90CJB^XMQUbfFci#hS9}3kVl|16e+e|uj?@z ztb?d~dz$eC&9EjIBhX--PCS@z%I3IS6p~eT1=YS-#R4IbNs2H84GI=uB6p4eP*|i5 zS!pd~1s?KXrA?iQzy#y>%7@Sp5D)0rMx@B3=HEbld(d5sWoR5A6?xBlI@i9Z7X5H> zuyQ8NDadLPikTuo1QM)fOSVG|l%5M9IYX%$FaTyH1FF&5>`+kj{EeMYRIv2Zc<8Uj zgIE0>j9a&leCr`Ly*Zna^T-Fk`(;OY{*4qKZE4)Es(V$*K%6)(`~DygCV&@CD-Wrf z2hnckH00%@i?9FAZ$19-^UL#R$9InZ4i{JoCaXtme);)auga!|HrpB(t3KV~X+tHp z1tL~aLP-m9D^+pTaK~&$Gzh?E;?p&{487+(gt7xTYatXZBw_+5S%b*#V4j62BQ{lw zcP4iJGqr?g6D>>Um27ZiCb6VQfHl}XcGaDE4P*g}N>g?$>~%1)rk-70Rc!Fa#7z^! zD>;1+uwW{PAV*JtU{@Ahf1$td=vsBY&LqCtAO*GLpRLh03dzHL0gNreg(mZe7VZtP zD&U4fB^u=hlbVNH1cGWU>qKy&5lUCh-as;aHj}dv3a)wkQ<9pq5P)_HOM^~XS9Zt& z1>r#$jB@n?tYAg(gmuBp8b}JULoWfO{maNyNy^g%2;L(@f=w{GNoxbMl0YERhokSZ z*=?#3#UqebKPU|VGI;iEiz4qnx@`%B(TEZbTX(MJy>VIz$vk`w$=yL0*T61fqrh53 zuHfSGfIC(X7ZkjPjlO7T-z50{_MiNFZ~bq7@$p>v!w(;x%+q^!PQ&%hd#6vA^~3Y0 zcQzA~x79(1>j<7V|4npm3E$S~{&ri9Ml@kE`{3#2v&GN8$oqe^xq?e?A8$_PvZmXS z6u_=U2h2NWkf=XGkZUv5d&kpU@WJ`zPoG@vS^)a&Svxx__m1k_d3s}0b{>ze{Bnt~ zUX290n-tKCOA{=c7$zCg4iMGA@L)LH%0u4#-tqj+JI7b6|M27UOOKPeNSawJ+ZR)Y z;)+Z6KmG9h^QX&q-#q#D8^<3#-93D|0#*zLv=@q<@s$nzUXOpM)b!f2NLbx~m`%H%ayH-?h1lemBkB2==(nuUbJFiA*Uy#OT_L~y1qGdz|Qv|`EL ztkRlhI7Fx;k#>MCV1%-=3ef~4q7Q&nXcDH%CRqWRA}|$B!U7XT&`jA;7!s|wB4zpu zbu4%<$(4<|FM*nEj3ffJ*OOUqLd-=LQtNT0vY}-)5atnJ^RS~jSK3OLAVpXTdn7jF@fAyEKCnR5fg~t5$hzWqO z_Pp|d1N(~(7izg~6#9C6nKArsdP3*{xmsv#u#yfC@-M$!J z*sGKg!Rx%z6N66_Lqmih1t~@E*R9SP?VWv7U7TIb3|XH{;y*mR7mO3rNbRQ?BD~k) zazP5fB3yEYSSJS8T}!Mx+|{ZWE^UBV+ zT`d3Q*G@mUZ2!mmpS@lA{SQ9ByO~cn6Bm8wjXPIsyIk9LsvR@CIqaG`Fut4!_ju!Y zds6GBBA{YiJwAQ9)S)VV*&x#p8#~vgmam`Aod7J5SUp-qwE+kb@O(#vbb2(sc{+Q< z4?j8o`IB8Wo2yZ{So~sHKRL%-Y&+HW?j3#WjiXO4md~E9PL{D>6kugX3Q`}a0~E=+ zUn{a+)VFDNWT}OYkLr7GY-#r6M^AQZ+e}qb9YXV3SXqT=L87jVpFF<${IdPy-+JR) z_qR)ni%aJ;WWfiq!BA1X&H;WS#%&_tZcfmn9(2}yQhr#>5Fm=9P%1Db6>VIs$#f<> zyHXS@`5qw|StLlw(Kld0!sN_C=ww!D#z-^q2*^|sD=DaSI;WLk5|L|QQDz7X3+uSH zMM0xVL>Z}pla-u`UA8c1kV|MTLkl>ZKqU)P%K(HY6Q6?%w3j6tyAx7h zn`z>NtZYD*t!o7lTZ22FjaCIg(kg=`RT7ci$PHvgHx(X&eOk@BGt2%P0<)=+1NGL` z_z=VvP}3dgfK1=NwdY=YOW=*?U;c{m%d8>K7a{hE)b(t#;GN#6Nn`yY=N50VIo{lP z>z=Rex(utK*&6S;4{dE2I+MxI?G_cG>sfG!vy4<3GP@pqiiT&8pT6<#TVMO_cR&8C z4^Qr%(f+n0LOSehilg@E@#V#?6|1ueA6>x%PghKaY4kcZLjZJCLlZ?7#SC4BU9EWY zSX|*E%r>)@)s5Y)XP=j~2tad1X>cK+$q+ybOkz5P7Z4@~D&fX(?HbRfyrUBoO&O(( z3W7$12JM?^11h2bAxz_rD+WW)@J+DnicN;lsT)uyR*$kxfyCY-%;+g(E=fZIDyfKb9l&Il6H=r5bjH8N$PZjLO?`7at}Ft)7%%W zRR)(gK*5q-&3mxb94X8K!ULAR`<51*Skt;c;3ktKw$xUQhD_9GA%Uc5?kkF(#j!@2 z7#@ShZDGAK9*`>%rXGETJNzYOi!=0^nV|55pBZ$MB3*iVm*NH@$sD1eV6e62 zSMNZ1o?b;dY9q9`udA!YQlm6ifzs_ChNWqDwF9c_Dq`+8yPDt;9%|64L$~-ZeZNST z5$``+|LgbeeY~{)>x0MA?*IMSr~k=seQi_A8{7Fi_wRoH!%r^Pb~4rHFr@w49K4x! z9@}ZYzdhQ_D1|N^SNrIE_waJvPURIdBfDCug+h36G#^c689TUu-RgK@8}opqv+exW z$^2|>KYsY^ql@Kes&jWB!O3KTg|zcHUzX1=mp}O0={N5l6Zqs}0cdLSZJxU}~mSW3hMdY&Wz0e?NQp^T*3vDiYKH=Ymp-8BHZ+#kM$!yW9EE z<@$pUAN}L^?!SF!bJebz>soQ$mq?m^fmXt=$3N6@dj-Iuxup0>5DL)@0Te?Gc86vt z)M5J+7i|tYFBM>Stz7TzRxrZ2y?qvO?bebnDZmWuQekgwLVE8YQ`=m=v8UyXu+93@ zB8$|mFCA7@!E}BmVA2tIkx`tmIATI2Tv`E1B$Ip7ZwuXk(eqzZ_Z|%-r67o5&;!t5 zy}gX~0%asc%8ZfC6>wU(gPyJl0OU(Jb;ly*NywA~j9ubV`}kL=)+GS@%Ah*AUB)4C z#o?s;&%Km6kc>mfABPKN|G+PYFLk{b-{3R8WL!^3H$eB7uQYn@w?k0=FsAC9Zw(m( zUo{Q%tS24s`YZPW366`9U~pe_2Rb>WKbL3QQgE73NdSQNHW0{ln@A53xchp!`^N8o z>(Pe~*WEH7Pk*Zmtb<1Tt@?S3XBTDOl2?tFf!&Jjgl*}cv|s>?1_9=s3Lh+nsEW%g zYFkV36iv(%TF;Teu8@ELvyxsw6B`r-G+LoquM#9vpCJ~i)>xNdWebOkGwde*x{R%g`zPcCzGHzTDWF2LI6czQ)lN2EDTEpiO z<6mG9-8u<>BZaWvjKRSf^FTy+a0Qx2gKCottHL1bNB zq>!5kV^~9ml8ne?L)jQ7D-oIL;;`TuAu1$GFnEc7MD1_Px75e)xD7G4*^Ngv_jO zfIZ_Pfd~b3e|vnondXTZrL@q`&#ypKdllT$-O7O`+}YFzC$l(uL;`Dz)}rip(_twF z>1;cF{qFX|^Jm}x@X6XRSxNg4>#Q;*(RVXdukp0`_dmD@@!dO{COvu9V4V$UsUr~5{p0!mas4-+Jo|T_Uv1}F43nXNcaGwpL}=)6PrF4(PAp|KFT(dj;TXjc?rD-kEFboyo^D zLMcptf+7SX**Hl$EKohj0TO1*gw}?o!C{#T?Q@Yq|N+x>x2~jjoF2REq-QAKFo%RVb zTYY8Mz^Ez^iiKnjt360XPHLZWVZ^)ppt*lhd%-03fx3WVqa)?5;~*vCt%tY?3hiGm zUjM4Y$8Y{Q$ISdjyw7oDjZ5hIPe&o@Iy{VmhO z2|cUaAE)zAY@axef0k#vvj=zI{?fl8c++31#S_F$PM$HBF2-A>H1!2o0#6J^)cjD`Yb zly~-5RR7vSMxz;^EDJ=gE4}3TH}DNTck#a-UuGnjvI+}0C&OK6uAPFULlMz(({T@P zl6!vn5sHvgjwL+go;{*n0a=7GJvk$bpXQG4$wt7#TV5Ou-Ss~yfArh|Mdd=?pnNJ4 zc#@1FA`%VAIwAV*0eB(~tuI!o)9u*>7}u9{kJXWa1+n+2VNi?!)c^`jt*?0o16+!T zQ0WFg1CbZ@Rjl67-T?@?w=p{>6pLMJs~cHY1S3oy45)=RpMR!hx7!|VJ>0RAf>>S4 zs)YYNu#Ub5Uv=b4`^np9rV#-aR(r z{Ax8AO`Wk2AO%>e4NP4OiQ%-su~~(%x{jyv_TBlT^Q(XR>G^i58}hhXHQUb9-Q$w` zQ7J%ZM;TB`fhI)6q^;L~_weGqd)u#_9bH^S^RQ~EZT9XX^0&G>y&iwR#_bh==5e~I zQ?=dF695AljMP9y38=er828Hf9U%Ces5M|Ppz+T!S>-k#C&Z%roy?er^+bV{KM0dHXQkhDmIN<N*Z;fq=Rf%TV*cr8cc#t#(+zg(x9*-kxmuoF z?M`d$)*~ZsAi6NFxdVK#J=xB6u5zFlL;CRi641V{@U5eJV}pvgx1H{6Dti`|=Ckrp zO^Hwi4Qg0gZ0CA^J3Za4fAYbj5Kn5EOtYEDv!m&BPE`h$rj?ofL8~84e7f*2KD~VN z_~?!8{Ol?kRQKW}!n<0MAsOIfTgy*9tUAmb@+p4?{*_9*+@x+G!`BB=h#^IEG^t9z=}8OYQbj<*2o51GGa4xY1-$# z{gd_l)}|7bqOvPxNn4YG5qShzP?9p2cMdecZi1j077(3Wq-t`gpp{8{;TMK$v3ttrmtP4sp5{^)avZ43hx0FfJ3>|>= z=F>$ADl#eP-kbslXoEz!43MYD4YEvQM|T%6LU7O`jU@trD@hm8lr}^{1B{XFW~7v^ zM7PmZwij5_uoNs{%WM|0CP0P$8H(0$$o9Q)1R+&21hc!15fY0>Xlcz?1!2)*VUSje zJDYopbqPXf5lahBX2D&H2KP{NED9;o;rd1m_e+obi=SP!Zy!(p!|#6WzyFi=SLeIq zpMLV6edq1dX%_Ik2Y3I?ClAke>nW#xzW2IdriLNTHb?hQwo_qd{j=F8Pj`WCgd+?n6V(i5rf<+tzd)l&rU6YfaUfDMfgsTkr~+7BR%T`MUc3l*zi02I!QRKi z<8=iA`H(>2olMJ&@bKpPz2}~@_u6Z%t%Hw{HfHUtts!M@E19V^_F)~-0Ef1l&BHs( z$CvxeEoV98_4u1LUg!c8Gq9miY{6($BGA@pjxuKrfB+A-hMXqE2J$~lJO zO~c}>eS1cvGQd-v9A*ZO5G>WM0Gkk05Iy@Cr7N^`$PIqm^Z2KPGR&}7*&L_gxNY3L z{1j%_=N;C(=neV2V;~^GfkNpCg<)RUd@c!}C7&03Ao7Yv+_(TW+ywV^05dHEs1UPc zo3Nk6qiz6c(1$|W38};bIs29OkpyV>WcU6z-}~`*fB1@v03tXfEa#hX6;L<)N%jtBtQEZX+AuIeUaqrIB= z)}-EW-8mvpuv(KTSqf+XO-3}JnK?YfW>}zg=GAQqE?^2rr_8tuDnBUHAWr4FIT9$P z#KtCuTE>nio=nPs>Nc*WkY_@jZG$PbR@EL(>Hq7k@CzKF4C6N=EF^c00I2{yv<^jJ zNb6WbfpEFILEpCB0`>4v&Mc@I8BOJVn-3m_BH^@+CKoQtl%t{ zbBDY3kK{k0?isDJl0r!Kh_AkR_7XN zRHsA47&-_Zp$M-<;4d-+=})iMU%1%(H^2PlfAG8C|D8`B-`V!R`?Ys_YY)yg-+t?j z-~I8&*Xy|0^eoaOP9WEC2k`d!`F641se~FsKX|l@pAP@is1RN8#@TYQ=>qdwkaUlO z$87KkiK|P(d2bh+{_)lN!IQliyWvi27fX9^(YLKd#2OH}uAb(|?$L~kb$Ntg)A;?* zcJDtpKkxQrhtSa#lncx=f(XQMy_#ke2~OqQ*>pQ=?X%rsw|XP*E^XV}X6Xj3!>zS@ z7t4C^g9ph214Efen9Shpj6FVjykCWj?b3`#L&evN-rvCSf<6GanGV@uhomtiFtiYX zmhOHY+}P2s;~3c&C`cJFDlW1nqBSu581@B`xdU2bzy-%R2R2q5eE=qPwhFl^gTSy{ zXAN0nO=h!+q`6AM+bo(j3>efKvb9VD&YO0`A<9!W%4@|J2V)gF4Au5AE4Zn^Z_I)uWnEqgl7h+hQNIE(s*q;lrwW-O~EmBKr( z90;3gDG6D5KN{K~t#6sP4}&zq4~GX|dhp)Qz4x8p`R*$&0?051&w4+@y1&ylhY?xR z*biMdp4qJ&06+(lT1`P6T1&6;WQRA;u}sR-cEecNlC0)RK>!p+G+HB8E7r?mh)Mht z07ECjz}A{V0T%Adc2aE_G?(4b=lnxQAhnYn-Q4!W)parmMgyIw- z`tuDb{`l(ftM||T`(JtQAN2BMKHP4;{ni_sO?$wzpL=-!_kR5G-hI;=rsm3p zeZ-fx=WpKGnkjGEPW$1b-6z-Uw*3_IpS(&Vv}tz#d|3=C+7|>|uPz~5Wf63T0t82h zz;NG>IN$UK+up6;+4eKD-C>nrWNT0}cUa4uP8)Lcg&Jp@cDY|4?bk1zZ;T^U+<&0D zpr&B~k0D6e0i6J*z<$K)v26@tW85xnX*}!Z^1k#p?q6)Sc6qh#KRrl8QEnHS>OqPJ z$9|P1m>LBv;svMc^-}n=Jzksu07oPEHU&yqqhBabe|$!RBiO9DZbgQLVie@hg!w2E z!JcswnLX08bQz!m>A9|05SzvWHG)IBkOo9(5NI-yCU$t-#DxrYgi%4YE_WIg*@Rd~ z_D=vCWMPiiYb>OKhj5p=nhAzzJQbb7q@WqqtB}g9B@}4X&^TLBS)I_?H8`yX(bA#F zBp?(SAQCWE>TTHu)iB(eu>&E5720jdJT=JETrkqgF07LqLgt7xD07UkGfGD(tfuMRWQl_O$1Cm5UAkd~(HLFO; z1Ct6qq`1G@fB9SQfAHNO?XM5pi?de-yU0Wr)bC*3FO2hrPY&vY6Z?T>Q{s@59Dp6l z*xCZIKn?wXs~vU&+m3xe!r7vI$LcBEDU6NQ1d!U8h9_;>y0z8oJP}!;%O1d<*+U4R zS@mU_7nd|6!0>1byJ=lX31&1iML>C5C3B)@OP%b@CqZV(vH*}Iz1wFv7bK&3Uc1w5 zm`QfZYS3#q?28z+Z6Jan$-|=$@GxX8NbNmF$ida)5aGTW>5z>OLaUF6Ody7b9YQu- zPNX<|-nT{+NTi!$VJ=m2OlQuS%)F03PwBi?h3%j#037>J5FvE| zzzQt1ZgSUIS2GXv7n)`$k}91zVP@0=857v_+C%^iGN!*9)nPQPr7A3=$=M!b0NZwK z0p?AX1fEg;4>VR2_Hu(v9;r1G7KW=t&jzq1FUbtok#b?CGkVYWbOW^>UEtNwE zpfypRv}FStaf|tQ45ep(q`J*-TO-;Du0PLLdD%RLr2iSsQS{6YKlPcwAcW>nGGjpNjS>htaB<6 zG_e_-VpRVfOtSJZRL>51K{Q|iu7!YBU^8$10H{gCFhpd2n02^vD29Ma*pK;aea#A( zpi+Iz^s=JQ*O1p2H|Bk;q2X#P+F8gQtD(`2HiC!HkVataV~psT=z4$%Xn4qn%h%y1 z6Gx07%u>@;FVisK@Jkkmk$+P_nMvuxS!I%60;O#qq z|J(2VPyg!s|MYtwZhCw7{slMq>Vvzxb$tKP<=yQ+d6azyz$`t;=D;3 zuB)rTG-$2b4J0T)VbgeVzS*4h-WVZSHJkuy_pb$WqHb;K#%qZp0Jvkb@T}XDC+phA z^?&=Ut2uKCV5sOZ)o6t-E%sht!Xfr`PfS-@Ng%1b|4+ z?M)1s)%;|$j}amE)aRixSIkMAF{K3>&>M!6Av1x-VL;gN_K+BZtpjL=6t46}8-lDE z8A^hI2MyUBJd6yeRd*IxBeNBhKqxzQC%l`OEY%tS>Hrwj!A4U?A;eH@WL+Bhnv**r zs*@1W#X$~nK{_Bc0BD&ZO!sJJU#d3HtQ^IxA;J*Wdam73fxe-yW%ZEd4{wkq0xeH* z89~R!qa|ue5$M7oB1tBuWF5Jq&3L&Ah%2 zfkR4ceNy?+@u>!2?#a)uU2@&8U;f4SFYeuW^vNTmF@gXs@{FaWRYi@BSq{#&3VCug z6Uxpk(ZfLXtkxqiEu)DZRf9;=4p{j}NjO~XzW(j6fAHN8uAf|A+&h0|>uwlqg>Cvd z*GFd9E_||ACm>JQ! zNZyY;RFmf44w6cVKode8TcsRAC`hDtry&~)=$O0G%0);6qFENzro^abu4d>x z$&e#aToz$9&3_5H1j5MmP@iie-A6Dy8_ZC{qqTs^ogx9G#;WQ#;MrPubr8Lq&02)!mVMmIPPc^P28~Jpcztjq z-@AAIlP4>PRpaq)edpeG1%C4AN|7drHip&+rtO<>aIWI@PG5iX;v4T=T#xmWCkGsj z5cDkEm&XD-HGOzJezwN*6M&ot6}|(=dKuA)5s080+3Px^epVQNE8!b zOH<5lGelQTdNo=Wxzf*j1iE3N?W~(Lgq7@6_5?7tArHXVBqe2|z&-}0o^c#}ff3f| zBs_wO1zcqgG-@GM&_b)>AY2e#VVJzX83R}`dMH?f6>qK(#`KL$U+E*2MJA+c8Cb6T zM$VqwmCppRm>O*mYGDEyOJG4}E-bgyKobIV=;l66nA1eChuEMbI5~o76(eJ^tB%6R z=iI}*{qvFipqt0Oz{+5)jmNz?l^#BSefr2$&xv$}f8O`a{f|^5!cvD#nwglLsuLmt ziV+W#>OZUI^x4!xR{vZExd$F|_ z!d0Kch;VP`%W^e5wr1B>p89KO4R)(~*J(jWmG&z#ss{E0R|h<}!!)(D#oFH2QD4x2 zMy@nT+h)z014BAD^yvqjIffBz(T5pi>93+PuXwv#)E5Lt$Z;ucx1BoSVie_CB2RNKML zd*!rF!+1?zQzZuk6>&t61#k%23oV8#vVnqO4W)gxhnsu&-rZMREZ7HPz@$UKg-9k0 z;Nerx_jzp-dNSe%*N6Y|8*lz(KmPHbespj9$>00xJKNS`gI{?2;qQO=$>m{<&^I1F zcC;daxSF0Zd8zrI@6b%-Y8Si?jT18{_dbtquxOY_h^-4c=kd2;5S z+O&?f$($FtiauHW@y@^X=Ee6vz5ew2@aDE%?&IE>x5nLo$*r{!Ae5fS5)Z>y#co7j z@U3_63jFBP{gd5jtrSo3f~%*`>AJoie>KO8D*&l-jk2JcrF;-@VcYBsvG-Vm8w1Nf zP?+57Q-Ic0)+iael08?r!oDf6CGeiun};BEq@vdW`N-b48Kla&AWM04GE5227@@{s zAs>~wDmleOv$iC?Qf$o@)6N8d##MA#gLlN3PLDHS$YKHnse*T$FgH{nC~C<@P%|c3 zU};{#qy%M~0b{7BqB5YDYmzbFAplFxd3Bv9MEdbQBxfl(p_^hcbfUF#5UcZk>;Er~ z{#pOw2_aKniOmGA%Y z4?q3j(}!=~yU7tg=b^6HbJP14>*ZpbZRgdhO!IaFn++N&ef5*mo;iR)E71(Az zKewfoTj=J@)-}=<@tC?RfQH`SuGGO7$4KDx6K)et%Ig{lCEQ#%pw#@w5I>E*5p%Me zTiXk_nz{{*}{n z|0ot!<>`e&~GK4=5(4wJ_rqDLesuFwcy zJqEEVEtNh`a5y7`Pgd{7-~Od{u804V?|*!6>3`=dZ*Mvuo-aTD=KX*1y&vCMHeY*i zH*a_X3;5))esH<(w8j@NrX})0h->)6^UcMkW0DUE9%3BEtidPNIZ>yanIrJo_2Fx8 zUc7U6``wS8Y&-X>#t3V6y&G3o*Pu0nM;y{QikUXVVfBEX91ic^zj)*B+138A+YgdY z@3_ZW#L2G-Nycmi(3|bo_~B>Qch2tq##bKvv+sQJXdkZeqszE=zR;UUGng1@krfz- zy{{f|wZ=PlHxD=clgq;=k9I=#!z?dnf8nKkodx{Nju#{VNpPno7XSu$z$c>L3>(8C zuu4cKZeneE`h61r&W0;#YcqsZX4CCTl1wxuCyo_lVQE+*jla`@Aw#S%L}zo^Bynm` z4K1ykNi)(I2oH3&CJ#YI(k#`SP&j%wGp;grCdpWvNnn_eB=fF7%aBDP&~)mRX}Ae5 zaQbsb?q%~3sCb=b%`D)Ut*9d3+ox(Ph(!|RV3)iKmK7Tpz(llG%|go{wEZ>`(!)4b%ybb$P)o|KA&2j zF3Y5u&k0NI!;akbG0qj)UnLc5JXeD;u9e=*tD=Cq1BgW z-}<$$|DWIcXn3^#IqspizA->|Uv1mllL%cj?gtbwgHI(ue*1Q71IVfiI~2sy@npsI zwazaP0ZE&MyAF5sd7_&@$%v)d&Yii}&g`uV;SkYM?>=*Yb~6Fz@#Y{xhyWLC3}clw z9$PD<6_o@UII=Zg*17Vfm6IH|t>gP2rSCaya=9RtSZh)oiMo$o(It63UOp1f2!$jk z2XK(6U>Ky;H6q6FHIwFWkBD&5Vo08{Mjzp04bai3;ZhYrTQX<_gcwE60YG3>APwZ~ z%N?*vMKky+;3bag8KXSNV&>GOLfuliBt+T-L;(uL+yUm^nmvMVlqmH&FUn8uSGjUP z@U)l64#W`3x(rNuUgkGJGr|xaGBYvXVJ0(57gNSqeRzo3YuMmw2y}NujIsJ47sWc{ zO&Jrffdd$zr{%XkPcR5|>OkqodvC;l_p4w2?bZLupMH4%Z29)vZw%KPch0{0#=Y~_ zx0|*`v{uc$fB5M7diA?Ye^H=%vo(t&wC(Ln=Nmh&B%+|h5JF}dnOj6y_9Z;}VHhv> z{`h+R`8O^;c(niQ;KKToYu-KEj9@d+IKsja5g9*3V2l`w$NO=mWYxk}+kYGuMJdbAsV{LzzNdh71r{>uG-_HRFpv1(@r=UMZfPKXhEN2(|f zh`np)+AQ{SZ=7H6;*`KY|+S2lj`6B@nj;GfG-d-^H42S`|e2dVt zKOdiOB7p4MIUlU@j>@+o<8cC6`7v@#p6qizO99X<$-lL{rf;i4BD&QsZ6|H33upq9 zTw2wB0!r6N6>Hv@sV1f{FH=->V#>S2l@gk($5&tf_Iuy?y|+L7-p6mgegBoMu`>B+ zXG=Sa!+x=4+xcXzB=+Fg+RX)gDgz9Fu!ex)+VNUyL2%xUF{Bj* zG2iwSQLBhAfHF(W5?m#D;v_DKfXOC9?5bsx7M+&6H?GSOF%asu7gk;0jsTot&~n_|xrKn(;J6G%2N` z3gn7FR2u+EBb)IO2?#LT!_1gJx0I1{JJ$(;5s|D@1{~R6ilk*{Y-v9gm_xMNO`QW@SUwLqM_4viN9xSa5_tuPL6F$5?d~kU=XH;X827pNLG6k=luer9A^x?SvNS0Z}PhH;i%n!#I^Xzl}jN{}zX@!E#DnRbm8O2ezo?TzSLoA8J z6g1Cw%Q|=oJ#$^7%+LrlMj(Outc<3po6M9=jQN6=SqXWwLFAm8A6I^RN<4W7Hg)&0MD%cW{8d9 zYSp@0?@CDQ>`dz(L(})xs`*eO`aE^kE5nvefS{@F1s0fZs-CHyS)2hvL&f(gBc7J3 z+N5)Pu?b-f6q0I`iA?c}Si70|O=Y8Y)BM4Z@&mTH#pU4{%=D5d;`MmtgB3YRlG9rp z!VPo>#UUI*2w%DKaUGQej9NKwaz*ElX3#q`PM@HWjx6_Q}(+MqzT2LST* zk+*KrLj}1o%N9CrLpV0WWYLkV2;@+@n?-Yv@D-(imYmUuP#+QD3V5s#ARpe`W5?FA zIOD#CCxE1h%zW;5OfL7|yB^=Vv;5b;^8SDI&%g7J{`d#~>9^kh()rn@*+^A4Nnw?L z|Fdg%oNwBT_L=0B8DZqXW82&P^QEkZlVYGaj8MY=)7Sv>Rgp0XYCk%R_;j~^?f&+| z$NL{$?!e|(hqI=$-j_AIua))rLD-G4kNE7ce)Fxnzwqw;$27I@ZsZqZ~Vr?b06_1pI)sYL@F)k(yZ0z5hyF7{J8w-*m(4HYm}eKk+;|jD*zcHB!l*7@)JS~ZI&ZkNRI#jAOJ~3 zK~(g;QELpJ9qgX5UYWgpsz5q<`G`=X4F~~tb49Dx)07zJJ(|JB4j>*CLQ`^a&`v_8nc$^Q!6^H~x?2_&WoPnPJ5 z3gWnx2XtWX@sr(n|6+sn)`VPFzjOcm%innWuphALmrBdYM^@5h#H9787^NrT;9Lxg zJUk1w1?6NBKmf!BrT=nz47F0`bpjI28tv-SC*SzR_rLPZcYgFIAHDU?!?cKc6@xL> zezs|wF~-t*Csq}0Z0Fka;^@aDyxzV51lXDmD=x3~rTd7o6vSp@aTQrV8K5M0bR%#4 z(slYyX$O>GYZXbdc2a27O=_CcJ2BQ?zPHJ>&d94KbR6$c!Ihq1Gl!`(_BpjE&cEgc zpKn!>-tkYb#}_(6O1ZiRn|MHMhLLc@>OPXz86nTkzblELB`O`E7{h%GZzjq^NiB8E zT?haK=Dv|hV;m=4l@l2$pq;2_Ms_It9w_F$bGn65faEhjoq0gA21`hcH1&TfU=~7= zt^pxPVM+loGh9zbKcJKq<^Gn`Bi0vPg52uJNKq1f7D_XH4hgQYuD*tdfFL(f zk|`i6JT&qo46q`yYSvYrp-^zx%)c$p`<% zx4*VEriZfv*7U*U;p3~ry|Wi;e_1{lC^@h6;CwmjhCB}-fJ6A|<>Ch8$oX+>3wnZ? zH6nzMF4wO-Y~T9Q`Sm(>BMek9|Z8 z3X?1+Wr=8D2+e3_kv_Ny$QnqD&x=XObUu z11Skcgw8jcZhfy^K6R!k&j)FQo9&24>E(Rri;akGefsfurYHcdGh-idT=DVmo(+$7G)>EM@$y$(JUb;igi?TQCqC7 z9v^&q*sZ#^X+nztf4#g6kLzffgim}#>59e%nng|K z*Wk#{+<2)50982bhKPa{)TAshiCfyraLEIkMk5ZI#1%kdoA%0rQUFlX8nJD52v<@% zNSdIWLWn71g6ob8O}S0!vh{i47Uz?vD7$L25oExOA#3fGc?H&0M42% zEepf&fP*qLpbdcNM;DU}!-L7`cEOWBz-A<@kVLa)r6#J-Cu1xN^(^XAO3s7JZ5l}u zG&3Y*>@ctsl3Yux?)63Ng!N>zhBloMxjDd*JrH$ z`ytK1NxcP7^29k6Zvx}|6N*!e+}dZvfUd&)QMGsgkkTiLm!CcP=C8c})t`U&hu{71 zo%bHTswGwsJo>7HU;#WCT9#S}Ui9$>^oFZ}Cp+A~sP5YAVneKX7Nme2 zi=h)cz@Y_IbAyV!kZOG>p*Tj!T2=)MaJtEIy-s*$UxXZJX~d!#BrY(b69*>SVQyU$ z=e7AAZ=Vb(X4$J3_CF)6TWH_w@kNagA_+Uja0ECSAi2XM*1!-weexjyu7MyTA!;`_ z1r#2DD>Bl8!Vr%PBVjHv7>7G=3x zxq?zGG)wCWiJl(z%6wxQT@gZz8AN8UyIOXlR-n*H@?d3Cpy^t3gi2Ce0FR<$y~q{E zfNp%ecRpGlUi7a$+!}c`{4j1A;o~QVN7r^|v9r$Zkb@l^3~BE%8;waso2=B+uVy#zHw{M! z0iJz~0c!optulu1{FWq(k?qbThGoHbs9>(CHEYlsZufefk&IK-^5*1Vq7 zx6T#{0bQkz(!@uT#n{Pa#kL+Et@oCdM@tR8vRNl}^`?r!E+4RR?VIwL$bHSCK zp=yRPF!lSw?~&JpNmEfVEz~l8VPw`105cYv7kb92s5n#;ZB4uM3jJ^0 z;#FOKdYr)9HI_G(sInPR8S(zhI!#?8gT%T)l3@S!KJ3nseXEZ5vPwp>X6KNET9SK_4ZT>};uHc?JbLn2x^5OCAkQ@* zNj!z5%CqCm^ypzVghj0@l!R=rq2R2sSDhj$gfSxB;x%thWjBDLCDwN;z!?@$*63!& zkoAn4#XJS~aD|VUt7o99lL1k{s{F(x(S|UhZey)bP>{kSm?o>QR3s{CNZ-9a{Ms3Q zd|`h$@NN$y7Sbh%@7y^ve{@d=$TZIdoPW!yxU4z8HEI8f~u z@X|HF2#JsOz8`+~tiN}EyN(cIAg8G;|Ezu z`$~VvG9a8+{<)I8476wgTpr@dT01*dR9Ra$1pb@i*Ug&(Pra+k^C;a1IYGDQ0cx+u zU%xTqaRB9_@#3KZiZdEcmT&~Z)C~<>3}*tGjnI%bh6KoutpFme)4@iqtcWNo8dNt# zSO~2tP`DlE){c&)`{KA}H4NG$;L|gI2sFrxx!kSx`zpyQ5|r)4S=L%55nID`APo@+ zoEa{o;FW{Es0uZa;YWm{Hd07JGM4lBSKRnHb0)moaXsvCMU10$(b&$*D5jdlC+7frpFkK>!%Y3|+HsCM;!HK?8}J0txb@z< ztNkzj#@8Rbaq;m7j}wL=N}6373>MobiL=N)F1ejFpg6TNKIAOlCT=Y|UZ2XEi#0bL znGz&SX}f?aEO_*j%U}3gU;FyE-~YkC`SH8&KYTSisR)kny=^!4WP~D*CSF;CCL5PBze@PN;na;aP5X0~KBUq$fQZz3VC zeI7=62UP2T)y1Yw^*O3*oZ((B9a(4e%B+v9xY|c=or|2dsV4?o6g7hR+m3x&rKGcJ56 zcToWjaqbO3AwX$%1ZXlQkFgu`C_`1=l;CiMS*sjfWZ}ogf~h_@8 z6yUG_xQS^2{FDU1N&#ilCNj5b4=9B0X5_GlLC`~!PSx+^r0uZ-Y|JOXcagl4b_Z{V~{exHUUF4<+>pl7Ggmmr-V8=tiFDm z+)4u3m4GxFVbdg0SSD;~f`wX#XryhrXL@ilI6ucUYFbVq9zo+;&MR}h$y``YHM6<0=1~SY`v+y>5Mj`7{JmfN&cFWtVfD?@ zUd?W*CLir=)6ZhRZ?-JPedP862M&QvJAysWyciJB4c7yoU2A(*)EaiQ246udr|<|_ zv(~sed;#XHK1Lx~OYx*d%z&uGj(~`@1Ti>kFaTC29>+exB_}W-a|$cWIOaW@r%xvU z+vy3dX(DO1X zpcD;6Sc#}8gNKty5pb5=0+SPxN*_%La6V6gES6<&IU%Tkr*lQN!5KGbNXAzU$>~f= z#SuCH5|(GhrmUHtM$}~LVN`n0wCqH2( z2EfB3%G(IlGEj0ly#7iVKsQ6clYkNb$psFM?>V;( zTeE<6!-e+toekf)`>#K|+>LRu=|x7aREZ&NyBT<~>37dJyVWH)w7PqQO|??w46x_L z*(YNvRca$}7bp+#z`d{KMkJteF&KD^xoWRDR_lv(BUNNI5qb!x_SZc5_xSz<+wHyb zsRQNwR=oY-%TM&}SpP*$f?toncH?v_%nAJB1VG3CoJ_eiuN76k1_e~K&@f`*f_8k+ zmFS%Sk=A=r-mcI7J3+ER1-SUBfRn8l1q!JFaVeslGtP&Z8gre2#|wBTXK!J){G`} zRu|#p^)?iT#ZJSZlYH!EHJGKIB`3=}h@(C=I;H1{vfu0mP$^AOF&Ce)Z>m<^Avf!H?hj>KiX#pZ~lgivWmrXW=e{ zvox{IdY!Na+|cK_e0I&x^lD>xwAX_J&o(LfRbM#PdXW=8KvVDLaicQ3ft&&cv^H7y zGhsR^G)I)sA|=9`nIz;P4I#}wJmmpVZ-}{R2F!0Yji@6(=C{JlX9nD*zD9nD+zi8b5-U^5>MwJjOj<=S#rT{~ zL6XSz=4Y_9`YPwR7}XFhl3G+t&8$6Qa^=e$FFll72u&^x4+O}LkZeFES!UKTTmhgV z9KAy`S&*mm5z)$f<9Un4E1DRWL@R_plkV;|0s$@knrlQ3(RgY(^2`xBYVxFp6VF zF+rtp_z@SuOx|YnubbzdY;ZHlJOUN<>=&If-d+m-EJHOTPacR6Cu;b5{52lODdV$w z*UKsZ1|@4frK`oSWv+o}>@X~gFJWLfl;(hFX+&FC9bpD|E0LbfDO)tW;=iQ03C3Cx z8{jm6-O!q8^#O^|f-50e>tT%^XoYe>D~E6z3~XTFGNXQ)5?m~T5ZRj%O&Y9SqNKV>2K7cW+;3)< z9?z*pRtMbZ1QiB^0YFazL!dD=2Vm!hvwbUTH#%JuPP{ATM0m;Ka6_p-{rk(8`Okk7 z$iSazrTT(TyU77g0Gng^{B(>lF7BSa`;E88It)Og0Y@v=;(d@{i8s;`2q^`~uG2Pg z{fz393skvLZL{;Jju{h=9Lf>^v|2_@wW11;du#kV|M4$>=XZZ_Sp97Cij)B52fAH0 zV;vjoN9)hbeuu0Vd-yq+Q7Zu?_KvGPHk+Dhy|HBhF10R#uj*!dhX?Ewn##2QXmST0 zBp+2O$q!x2uXh>=4A@eNmqBbece@I#GQ&PnX6e$RsuLqC+LX?gt97Ep??6F zWG61Y{kVu0ozG+H}O7^+&u9b>9Oh!fW- zEyyuC69BUCV-RJ7QHNE$>Ik)z^{`P1x=U&B9>uFCQ;n;W{u0Odu5OGn|0&Mr%ufTd zN>fuvGZ%FMk`pX94wU!1iGi$n&prVN%{=3H=SXP)l<5qV3JIxd1`dt9OG1b#YRJ?Y z*$_pdFI}Ad`nwN)=SQDi55L%$0Y;9{ zV%CihFE;0A{rWK0;S$#29?`Qk%gx21pnB+8sqV>Qk~@YAmVO{1fDJZo8#<>Dd={AM z>Z`8AExPJUO20SR$lSY+8mHq_((Oh2#gD#puvX0Zx*N^ZYhdKB_29{Ln6vu@Z0Vd- z4Q;`av)3X6^m->pTGMbzF{QNthrSzNC^VIIp_virKodH!^z1ew0W_Q$Ne0`(-v2-L-nCbjEV&L_D`IC>)w%cfV|v~* zQ1O9{l1qKZGgCRqJ4MT!0!+>Pdun5qUX`Awp;&5g--F@#l zr>b)ASpE=uXJwsp?(H5<-)WB6dwRO-RApu5V`uD$6)RRyjxcWcm`O43>ND60-?*{K z4df2ClO_QMcY5cHcSgk8rY2oC15tA+gz-@uBj?&FtaewmH`NVry z2hZ)R*Mv38Ii9_^`PMIe`FyT6Dga2(X=Zeq(^8+`NjDT@G4tNCA>U657YkU-CYsao zBg>Xm{m;HPXOhe~k%ifi&W!Fz9cVgfFr!WU=!YNw+Q0Xm@BHSszW=8`e#Bb;tVS4g z3N}9&niGdYjYPJDWmGFadCN1}Nxj}z3tH_d5hKi5WAw5y)TUP3u84+){!iq;N9Be9 zazKs0$d&}tRbdfWDpX+-Td)Ns*w`(>8VbdzSC92xcL@QIWT>rdA|U&ZButzCu$M{p z9(UPyyqlmkoOnA||BLZyMtZ8zdG<)>wq`S?B+p19>hQJ|h)^n=Gy%a7no_<}YE5k* z)qMg)ND)BO+RV1EBn?=i*OetfBxHgzzQCA8Au80xRU+#S6k?NAArPTfg~qHzV{~+3 zv?0p`N1xSs(&I;y!U}*2qL~`h$e;xwT9}3PvQ7bEh|~ym(9|qw!BlNb%)XcMMx^wB z1TYgQfk4%ucLPC#sIjm|B2m#3brGQ&wq)=VLQgs15+VIeMn0P#2SohNv_$9@jxPO; zCEBag^8R7|J70Ux4EHtiHf909VJh!Gn?;p!XJ(566Rdid%Nn zQeF8l&?l4eWEK3`$tT!7ySvP!rJtMTVIM+D0 zNMWcJvD8>*D#QJ^=kuP%mA@m;?hL43`S|%2Z`jM1s-z zjcmYKKvNe})8>c!i_9&#ZCQlt)5uVBOkipOWrM^5O~iR{4-<~3!5V@zVMmv^yiy`tp}3pxQe z+?{nkbKYf6K<>cM6&2v5wV0+}5X6-qHLBcf^|qxTlhPMNl^S4K=mIpY#0{ihuhA7a zuT5j$xT|g}P&l|9dA1a?h^-&Ix>#%Hek<{a2CS+7OBuiy<8v7KEOjR|B1!Qr#d9PG z5efNs-c0H{C#WUi0(@tBp!G~aris&wCyAsKbpwD9R`8rDE;kGh(M327LKX-BDF=s4 z^d@y@YjcO?S}S)4Za*4xW#S3zJnPCBy+{E{0IIU>!m3S`fV&K*LK%NB*xZ zhtgThT~kT*ln@HFKp3XzP~7_9C@kA-fr>yhnu`D;(`|Ky3V!x{xx8i{20obZ53&5y zGeCP@gKk2cTf90g@83+n^|cp&@coZ(mqs%JJG1w1ru|L1y{pI5BJfnzA{(>!-KKXQ zS=9kHUErrRBkIGGY3OFt80&@Wfc_Ax&g@9u8QT;~SPuw$*7O2kUFJ#;OV=tUv)(y4 zO1ThlzZjpzc;NSA{HfOk08*B!UZ(8o>GT3fF^q*lxo0OgH>-lyh zK(p>`b}WmQB@o)Varg=sLn;|br^%eLv~~t}6HC-456}@MJ2?@Y<=HUI!~mfJQWk(w zlf%yu`FSK{NEjMH=j=coYRJJr*Xhmhy$uF`Hi|8hD0Ae3lg>ARC;-3)Okh|55iEwu zSObAD(M8FqHQCJMW;Vk?*cB~eA%WIF8kIYj85T#UnCD_R9AME1lNsHT3`NAo0eWgG zE9E~*6{sK7{>ek>^fqf;cV$Obu?J8PZrQzsqdYX zGE0cLH<8J7J`Fi#60srIHZDX!r9lAQ6(9cKS^}@&kt%N;hjoUb${RFaR)2tLx5; zT6?TuGj^2aR&e{uFt|A5Q?c-|4b2^pMFlU|+cyNBsFzxvJ} z{@~SI{2Pbe^PRu*d=BC6xCp4yxmJ$u%c%})#N<93TIjq)gJA3oi1E{_4gtx@l(%nq z>FC8E1DnTKO}1l|kf`eEN(yGAA(Tu9kO5+Hn@VaH;#k{h5eYXCoQ%_C1b4+q>?eP= z^V?(n(e3i;R9lElViEu-vblknR3!pnDV&VOeLve|EarlmB7KUKSFkYy%=$0)d`;bZ~0tq+cRBTy#vz7df2|dC!hPy3*8j2#DEd?+U zMFG}mq}s(4R?z|boOR3(}Z*F+jT({XA4CYou0%8K!y-XUjrFZYcjKiy>hqr z-X<*4OMyqP(&j4qiS8)%>V@IW2i5D7VpO!-)#`f*L^<5G9$JhCgqzo2jL&)GO=y`? zMQXbc1wH6d1Hpn7V1Q8&D5!q>75EOletUJ9x1?p%>zFyzS2O7X=nbd_4Mxh8g zd49F6<3*px(l7+Q^-7N@D2v1lF3Jk(Wd7Pq)Ovkfvaln4c?!^IUzp(~5z@Y}YH!D zw_X2WKL4|2DzrI*f*j{)al$)u`8!{EM~n&BAEq*wSNF^5ywIIB=Hln7rOAlHI;0f%PeDJ(Y(!KD%xq{lcehNr&E zq>#IePKnmoGi3-j>qZ0P(3o{+=2DF^l zWN@U#NBbUa2t1iC$&Nb>a7WpQ>xEbaOVLIR7@3z~GQFUbAj?DZF=19i*&V(wB7o0z z469C4mRk`@g4i0qF`!6RXP1PP$tnz8GBm4bWB9;*I+IXbu&oVNaKITAQXrC<7VC`6)P#W5pIrAiQVY4G;d65wL2#&lBGoys z?Da*BIxCT_ivd|7q25NtlK7hGRi&a`3veOlP=KwYTdJK06`L~|*6#CIC-OIcB>rNF zS6Y6*&F`66t7PLv3Bj)<}0o zPbBDELxLL)Q+YO*+`lfF?;e3BkXS1Syg1D79WtoA5YtE+IdWl1c1k=&W)v)tRV|G@ zqs39(qG(?z0R6lUZeFzO#SVa87XSowQ~ce-^cSy=B+M=PL>5}cj}&FlET4gUR5u3H zf`xuYNBfF2cXNu97lB4ig3DO2Lz^axg?GXGkl;IVDQL-Xq!FwU1uSmXmX>UL^C{G1 zuqo?t0|@#QlvK!LZ$2Ow+`{BegM~s4O=ibN5s52B#pE`#oiaXFra{Y~xFl!Oj48xV zL16_z5eO7VwFGyOf}RdTun1LXHCZ14(M2~_8ZBj}DdX(T7a3^AB>6Oji6#&V_NK=> zuMR6jz#C)|NHd=-W|PsCozN68Z54bIhS<2D4gOxRi%f=5K>qj8{ zVYuyR;&%_wB=IQfC1npQI@zZh?AbPsu8?SR@s&dBf#tcXQXgQBVe!BA@vA}!ikh-iT@%@(6) ztvG_hKGvFEuD{wzsQqsVXy^pNPJUiV^8Hz6FGL1mA#Gr_%ig>4=AiwJf2pJRi5Rc* zO(Tgp%4Sv&WMx3+;a}O~5z6E#b~BDELS%ZVhOTTH0Yy})C6y_orJ%r)9I0L-06;C& zC<}sWs4KxVZ`rWgu}87!2+rahhM|nvh zrtIEiqb|pw1zw;@4Q!$Wnwhs~k(Hc5aHbn8IuvMG@3ZrE-vEdPivZycYgsAlW}Ltf zPED5TklqM$n0b{V zrn4`3DzzmqDFq9QkuXH;ghEV$Q}r==sYj4FFQ07xP<9^Z3vI_ox8Ugdniq)f%0Jzj zLT%pE^^2|3{{|1YJI0&2n~P!tC|$Tv4}OmuByNn>+B}!{K6n-i8hY2>47}3Ix1LPl z@bEd*nflV7J4{e8=>aJ|G1lPA&*d(Bd{;dR8w)(Im+utb=s6|=w;$g9#_#;%|MHLi zu{NJzr`2m%N*h+{fm*>9 zO+mLx+wSF^GRq!x4#Z;1Wb9jykRavme2sy7XmGKs*9UNgy{vHu2$)*M{e3&1o14tw z1~UpO#cZbH~h6V0MRwqdc}%HK9L3!N~jUd z85TaVEQSDsQ7~CpSVGaQa~LDsvE*`3N7>J~yKl$9U9EdJn)b$XpgmCGHZ*dA+&PKo z1$Pn80%o+R25%RGhOlJx&@4-oM8f-%)>rh5&b#xPA}%sWlYwlFH1+=IX7H?%VoG<~ zxt>l-rOi-G0w%g~DyWSmedVNqNS>9eA!C#*9guoUwCMH6j+kT@){&4URyOrEkL;98 zh9oqN;Ga~MJtk_ECuRvKSnt@Z;i4_k`%8``WBb&PL1gH)E>(G-yFaus_gt~1@x5`7 zD=7AG7OhLyI^ixa)_UUW*}8IL*Iysv7~92kw0IHJ>)OChnx%x+yWsSFo{sh14_^H3 z-}?6HZUIRXjM-nAHtM``$HrADmM~aPKhVbc^$XRnPEUW#~mT5@=0P^6JP4CzoE>KRhpW8QTQ0LYT-{ z3EhMLKy;mySP9Qa1*fN_D~4I?H*hs{7(e>c4{csNc?^F;M%t)ogRlO^aeI!hKAZpk zH($I+wlebab!0oTBULC`ZSdFu2t*Njt)vhUlccFQUCdSI>UP=#sD96)5deMay>N1B)*4MBnLt%7! zRSSOUONC)9W`k%dZtXvWvy>8l%jZ}T3;?(b(D)zi>OVc{&zJI*3B}9#R6lxodhZ?U za(Q_kl9;6=v=J9RvfHciQL|iXE<$fkJh9Z_VoxwkhycU}dEd^kc(4Rt2-@qy8WiKw zfa1w<31@Lxg0(^(8ZP}>m%KUDKH{~rF5ho~TQZ)Uvriuoa((ik75u$gxN#|MbW#rN}72J zCZp7Z_7|pz>SUifh?K-mK-vt9Y{i^P{OCB%aO^o?oBVV1Zs@BYJ4#F&p-*S>TQ2t9BIj*Z z?>d?sARs%=_mh#3WUmqB7>VUnzxKDk_TAt9)<65Ne*a4!JbQa4RBDSKcIEb1WAAof zu(Te;o}13a=GRF4bz|VD3+~Q1?1qH7!As|%K3K6xE)i3Bms1L+Jg$Z?=rk@is4mcw z2MMZo4haDg)xc>Opjb;LdqgRu2w18|UM+bK&w_;18cG2+>8uPwKa&VxkzOs$jZpl} zjsWoT9D6q>wjerNaVU%pWXML8@|r{Ngr%M{bH;n*aij@xQ|!)=3zfY?=iR4udpG7*($;Mi<$I9A;+dhcM* z3SXWP77hUBP*X^Y*)&B^E!A(D3d6X&x%cMzOaUts<|*V z&qy?w5DqKF_e&gWa!0|rcmG@~@J?R+{mMz9P(21AMZ0H4Tn7HS31gqc9Ikh>2lR9Mn29y;RNRY-d9 z-XK>zSjTMK@ki$EHS^`KGT!j5b?s9Ql!`oMVa2 z5}>mT&JTyrfWh)7uy&8ja&(UCWXT-rM1au;U_GEqhqjTh=-%=g>?Gk5ebrG9vrk~)DS?fIBD9?d#kUA`QWy+@mvIM7fln3RA2M`oNu=a z-W4oM+W{}IjB$*%kw!OQ$*0e~#Y&t?WkLiQK&!-XtT@7=00$IcVzw}~DHy?Ayal?U z>#&P0QWPCoN*qsJy9`%b+OlbLKASc76VR1Uytu$wI5@w4GyVD90=K`(t6>Wj^6!1^ zX6JnQMyyzXLAOi0UDilJ!)n=6;KkN-UEefa9QW7244?iMzX3M+iN;U%tp_p3r{Cbs zk;A5{sXf~D>eA*E#)IHz>+!zfz&@|>N_dz2-Ch01xB77_UvX0@ZP7;`9p|~Y)0`m| zCyTe%1-UzpfGhw|46Wv@9@2KguB)^T2>4}Pb#Z&Ns2?qsgW)<8)JMvx$X3`ZqHagw?%RK`^7|!kInB46L+mB##8UuyztC_Z-%TxQgyFGvV z*S_}N2hZx=IUUASg5o9nolYjZQ$A4T?(66OvT|TOnClvZPC)8SI#(%~tjW%Ou9Ttm zGzcUsj`_G{a_#Qp<1hT$SEpyw=~Vao>FtyOh+u7T_QULV#}<3HqvM=O0K?LBE||Ap z*pQubxM5jvcgBm|NN5mrM7=5p8IBmMWRWr(*-wE2)Wp^m21r=v9gWL07H9Kp$^YP)ttC%Cug~c)A_@E5hfS zBYC`o@$>mpZ=6K0gH`&x&#>ifyH8u+_5xVo8YRT`FrV-_|Ej^z+ZYl)0^T$H-l6?B zFWVnm*}D~Ioa1zRe|Oey;)}!Nv>K`rBm$~SxY0<@)+{9D2UnqD@Z-0M=*{mDW9jB7 z4e6f%$wZ(=uL*&P-ASOHlOIe;v>uj|m$Mjv#A_xRt^$B{^~-Dy0Z0yfW0HO1Bw7!6 zv-)q|MgwNzC=)N~5j>g$`3{|waBdnE&VQpqfXnH=)w3o5Sfwp({quFht{u2-*qAR~ zQv;yk1v|2lui0R#12j4@l@{a@+B?l?RLCk&gc&HLl+}Pnc%*j=%Rb^F53`>cw?jJg;Y==w`>n-1i~;edPR;! zp-9RY77T^}M}!ICWKdObF?|3TvzMP^)cYs>CZBUNhc%N)ZY}}NtdWjjC}>qqYwl<% zlOkqfBha-a=^-bY%Rz@tYSGDC=g^Z##FG>1&D%U)-SZ?;<$V=1ZA3$-+^-vJ z!_+0+1gZIRqm4=>!DJ&R(NafG#1?@a3;h zXIoLYGKf~cBW?O7e$ZMP;r;A;A*|5Ob^rd&FZ}v9{^Vc$>v!JS|5UEZn}!_ihyelza}N$9@b}$$Ub;-V;j2VquzrO0wFpr?+46PTNd41Mr8CeR82?w;~pQ6 z3WA^h>f+Se&i&o_?bLDqH5s`Y8FyaXOwtlkcZMs3=7M%`$%kd_ugPKxeFO~%Pg(m5j5{Rsev%DYy%ogC5sOrI)= zd<6Q0A-YsRWaHwi=aj{nMVvKapcWZ>!p2$GXct>5_~^%UTxv*W0JJtBdvMtY-RY?f z`lkT!sP^%j)`$?AM8GVJw~DbI`rt%tFNiAM4fXlJq12> zU7egiYkk^wybOMQ&wm*0zyIj|S6x<6NBr`*TCiy0H8lbV>#4{2RzvL&BJ&ly8GtAF&RGH#vu49 zHy*;NpS)QBKe#>JE$wp7Z+qnRe5mgZJatRg$MA8u{@Nm73|_QkWKYeT1i=mFl4Y$Q zCd1Aq+7eZ=pcOYy31$-j4}efHOC=BnL(Saw+8vh#7R7L`GGLy(g=jR$QkYz9ii7Fd zWG^etq6Hc9lI;vT*2o@Tgu68k3O9kEn~Nxbivbzc3tK%U8lzc|=8i+e-B|%u5HyFf zWUU&4FgG)V!vaQ~Ax7-Tlha8WBsYOAz^p!=6ij&vggxKUnobOxP-G?;ycv6GBUy+{ zoe;*57l_%Kj|DcvNO>`}h#0+Q15?o~?Xs01!FYf*4%cSfd2TGqL(8%;<>P5j4f`kO z-sQ!oneU&t&FePUdJ?%-J+MTVgMXbZ3xGHtm!*c8A%eMh<}5K}AGU$vfR^1{e6ail z44X9kcMbv1&3l_8S*`v?IO(AU&)ac{DK4Kb$MgH&{Q5V)`{jS}kN)L1zWx4N!xKcX z2I_P(EypEra2`XgbyTbb{j1Y?cK_1Nf!0eOnU9L}k#uTH0rj>pOU{hNca%gB*%=gZ^y~>oJ;UFLNoq+W-Nekhe>Hbv_yS{{G-bb;TJLvzMpSN5^ActMncO z6z9js^N05@=i*3l-fYRW!(@2EK(9t^Xs~P$QB`l9Z{}*TzmBC_^2<~Dbc)iH-nS$I)vx~4T}Om zp%q$ONiB7{=0~AlzOi4vDerj7{G_}-1VpF`Ap=k>o4@Yz06KJ|B`o6kBWNoU_cLk z8R7aH@Gk-cmxvnLd4`Rzy$ZQ;4b{->n{xK6qu-nzaIPxGVsES^1Mij=5r6la?;YlH zU)xh>|8~Y3ugsIvRu5Eb-xvU3#IFQAz^o54v3pN)S_wel-rxqfCP!?MIX4%U& z3`~S`CQC^VmJ{KWLAaiPAB>r(K+6j;)RglQPhGtnKJ1;b zBb0zzh;9fJ!(`z{E)I0`FwDb8++GTG@q3&Q_4&5{P8BweR_$q83s4ba7fWud7$^IpU8N>? z*Yu>2I^puH$h8&yN6+VU6*Qv<43rHXdM|?K#Ugf%CZsER@&DD4h+J#N?6?F^7Z_+= zJca>XzmF7uAjtZ|yKnsR2hTrvemXAu!(?wwhMB4h_xowrj?2!Qvvz;oyLXMb+>|MXrajNe%VUF4Gj^rEY<-+ zG|GCyoUv)o&}t8k2_}HxU&_e@^c5dys zEXD1Q|MKHwRg>nz7ZZ&**Eq&f$ip;~bTEMXDgiCp&8(fepFq=Iu-V|Vyc&a5$!xHVsr${IDMN#p%T}qs47JGXXwJ`4B{zV-De^B?@^)w{EQ zV?QO|ZF9|0XfIp*>HYb6@o(-Y>9PUAnf%ex{>^cDck*vse~Ps8(Bq&-TpOR>ev5tNG)Kv-Fk_T;V{3L?HpVGjkEKIr}q8(<-OUzwx9ay3ILeQUe@^6x2I>te(jz8-u)B}dg>|e znt1%`&F;VbqaXYi|Lga@@?xI-DLi&Fa?0g0ln(U9zhAK>ptmH$c7K;hY5ZpxFl^VE zhyLB=>rW)DAB+SQ@kyIuV@n_K2%a7`CQ$D%FupR1C>~qfC6tV;Ph9pglnSYkpJ=*? zt|RALJOBCspha&2`-a_;IMw*`kB>0_&wll*-+OtC_$jfYpLjfSF8b^IcTeeWKHZKt z1OR=GC)hTGwT0e-8b(KIbQD0EPq=e5Vg`G|5eR_0NY<7e#gYDVg(mNXdyqMGMAXnT zrzs3_U;!vh0XY_z!OWjzv#x*z1q_3kg%}M}C~Na&uz&@u zs8uZ?cb^%?2*?92)TH9jmQ?hN>i~AcQF?9DzVKrA(ePWIm<#Nf?KsQu^hS z0p`)hoN*u-;pj0C2@ldpH)Z<~8DQS0uu(|oDDyLB1}m#c>v7b^``5_cUMwPevb6vl z{eK4%$2UFLKZ7A)U`P+(c3g+KT2E1M;?!CU>_AW~LR0Vah0ghBj|9-IrZt#zxc*pC zDPCF*q#xW-CV;8Bq%7l23X%F}S4WCfCA9x3WMDB45ZLlbf#b*bzwz(?;s@V+_x9uC z;jmV!e&!<_cB$KotvmDX_-Eqp{K_&F574Y{!)XZd5f$C_vS? zZiIx$o|6IZq#reKk#Xmt6iA;}eDeCzsYhzO$bpRW%HZUtOq@`>AAy(NnAUHEMuVg(l;R z!>mA!wt9g90Ab|w!|c$9r~0b4d{$er+F-^P(+nY^SCogi2up4IV$XLo6%j3c2#CeX ze$rfc@YzjZ(z3$+ z>ax>~E%YJVpT1hMDec&x8^@4dp4<1XKTTIXliwkHbUwD|E4AhSZB0wp zCCV8kH8D~7CGc@w@akT;)H1AR2Wk=i@^nwGlQFmG(w|NEaA|*XwX`2b2&XOlitjHN=8)at1ouH^xk1h9(&DL>tFgVy2V`G;=tgi=E1HfwR*|6$r|H& zO7wR(LB&Jw`~e>Io$Q7Kh zFjH7D7)+YRW9dL-zAq3^3!|EfihHqGmPR)b6~O{RC18db-T6ye@UCEQ{&8L0wS+7P zpb)ZbQkL^a1egsDX-GH_VFnptoDHRcPi4#~ut%aEjt=s-|(NdI# zqF@F~c5;dqHB3VeSyBzmra(i1Ri%`2Q;3)dfPs!qSyoA#44BDqIFU*OT{Vw#avJn2 z_H0ZGVMi~SB&8-|aOL_z<~ttYKao zyN&VD`g8fU+5HFi%Ux@QwxFF(_5H8D_|@P3_WkXtS6EngzG(mwK+J~91eB8h`DAxi z!Z2OQ5V}|#cGUX9OL~AST#l;Svc6>+{Ek8p%v@Ktqa>m8@$~*T-utb;|J{G`U;gti zefilF0w|y1P+NRAmvXeMJ}|QR<85s@l4;3KE2~ zq0qy;L4tkZ|NkUI((Jw~PJ(8aoNWGg7!Ef++j%2H zI=CI2)hJ{^m5PJZSjak`6bIA~x`?FgJcVwFyxsX*onKcGMlY(x= z-J*8aB+~_1y>4748~Key#M}T*P;CS~i_(plA`b2iGGI5E)LCbeCUEVGusTnnFj%S+ zznJXcJ^+WyEM1|HoVpq_d>fyqB3$B~kH3yV2nk$h#MXUNONj+5-JecK<@9ywjdh9b*Ex0lDYpV$0)ctvG3cKz6__Z~&TVIAwwdcsj=qj?y-njr0zKIb zU?ZS!>%Yc-1&}b<+CAveI=deAhJSjQ9uKYtH*@d79v<)W!O1-iF!~Pr^4v{#pYGfD z*UkF!H@uL|h;1zMsXU3F$Yy`~jX!D2z`4cOp3lGX!OiWteJ=k0<9oLislsb+Uyj!X z0BJ;uddbd(2LOOF5g}3mAvn94JL3#9MIO}Jw}f{bGj#%riZlNa$DI5%m8O+gGK=ZJ^KqlsKR8l z!uzlmSb_m%pJ0-WDtRz8Tbh~R9z=Io|o<# zGViT`T+anL66sIZJk|d%8X`bn3A0|fr&tt`v#4t{J+`j^*1AHbu-xWa#>mSNy#k>> zYlskU%Cq-x>Zyf(sxa)6h757UG*5f4uOj^5JW1!;U4(N}c=m+v!!|98(uIj&6(bbr z8hJ(wG=v$^q?V0=i6*3+&o0tPu|&t+>xM2oMDw6gXy~Guot7jMcH!HW5JhHVQif<` z`&YVAg3y;GCbJM1bc8Z>(syRQ#LrRp>gR4yIJfrI7tj9U_Ekg_AHo46m$imk==2O( zziT}jUPHN&I=eV(f+o66c3<0R5evM~VM}BoNM`4(lYh}xeJ`4cas#rHjVvu?T zQ07vj*N+3Ev=m^0SN7((oxR`9j?%Fvz+RddIl zBuweBUT`cJIJ@0=D0z%;G^51E)I1tVV0g{ffK6XE8~f5YL5&6{!_iN%VkbbeZb8}M zjB!meYb=_JuuT!~a5rV?fQNa6jQQ9qZ$!Tf2vETSHIPt%Vb+xwl!bd^@f|tpt8Cw9 zO0Aaj&7W?MG8MW%%@BFJwC}!m`2BqWF_CXV4#r&1m3L!;#?fFba@()u^4)iv3Cj-6 zUVUAI!n?u2S6ASHfB)d19s~ey*!b!1$HO;z=rpF(%2cX(i`O})&51jJ(T%aUGu>?V zxwzGD9;?gYI#s>DoBq~&H@D~Z*Wp<0QScVm(cpGG5dd7Azw7c2u0bb>}MX&!T>e^EWjenh@IO^KdUW@Q;S2P zO==Z=;{XgQGE41IOa^lZG$g4$*xAFqez_Bf1cbbxEVNDx1rS8+z&muS)D=3R04IZ5 zDiF~E4wztBwtK{Whf2IUYZlc>JD|a9qNL`-ZWWV36D*nMGO1fdh_Hrc-6qV1P8L{$ z$SAay^1`$NGchbc6v&A9Bq0-xkSRkBZJy#a<;BnY(c8|w)h}FUg$9bSdKqinV&u6- z7GtMVQO|8T*8Q`IIca+yxaa*rr!L)myZ66VK&Nt{S^E4Ktb^{catf@0>{w7uogC? z+ti``T=-MXcl8(`E7lq_JXi#wOW`+3G)avxBR0KETAGcXhIfkvj}D3Q4PJsC7Yv)N24^WA_LZ0P`FS8NHHR0;`(91#X@CYnr&W|WH9%;-VM z38w`$5iLMb-t7e&kX|n!(lbzbi#P2}qubjIanzfnYo$$s+&)ml@3$U6Wy7#k0DJlj z61s+2!XHLSrlHG{&VnIC27)lCk+Rg|TbDHh>xR{C_{6CFtyod%_FRAIy_>H--+y>o zb|q)WCmqKyVwXjlfs*=rvzR zjF_W^LT82rCJbnLd^fi7>(J5S8dj|L_pb%B=BYshcpvc_??2zU-__-9)#`oP!?}1$ z++NA?>ErR*3_t*8EaM)y5Cn! zM5P{CVM`sGi7J8{+&T`gK*sz#!(?_2w6Jr;ffmt~de{Jm5o|zHfHPp3Ae7Dxq$hT3 z4F6QNz&YFc^xnRZM_8%wY`(>{I8n<|EKK zha?Lr3!6z}kvvd5gL(IaC83^CH8=(hU)??5o7_T>0|luNK@i1R+<`DR%e=uA$o%vy zSrdpDTAu+~=UA+p4YNRAg#|hE)P#ES&C7iHq>ZnEb0A&g*wzB|sfcVU$F`9M+JYi$ z=gRS#G!AEc_1r-Z(4pj2r4x(JCtP=zUEF$<)Pb)jkdtw7hIz)yL%Ez2NAR*HswUq* zn)8 z=c>c}n)~XoirRP%9*QD5>EBXRFQiL}PQO}>uto*kJNtR9Sh1nllh-!`u5>#Tpp<@5 zCK4^>9`m`$g8uQHKu2?jn84K`4`(w8L(24z1RKS|Z!_QWZ{Y|*in%btim&j~gBeRe zv)d9V-e|Tj{%k+pEmcc@q_8mnIU^diE0z*2r8F~}i%o^C1M#WRi^;6)bbGe@1v~fW zdp|Ap9A4-~n8nRxyJ^~4J(|q8pY1T0CB>c%juMm!P6(Xa5|jn!V!PQh_iz5E|L;d%I+Rc100Fo<@;(D>toIqw4#!-CtJh`(I!Yu{W}?@7 zH7>x#i+|eSjV)KF@Up~>8~9hbhMRt0>unK}UY$SLKW^Kf?_LPjykABGE9$rA3Ep@` zx3SD;9^!qveMUg~rT1>;V)gFxasRdPt+pONUW3GJ$D34uR#F2m3~Usa84)NxZY5Fr zv)_Y+?*6FXa`$BajbuF_FdD3IZ{}=G0JtnZ}Bup}Bd7}6xJ?WR}f9OSKGLwun@qwfu2mnC=AQk~L!0byecde?-a6g|O zj(cR*c9)s%+XJ`mx>-??5gs1y$ItSe?MYIM(AvVO0406iIuVW@d%3%ReKm=-Z$1|<#%;sppkV#{0id~cfX=w?afc6`8(_}O**r~Uq@ZW~VokssWK zaYMtt;cAc5X@K|%b!dY$(jyWjoVvS{A-P$m;)fW_wahkV*3rD`1#XlTJRpF9o=cO1 zt}bADOrYrAe)|tTGD*M9AZBs1LdlDxIGQQ-R>m-*MT2sme4JT87^{EzGCjYMM5;&S7JYeNNFSn~8 z1@|q!e6~3&j_bTVceLDd)kUbV#!+(*M(%g(&;?NhB1`nF<4iy7)JM~VN9*lqKyXpZptq_+&;Nl`k}Yp?AkoI_TktVIL-=K+e=x1p!BgA&@vG=vzJ!@M4TbBA84LbD^7RAjXTY${b==YGa(C z3&o;Ba^mXXMSu)Sv6*?k$5joVtrZzD_Y_N*=+t5sXc`MBAWH5I6liHC6CrOh^Q>!( zpxN*X7kZ$Z>|TJ@*UDsQflJ~XSOnG>j%uUrv#uCo-CL&P7RLr3XBS#=}DricUEW7onv63qa(O`C}YRx+=OB2cx z^#yEBr|G105bx++qT9;JTppd=)8+L!(_ppB?|$;hldEaUC{*9w+)be$|KYd(=5Kyt z+v(YNKl$T-_s!{a6Bk!M`R-$L-){Zk7tV@XDR%PccZrw_q}e-rZ=}8 za=Be8>gO9j{wbR>gmdBsM<&GHeG+g!`&Co=!nf0OI@=N!$4r7pR#YySc`}J7#rM!u z{ABW}7{SHNv(}?*Q!vlIU7`SyKyJU5db06(DsGyb<}%WZ^K6@9o4IUixY=eZXB!Ve ziKkHKesKCZ9&EftZ2YCX>SI)FXz(51 zd4z*MI3or`l)UZ^A1PxdTpQh7)<-7RXZbk}$cnmZ@r`%R-q}u1cFU(yLjI@k%+bqVV>`$8;GL7=CG#~nuGP)` zv`z(zJ~34>6I!5nn3-np?U=|&TFPh-s!eZJtEmdDQvuBPLhiZ$f zMqtU*Vn!+Hc}rj~wxo3dXoBp-^n_u;RN$fon?XbonfQTN-Q^JAuzV0RHAKiJ5I_h8 zW&$0?E`dr9NwOK5Sdy5KH0!?7LTiZq5^Hu^73YLI2PqkqEEXfLie{!@GnkGFs$?Nr zaaklJ5kBOu2uYKNWe6Ecy(l7#5PdMG9JKjke_UK&xn&HmkLlv802#s9pKdySYE6Ca z;bT+*d{PfI{n+?YY;v8d9NXLNS>TfhM%3 z;^UmwU6dL7%blaYk%3=Z#mM@+zz}FeBv)l-_EX~hQG- zcJdi`I$5Z=*>u$ajubh={=&BpVsZzkJ&bV@lz3v=UCakg2l~QvX(3O1?W@{IR|d0MLM40c2)L z-B39DYk!#$a9E7&nl3Or!8-JVhuoaLRqMznG@_8l7k%?5|CyVledxhlzH)x@w~t?( zPe&Wi!F(Dme>eD1`n$Tm*5#B21hG>`bazYQ6b%emmrvJeUtg-af7WemhDScIp4A5B z%5De1*T^G1baf01)>Lu;YlKJFhVl0B9=D@ubw|7TI$r9@J9s7TI-Z|GtW95exSfkF z7jJE|zS(sB0|$}!@$0y+y~F_M7AAYDY`4`28O>-kxdfmFwoWsowl7*zJtW-@geaa1 z*hEH)Y1s0jgv z!-593fLaI=D^N1!(=m{Y0AWj@2IzE}Noo3+DUpgDlEZLyPkA3)lJMjufzT=xK_JXT zs4ywtL{5dy5>~y@VUgL<<^~q1x&g3eG*f7z>LT z)DDgr4sQ;Jusx_Y?C<#6He(&afu9Nm@maJkMgR=2K(}MEspq7w{wj4kghTI7&Nh!9 zU;MBC^S}ApZ+!Lg$>o^H{S~UyOA>&Q)9LirfB1Lb{L>$vJ=mh>o^&5YnSB5J^2gtM z!h{AL_wZVWGht2--aUJCt^Ds4001BWNklqs3NDanhAi4^V$E#kzJhv0 z#FUVr9yh?)2fOV$JbqyyFoAAX6@4DFD-slPRK_mIe!EILnC1@nmNg&WXOA zd^Xk)VNC=23867S7$k{C!H4eq_S&u69V9;<40f}zMLx&p%z>&c;wBM1_Kmh8M zt%+d_$N+T`MrC4c8Qa&jhh9{m*=kHLrI(Ub|% z|3aBjaNV~y;5q%bvqz^7A8cc3>1m$4r?tesZZ^}e{>E2%a6?_|^`ZNn_URZ7-P?-r z%+9Be|1jP(07qedKI9GrKZ1m*hquoxub|(67GW5O; z>`$KF%|wYBMZOc_40hBJqT8Hr+5|ZGfWEm)?|#`Ag=c7bJvGM7COgckHGw5Rr(TgC z1{%M&JTqTQR&M&?^W8@;uG|Rv#lAk;_^-ToUZthQ(o{n@AlF{~@KdL>>iYYNB1vCK z#!)9HnArl@6q}2Ap%2r24dvP4t-_6qRFZVxIGGiF6iDy<< z%lhlN8`O)(x-xEAOc>H{J#s_e#r3`S z_=#3cA{9I7kSxw_ya51Pa%Kb+T#2OFIXKb_gD&hPq!rwsVx8$fHT(OP$n62VzYc%~N&OQR!b~*@hz=QP;$DiZP$Ddu*V|2+YUv|WBPIq7O^6t1=l1GJwTbm*#+k0)!k?^v$M; zvw3IHCT7;Dxi!OVrKs)^0rS2-YmbUtn;glY5eG3bbOT_}D|BrsYby4?ylNJ9ht8cd zS6wFFdy%6PR=;nWn~^yPv64-s}X)l^E`P+m6_ZAV=PA0$D zwU}Th&L!6{Q3FpGJ(^Mn*Sei#n)KCzeSiiM#Zd>Bwi62_zzw^WMrpI=6Rb7R3>E^S z10jSg)oyH|i>iGU+_r8_T9PsX0$K~Uu)bAD9=T>jF{s>FG#CP6Ozreut`UZa9wmtA zn^vrL#T$!r890NLdNcKZr24&zIRzwVHwwF@O-^^~(5S8-bVOW$NzV3nkFS3C{AwNy zJ0$isYQ`4{13tXie|)jq%+u-F_Q|tLkM_f7S06mwesI1$oeboQU5joVzhWll`z1}| z6|JiO&<$iXGZJ*NcAZ|6bvGaeO8EGy0*kQ)+^iJ1S@DcMGXrPEU|FlaD~7R|%!{+C z7@TG%FLXC^lO)QC?d0=hiPG=zO@Tl$Hp-wvx?AzYs|r9yjFS&6YKA1-6qCD|$|Nj; zBLOneGqL2Pn;DTjV(v6ci`V*#GLzKtpkTnvqS&Ei_}ghW)%PRKiw6%7aVt4lt4ryc zs`v`r=;2-~RoALQu7AzU!vK)H|F_0t#HiN=`+1oIl9s0P*}r(U`N6Zxlj(i|Ft#r{ zBJwAb_9Is4BgPvE6QlE>sJmR0IG`IFI>y`T3iTbgz5BS`b=r+1w?EraKkxo-PgLmM z#yUs33ogKFJ}Q-y-O(0MDi<9zXTCcENB5N3QwLD_DO67VVJs? zkO+aW4w>(}uPJE&da7S;1ktz$%)x@TmV^ixpav98LaE%lt`=z$9nmlxCvke>wGme} zK>{R=lJ&y6QnVIK=IWqS(}ro_qE0u`08tT;Tjn&%WwYbyFdKO=JE5I z^oFmy#*avrj)&yVZ|7ehp3gu2=<0jld%P`p|Iz7X*tS$F-U>jV6Bsr0)RS$Y#dE=shiCp z8dpl*Hy^&Aarp0Rq?22>Lj3j9s~_!Re{scVW>%}x0Bg|FAZWz&bhVFti*)wqWsb|x z5txg;cQV8HXfvGwPhMR9?I#yMe10{#ef`ntFMr|eos&5fm;2b&m-)AbS165S>-1|F zo`Ve6D2kbrJw>C}@Ir@p^t7wCo(96H zLXc);A!$||CZ-3(I&v)EwSm2OB#Rm4&J4qPr>*X!5oYGzYJ?Hpq#=wf1&C-ZyCpaE zlbJblDRH$aerc*z?4Dg1*f)n>kHE5^!M?>SYJh#ZZB?IzRkR+f)Cc#@kg2PPyHl}v zbsMSuw|mjAnZB@5hpprOMvrb!$Ir_E092b!PRlzd^WS{@{NeVcNkG>(V*tY^!Q*rK z#t~gx4s=LCV_yL#t| zIO4R?n@*{>+G>k!@n3kj-Pd>>;)nzqA8{**U|A`U0R!gZp2?x9BvVhX>g$IWbk~@@ zd=y`rw2m&;S-{*>*_povaC%@i$t3*@eB1H-aD| zO-T3rz)VdpNmJKzC@Ek=xxs`&I?!M?nNOvp^Nok8*e4ooP;enFoI9qHbqC~4!4iEp z{#=?;s2#|C@?QzC<6MPte$NodZG*Sn88@zd^N0YMali9rSB)Wj>qi$?HU7u{?ki|z zzZ?7Er?|*6;R%To(LMS8+sS_<#04Bq1yx1!ot&E%>N26*D0L9#k zMGa#I!$Oc8p;#k7V0R+s8(OmjhY}O)jJjNT$=FxNupDzuLnG?<^V3Kcv(wop;7@+^ z>^u87J3F~}zI*oUYRWw5@z^Pt*Ue;_xSgiMcB;dv;~Yg*ao^0P?U#*lJ9}-qTH2rf z=;^mUx%l-jog4Y(^X+!>tNN1sWRW!U_5Q2DPOS7|9#nJ|DNHmspu4`)|1cbasTB_& zVwgeANzvSBouhyb(Rx`&m>DvkKlvJ99lA;yoh(KW4i*ngGIOA+gXF#nM6{D@IG=YZ~CN27xfM5HL83=`>IzjPCi!GFbFjaVkeKUY|(S zru`jG@6W0oyLeWQ{&1Z1jMaYhx;}A44EeIG-@EU)infE7CgnS?-H0oz#qsrt!->6p zUi%aP5tmDQ?{wZyUR#v=*g(fq=(xAnSJmxBCfpd0yY>Wjr{3Fcx`U>(tD$l2(A_)k zU4Oo|$9_&G-RrcaX;bVAC-Y@(FX?8Fg%HJT_KqYsg0vRe)g>+5l+)jS@_bjDkyYAP zk@)3z&wDc7^_jsNEAhy9zVn3p+A9oztd2?(TW6X#z(QUmnpMsSg5e_60*l;$eQg_K z7W)erW>`U4uq<6`5D*PZ!)E3@(-$x?pn(83Tks0$r}uyY6%ge^wJQ$psiX}B3egO^ z26t{8&v%N(%r!J?ltR|fk|1Bj0$~-=Xo(vMF-7}C>`AB@Ma>GBg}S>+G9+g?Yy(!b z5HumO=u`tiNt)>*cC877jIc^qLegV4b5j!pN#P0gZ&95URvZu%>8FdN)Nmr2lCoN` zMm*i&!4#9hW()U4I04A(yWyGsl@j<7kpKX+>WiEjWU_OZ$I2X8G}54rL(6 zAA4^T3XByeHf#W*=?+Qy%2oqcFZK@*wwcZK@O=KOAH4XzKY#K&zyAKmAHL}Q`ZNuI zF3h)keEc}BD&am){ue*E{KfbA-uccN`g6yX&3n967K?KLPGe^kWPMsI&M4DLpfMI%*<1#2QV@R#C>f$3FPe5@Di#5 zPD8I6ntmmdAVt!Ncb(|~Q|LcOP%O32ku2OFcx9XDc!W-L$}CLt`s4OlEDIyg=dzvr zZ$7^G%O5>?ysKY)|IvfVbu#O+_+<2h8+Lu{o0`I!5_Em-3k<}(Df4!I_WVMGgLC0r zEJC{)fAqb_S2e!=&e`w&(ibN8{e5wOykFM-Olab@9lU=oqztvImdb*XUEjOewe_oV zGwy-mVKEMI-Qm)`yi5hW(9PEUg-rXxI=wFu2m#yTC29BpAmKM@N2Q7mL7vrx2XG+= zwkzwzFj+DRMgV4+!y)UA%x;iou+l^USyHn}&VeY(pk*>b418mLYa%zsr=OShb2OJ% z#WL+PVNl&4s~)$%{;I`rti|5cXb%e#%u385-EACvmhGO`towSx!}N&TNB{mb0T(sC@$T8|w%gacw2cGD z$Hr}Pf3YmzdHPg6byg&IwS9DPsqP3?2+#M+zDiIPuBtw{-2M0X;I}{c!v1o9V|K5z zBgNfn`WFL#1wdubg2QnFC`jT2I9K?cx*^sun1NI=FSMi{M;Si+WyVu~dC3~vnp zoEpgisD^}LPG)W%NE&7?4JQlS(AFrVfkKnQL0~3l@>#Gd^*owMEuq6`Gj=ZmK{!K^ zBOQ=LnW~_GJ6c4`xQ#i03N&Iis0pH)U}y*%S&cK#SZ?23 zdUeY#tl7B^g+a%0dmiKHgU?47VGh9KAwp8&$Gjn%RHxo9}%43IEmqyZgm={cQpP02#CdXFr*^YtqKJaa>iH z_1SQ_=ycQ9g#j&H9F9_Pu>*vMr`XPbVb?OKg*x_f4K9y#6sxLCgkfo#yA41AyQ&7v zL=kHR(w{`Ar{0eQC4sGzNrPPV`%e5H`7N$GKUOzM1~8+`-ZkQA!m9VbUAya!=45eu zzOUc>tI*izwV0BfXKlnttU0UY@EBPNbDsA&cMjp@YY?7{l!U5is_4g&6z5Sa0HGT3{@G@BYjN$VI2;4TZRqjNKEtqBYFzRX_-!34UkypSeh2W$@`{+hQfpEFaP$My|3LX);sbp;r=qJJ5th_ zv=?i$op?dp(e_oBO;-`Eq6QS&fs3)i8mxs_(Pek8YKMqQ6=EVMCgnXqTf`)MP+(47 z!QsZ%G6gGZ?y|TAP&0JE0bO5!{irq|K~~|QQ*golHQ1xAg6H1GOSSK4m4?5;A9vU zAPd(Pz=_FwEyhB)LLoY3^acxAV4@Y0uBJFP0dX`T)+w^ik`)Vaunmsne(skhl;LjU zOaHs`90N?R_^#da!3N93q0H}*xap^Hh?~J8mO4fEF1(5E{FCSLXp4XOPab{s%MU(z zzN8{}vhionm!~h5lLwoKPdUgOEns}`-h++Vzxuzv^PP_`PiFhklihFp%A;TW()mC7 zl7Ib+(?>7jbC8W{i*3zIL=f7z!TONS#6ED*vJmeW@R43w94{7pe1V@lSBqqZff>y^ z;7vFrhmvTEOxT{3p#YFZL3;(kX_WDf?rsIp%Z*Fva~({Ios|5*;Gbmv!9?C&OKcfy zp)0KGgijZ73>Wg}-DqapQvSmap8VTyeOMgtoz8P%^2>WMFFaP!u6^^?wRBw$tcO?6 zE^oMu2oUa^oLjdyvO(`VH7f$-n?zTjc1x2mAhkz$ zB?1N`@+p?8mH{J6eR~xrJ)K~3znSC6YmY?$gSSS?dM?taV%=}ZGzTPRg&KswKpC?u zvk#!dSB|c)2<>};w9kAd_PKFH^0D@2mAE>f{SKew+N4^a;B}`;4r6B-AAG?V${<_xh(ZlGDv!8LiwElR*?}f0m_}ZiG$>dABXQ#Mf!(3~3jobCnSigKf7VkBB z`sud2?$}?`EojiscGaJ+wuDY5|MG*)^Zhb|(V|74S zAR0D>h1#!=Bn42Ztg?9_O@$klR@>zc+bw2CF?goR21ui|aE6>gGr$lnC=oC-DH@}) z$CayKf(2;s;<{RFLjVo*4CNXcT1Y~nsN{Jdkuslf!O}z7-~|nUxf21g$<6246i_8f zBAZ0RRIm$5m}->5rIjX|ik1r03_XiPA+r*V8zxa^Qz;6An?-7enkjdL82d)kDifW& zp4Hpujjfyipi1n69psv+pLsln)fIM_5_e7&9*IvK(Tl!<6XGQkuQQfJcjb2OvvHGE z`2&b!8v#fk+#B5Pa*-K-`xiEsyZURt^x)6__UR`V`!Af$6z76^x!4yrv_5y={AuoJ z5kcVe(dpU7|NS3)|4;w!$@`DCKYG0T#V?-x({DWb!B4IpZTZjs!RCMYqq=L_luzfT zuh-;=1=Duk+U4^q-x@9qOGU<~XeXlvt`NF;RhNLMBKxsOCF2fRXnfSwad$0~jctPGJ*6iLPTTW2%F&0V-Ja zukdIcY&Wviz?S4>Z_RZ`N)UYfS5u0h+Ow+~XmHXQHpQiPJ z^=Wp@|+&q#$$4 zD;Z%(WWQ7J5ZHO5s3f;1Txba#5`h4tN-t__fhFQCOvW^#4*$2YWUTK&InsuN->H`_ z880PPve*70x0h?``iQczLl&zPMcSfS68WH_~R`TmO zo^oP{#p!ni19h0jP@*0H936bkcAo)|@kuL37fkG323~7zCd-t(iZ%hP9@35>p@q*& zt6{~^j9YSB*l3xyV^GKlSW|08h7&Efc&b%IU~;pHP;~v3s)4<%IHnraz#1U06jwVd zXPgXSs)h*ENGOh|MzZ$6amO78M)6*#wLxuQh)%&7O{xv0D0*F%F5jzKHEv`;P~I9B zgSRd{qjsT5VF?(e2oYg$@{|lvqBj*X%w!Rbh3?|M(299$yRfB|iJE6sDS{Q+z^Xa| zLKHza1el6WlT>_iH^=@GHK1#+bQN){a}U;?aoy_!Wd8jj8WMdXa%5hv>cFeoZ8y-* zws~b41!qqvT7_R`q31FgbQ-;nee=o?|Lfg8gpV)vJ73@a>X+y5f3&>waQ<(9>r4OJ z?|pA_JDbb%ef_`x(@*|~56;fsIeGfw3tCct4Cl;|x9pB~eDtUM>8QGmB9S4%Yp;Q6`=oJ|He*e}6 z{O;z?%UUb6nVdrjjn-Og^JX)3&fuT9bqT@sH(r1Az5%@CR%448n>q)L!{Lm~hHZh` zq`p_#EA*AFcfx{3E-ePnX?IU}?T|2uognBy6iZMY;T5A$U`{_*w-m0`jmUD2jEJim zt(!xGaAhc;s}0hG8X8WYf$)i}B#qWI>Yyckg*^Q#gT*EqEt#she&RAC8?l(Cz=+*M7~B(++xZ*KHr0HUfT%@Y7ZMwuP%CpBqy zd+&7q{e9A>?+{lOsp#Aa#7RDR6HDU?1_`>HJ{w1T0A;g6WbFV< zHA%!$Xed>?5EhxCEn*Q+Bit_=w~pD;6Jw+bdK^D}+h&ywK^8;{E>`Fw?hUr z9~j#zI%5_{JNd%-!!Mtfi}>Te{v^*?mi9mWi*J1G>+k&CU;YG{QorE8`IYStp41mR zJ=nfYg;b8V$6Rc~dKsLz#tT<#hakX<8mFFWKf4w~2%X}(IF^cC#dbmsfGCB#okUno zHOh##pc$<;M1Tz*J^IwK90J-wClvt)!UES< zE1``KpyR!b5JHWF&`XyNeE#US6p=IrNNAxGEh1e!qt7@}850sFz?#%rbS+|a^#+Mbr5H2+3tVBQvw9Ejb24$KcMnImaWKhb;GzT?ijv@kNYsu{l zfsB>Ufe}&zLLrF~BBWJ8lv)6dWJG4IXX<)d4w?CqH)IGF_>Ff@e*N7o)8+k=vHvuh zuuhO35xGII)?;oQ77(${h@PRf>aP;C44Hqg$U2B~qO(9@d?zJo-atmWx>0g8n&_Q5 z+FW$p;g_@qOvWbEf$6-ii$_~x>wHvvX~6k5Hq&k@Ei^5))Fx(V1k-NOzP5<&-Y_gR z-aDDU@^JgtA3lFj{Ek?$4pEXDW;Q5{IOVktjq=Ou3e9>G2k7$cCwyyMK(~NSsXPqi z|G}527=^v!=*&Jv2*j~{pyP-79I2h|Z&x+Wr}EVY+ZuQ{&o7qc$1k2gzPx&}-z~Kj zv)SyV6s$8Kx0&eJ^mX2L+|F9Wq=&eGF$lBSkDl)?_O+Pp2d?b)OV{-yZ=@*PZ2(B9 zp|hz>#UzjpQ;PMyU_fCy@<7_qz#5HI^crC_5w-jK5lZGvOlC$UL|1~q&6Ln#bBM48 zO5ujdqEaGDBbtngC4!=ZElR|dS_Q7EqR9%Tf>@BbTQ$vQdIOi%RFk110vaseXizY# zY5-INoi2p}psAudYf&@-J?Cs4P-d#<`2bowdS%6H}SEk9M^miVol=18Rg+%zPF%6DN}gpY64iZp0o(*s0IO zSf|X<2^vRuZ8PY0>9Gy*nvK^d?{^Y|K|LmWB<>}M?AN|coUwQv*3H+Pi`~H9aYhV1@S0C&j zo?g7z?Jo9`=qB_O9$Ey@Y&V2*s|1r@jGAn z#y8&m{@;BPOEWhTFLv?%L;pt~%)kH5tJ9hHk;{DsO#lOE(@ANUi!?b-i#?0Z#xxQ8 zz-5cs85soNa25(QxMOL2ex;L{q(R}SMH=Kl>$|sQVQ}k3xuZZ}i*XwpSpT7T0B{2A zJ`!~H-gGv~ghliY6k|IgFfk>hy3h0`krsntaLt6#O3T~F;itAXjzd8x4)}os=lV0-)uSA)0>mFKptFc*=9Au)>TLnbP_~u ziPU2%*u3_nsSu+Hix7|-M7E@K6WOaIbz`?{%ZuC4Bt*jE`} zTrCezrt=4roD=Pi0l0HWx;1bQ#>iF|m^x|6NS3&Hy>$t_9cPi43O9x ztVhyOlC+*MDv8hfs*Y5=ZA4PTeT;~UL$+jsuM5k9SYli7f)E+Pk|nSWduiJ=yX_T1 z7!2aoqJ86BFc-!~2%CyFRr{75K?N7<`%{&wIEf8v1~kQhjz>c{V5PDV%Y>q^J>^D= z#Atf3)dnb>Y%H7cR1Nfosz?;+QUTG;M)p#;Sx{nQIJ`%d-Qh-8Y$`=ehG$iuJYT;0 z&Xn_Ko@kAaFCy#CBylV~*-=b{8H#B;(ZSlH?y9`>QcO5Zgri)ykuZKVJA`2t2=Jqt z07Jam(Zyb~y<`f$zGzyNnr=WR3E)^x!1Wk2dsp*OCW8^}HE#CNWqkde>7W17=Gj%O z8_2~+7oSZ2yTAL3@4Y+!$v2-m`O%Br|MCBP|H}_Izxk{0e&s9Y4<4O{kr7&2L}Xdk zrPc%kb__evl7uQ$BeX=u|DHeI|Lv3K-}%w=7ti*WwY_t?xvF)uE#LV1J5QfpT|K+( z;!}Y1{4#$1gZWRtw|lnJJEuQYI>k@d1VgR9Ek0wvgiTxG1$#wi1B__O98DN3lCO`5 zj^%@sm%CV+oK}V6D9(Mz1b~4ibkeL4l!3TWgbTT!cipnfwXj|iB#!*r))RuoK~jVx zQOKjGStpCu*nbSkyV|`!2k8H`8L+h2hvwBuPDImgSx#f?lb2HJQb*;2BjJCre2=Ef zVND+BR)o}{k5cK6#!LW0yCs@#UF}wD0U&g}u+!?llOP!-skKm05om$@yzXRcTh*J0 zPVrNP)~G(WKNo?M!T#b&=STk)GGEeUO60OQ*9A7 zlBc1DYU|uTo$Mz><5JZmg&Gw6d z2U`eDm!*c-7KykYArr3XklxL-*uXFZ_Ijs{IK5L%X&p}K9Db&GNV zD!IC3>ukLLwgFNBMKD=f*&U#xfW4%siLQ!HzY#HTUO7JpWgYWduUNkVt|Ff8>py(B znar-T7KDU=_DeA<56_-GIC(0U(*&<92*NWTA(l`FIqMnlyp;K5Ge^v!&3-9Y``Fj_ zh!5T=AGf+Kh7q09jZWNXTz>#qp-}zgLn=!5p?5g2j=z6nuwT>7_OrC(TU=YfB6{M` z@!RNv=jbZ~OEpfrbF%#Wh~v=+)P4PpcOJgjUH!)&{7AsIl+$Ulp6zq9b)|o}Q`c>X z>#QC2z|h*%aD+!ip94I~q#9qpL(w|60bZxQv=VUI_lZzq_j#c7| zA!B##1fV83=`bq&Ke8w^8ATQ2#3mTcLa`K{7m7p+Loz2Dgs4~)8={hPDf<8rS4&*( z;(T@&ig7^{slXe%B^A9sFGV)8NfUiv+meWSiA+S`sCZ%ov@l#^cql3{6AT!wm{Dp? z&L(3`P`*Qg7MP*Ani!2T7Bd6`Qj*m-nY9wu42=xwWCCeX+KEwsf}dQp2OE2IQbaW1 z>Z)B`g&B%tS@d92rcxHcB!_6&PCRiDylhchY>GXnnO2|p?b&!ZwxWQN!n=PXW1QW5 zOaI#EV2A6_*Y08L-YBsVoupl)IuYx!bDU(>V7|)(bFJ-~F82DDzqWa>wI4sOedQRV zwWmLMK5aL@_K&~%?H^x$`0VQ4hnwe@@n_$E`mGP2e)-|)m%ecNi(ft8U)68_@Y!7a zWcC(%_I#1Sjmsh$j9MBZP+RP3vjB}3`*ykC?WI`id&?d)dtr4(2Mme6hUR5)UNh4!IcYnN5CTL?>QZ77{uA7VU6 zLQa#-Erd|C>aE4HM2+}y!D8d?^#iV8)v)>Nf5Yy@}$g-i`-3WCuT zOH|USXptI2D5)h7Et=3mWx{2|Hy&)hcd-OG+h>~rbUf_H4bXrf4dAtEZAO}|nBO)^l%9pf&eB3+PdSg|6$%OL>P@zJQH-w~KV|fi9bn-U>2W{jfEv>muZ8#uh z3R%F;Putn{^89qav=hjU2}%ZyVg!SVkYphRFhhwYdnUM>Z?~K6=CrnVrC(9};fEhC zQKyh-;h80WFMq@xeLkjGx@E;5uh-!%x$i=sTDw<2zitNb*6DXY^sQ+2&!4J)ce`rw z!L<3$&d;C${;1(XD7vMp+=BYV_0)$xIm_8fsmunjEEND7F~eAfeN~TvUFOt2vR0y zMlzB)5ZMQep}Zh#k||DU{fZIUfJuEW;Ky-!tj_q}}|7z}^`z!6DMqDX-eHfdSm zFs-osMc@4!{n_CkV27v7J`T>g;zoT~1=uNe&n3VFxG zo$7j=$3FX!xpL)7R9e6cljEmP+SeLZ6)$$N8`~DSh;s@z~;q%{PnZ_%IwLL zt50|BkZ_#|!&ulxoQ#N3?^G_aa|M(B?KOc%* zS>P%A<7%t#eq;4_ACJHIw0&^z%cB7SpnS5kb=krLg=fY+yO__Sn3qLxhUP1c0~E}0vi<+O!bI;@zb4`)!RFQZ{S385{+QvFe4KD8ElGCS;q z=*GcmpzFl!?UluBL15;p!oR~N;1Kcfe7IZ>&vuiBW3q{RxNEgysi}2vZEv_e({VC! zmx4L~%}LxVzMYY`FS z1OSH#`4i^#84}S}*fhmqasVrGIPk*w=Mz3+pm`iz-#tB=F2`V zasB@%zkN&g@9Bw7en@0BhQ%T0weKAX6sH>zkGv(2(3`x}{{3qn+4G^Ef9gaDr^e(O}~CV($E57v;mu8M#mEOu23ucP$+1Hl@qbsi4{@Ps_M&0DKzr7IWwa* zI9hNgIP7c)kr0i3f-c;!Czhj~8Xvm;Lf3zFdLgG@&}_inJcV5=DxOiqxN$Cae3#uv zQTxMuu1xn@UN~ByadOEkAFVx3q>ciR$BlkV9d%iZO zkDt=ZXE+8$C+;y%hW;yn?B7Wfp()Uj!`aj_Lu=F6+In4At7T6Ecjv9-e#(TWB}M ze)8R3Bnv6_MC95c1$-t~WxUu&<{m5YXqli&jPC9+dWdBlV?Va5<_IX%#PB5agv%u! z8lUZ2^C)J`Vc)rABUU?2giNn#!vK$i+#(fPcY())zL25NNjI9FP9~2QS1gThON|X~P>-D|) z#(w@S?hAc!4Gju=qaeVIvGkTF@)|$qKhoBXB<{eydk>Gju{V%@(MU zf}js7Ac>%ibLR>9O+i>ylp=>}1&TaKQPAj6rnvS%pn|9c6!yXxsz9mG1Shz%!{kqQ z{*?ZDgU7lQmblvLYVE`RQe4k%xz0yZg~6+wcAO$^AR4p_Ve3w}?;(>mh|e?P67m z%`!z1t|ZKg5lcbYrFTj#lAs8o!Zs_bl_Y3piu1Gb%SYQskG2oqyL))C_bF0)F8!h> zSMf(*9sc~o^}qh%elvV&lAwa9@X0nSyK;rmHkF4tQ(}xxx;^@aCoW~?2}}+93Fm7| zC6`*+CPZlIp2)<1M`EHL-C)nKz>JhE( z1LW#Gi@fwtPRI7|xaD2mJ6rwgSobJj;dm~0wfueaJ6(4`OODWK zbScy0!Y*&*PU>e(Q&jbSXk+)!`M8wNhcw?lAn?j{>vOixVf%i@BV-rDfKB*d znZfc7*MAF}IeM|`7>NX%l`W#%*#c0F`!+q=9^O0Opv3~t-Z%@w!trDuk%>wIXc9#s=zvq!5FsyRLP+62%gjTOlrlqe0)_l&zT=*bJWVw+ONlMz{n zt1(7T`sQ&+ymEYSfz^p30B`{*c-G&zjWC|R=Jf;L@JMfCk*^%d*S4E^-}7ALZU(|m zv!mvBdp-aWV2gM?HxDlkI$QHkzOlO6$LS6vKoOg}n_(z_^P|TwyV%rX+*DKHBap&s zHr&^nY9P89S+h=bkg7I20BL+uKrI*#LD6Kj;Qob;qQGL5>}-YKY{!55SHJ%6{`o(+ z^YHHTUq3y{m=|NKwk04qWJ+H5H9ICT zhi>N1ekvmt8Je4R&+lA-E(Av0U0JCNC`+;!5t%3|WJQXu8-8PAoi@ID&Wox4Q$pA9 z++*brVJKG3-X@Dm0=o!>%Jn4R<-8(_GzMJZp`GjbVbQ^O?ZGG4=!b1{Q7t&O*p97D za)FV(5rJqb+o?5abZsXeXp>ZukQrix4|Q^d``Ds@Q;Xffx8sx~$1Jiyz>NDTnn#P+ zPuz{+nVgHBDGH#NTIew8&@fnB9o$1Ahzc<|DIZa=q=#ueUb7uoa3);XAGU^~Q1jj!lZD^Y`uzUw<$G z=ZbYL)vOe&#Y(BQWPr$M{fr?+Fr)~z$(y1zSEz-24h}%@kjIjnj24!fuK`7iCXOVA z;jkG54$UpRKy^FPql^=Pj4aTYdV^B>sYmPYay^_4#Upl896YjG+{qrT)9L(0wc@c| zuYa*QbC2>l9KQbqn&5!d^6kTRGfiP{NyzKK)QnC7n#IF<5W7>iNcB`k5|N3EVW49$ z`{-)_qo>;s?_az)jEkWk^A5ES`A z07dKq&kt%-Y$qSgq7l&8%`t##Au#}JO+Fx+;B2C(RO_K^l_FyS(i&k3MxjLbWOD%$ zQW05orUH9b11m6kOtL6!z@cHBJV{3ru%h-&Th}2FU^AE^!~z~h&wboOluS%Rf0fb; zg27g+p?NDrGYo|dGBah^B=lm30oXg%m4zV@*BNP+9Ikl?Tyr6#o9;8HkP@}D8580W z-_@vw+qv*$nh)yuEkUzcJe*DHIlDW5(apIxh}3|+>SORXC4H0 z2fcT%{KNNG|N8HD7whun1pz<_Ud{*Z8Z-cF+RKPqkUDysGWP(Ej%Jbu0gxPBY1TJE zKq(j}P>e*Ly>C|CkS|ExPys$yq43Vw*MMlwSrAzPDJ|d-EMZ&*<)R{y6!-!)o|K*y zIv!G)oE(}-K19a_o41f^wP96vhw%+cy~Jw`>|XxQiqcx0U5L)P z0ti$tTfm#H(~MIlVB7pGQ_#*9S~dkvQVY4XCPQehE){qKE?Dk`2+>0>I5bA=CNLKy z`v3qS07*naR5nSlOavle2rBkdOo1s>cI9FSM;Hr(mdT|iMG0}7+-PHP8sl(qqd<^B z7-+?CHO78Q!cXj{@aTo5bFC!M4C54sDVhfjt+jo_Zd8ua2t`%`NP#1$67D|Dg>0w5 z)YU38@SJL(dAkyj#1br()NZf4zn!-5_D{?O;Yjv5wp-5fYYzC17ygDXv3H7=KW==; zlebSvLT|k^BHWF<`1-?gXMH{%s_IaRRV&46Eu~s1C|1aMJDgX-2#hSNlu=wOBMf4+81>VM;P># zpAizLRmD^gqbyaVbxixa{Uc>!+|f!ovDXR40!uOLt^$)Vxm=h6hlt5#;48GUOoaWrXm4Ww6v$Kd4>_?NP z&?HpA-ACccUS~yzhC|GP%R+Xh3z*^#>EgaMqZ|>6U%#M&?t!ogL1;I%7Cf}bJYA9w z9YS?%;hF-XOpwb3NRx>`5FRkXi|Bp-8j2!w;$RMhsT4HH>4io~v=&5*iMX1$_h$5> zGI<#7>1g{2+s0xtst67=scuzjDV2wP?1fdKs#x7%Wbv3*#nz=hJ&Y+RNr-+C~7_k-2b7mky!Wt{)~;YMNK|MyR7<=M)Lk%dDc4aETBe8mTM zS5K$d?c8dImQnNk40K9T_G>891QfF^63zmacnwF+LVrET4vxT+0Oe-G|X#=gjIJ26hP_puJpYfU9bxomYR{- z07`UV1u_>R9CN52C!Pt8gM6W7a!D+40hG^U>UZ8mxUS*v*$Fwl0`m&7w>+NXr_m$_yhrPXOhMd0lnXY_3=UiTN z9;{qO#k(BuolmLE=$7tW)VdiGawuj)Ewvge3t5X5Gl*8w1&}g8i6M*eMbu39Xdzdi zsii3)wNQBUc{SG>a7U6DT1%bBK2#*S+vE`iK^w)f3_4dxYxgvkinrAmIvmccJv~hS z+fRSjok_Kl0PZ{I!p+MUhA&1y5)i^H@_Zz0#@FU}JPMK#`8S5B~3aIpSU zZv+6hash0{G2W4tH?O}05*VD_SQ>Zz{@D_?lGY5pqq6!WG*X*?GF7R@h z$B*9H-jW0yLMPiGvKm;gqcx|co#L;_A73!1LeS7O>&h1uu)1Jy0nM9hq|h{qJ7Jn8 zfeIg6toLPF+4I(BdFhCh(g9m=KZVNz6xw!7U0`}Rj7B(8xLQ+_n5jE9DcIE{&>Rtc z4PJUpz~m@~2@oAYr?DV~CR0*gA!9Valhy~p*s`XhViF`7xov75B23;QV0d!y!-$4GfQ`LuuwZl%BE2#o89Sy7L=m`?~-_w>O4sz|!k~oFagjZz^UdG|MA8y86sA zIo@SaIyerYKl|3oT~oUbZnYTBhIb+GpmSQXbX);O3#4rytnstYm z>QW}XVkUdRvOIbO!cYs(1`ueH)lvp4Q`BOfjDR44%d_F5C;K1&LA&Iv;e1aHne@HRPwyyH6W)C0ims2Gpq=XYauy{-vkJ1K8O0APW;x8|!_YALqJn{ok$mQ1tbz1+Gf8G}+G zC58Jxa+M%^oDR6mi07nm8T{OluMKlqDhbE8KABmO-h5$67 zBhRTQ#}*NSf=-01CAS6)q|-teT`AEBN3?{Urmn#SaiX4W4=<<8?$L|gVZe~WJ^`9i z%^50;NZXArwt%O=KZ0F|Od_*BfCqQbll_!NUxG}F`5sIQ6N+eo2t=p}twr;rN|Ga) z+q2ORcxcz$XQbxKnc+9b{K?msGlJr(@e*G0E6+gpe zq>F!fzOEOWk^5523QOToY9WeQp}}S-X}QNLLDdm~pcDv?q>x6hYS)26M~(`lbWksK z7Knhm2js~e%7W1zQy@bKSwx}!F!0)V!;Q!ISsv>b z-mYB_p`i}jgYCyy4_zVZjlWg?Dv3TvY&P}q!+}G?6l#Gfyk)h-K&IYW^o8OE9JQGK zr|!D2WIESVKw@#RWGxeG4i@$DJ(7WhCUB5m zG~Z3$8VaS9NrGsl727*DUWP$b>>M&~z>3logWI;*@|KAtNpxo=^Msy&rzM8f-n3VwQ@W z1tw|Nq7**cx92Y>qe@i)NW>8kAes7!u!@xT%Pd1#X$>x|tn3eMziVYx%q&7=7%8z9 zt=HwRfAIKQAKbfq|L&(hJsg7of&q_T_=gYbKmK6#qfe%3{ zgS>&jHncX)8nTPZZ{9cn6k>F>xu`^HOP$t+KjxUuT7LOZJn3GuDJh^BjA+7|JxjQI zvZr7OaT0Xws}|7@%f2H*z+Aahi^q#O!ujR&Yqp$dximl6?XM?gBVi8w80LFP&ttmG0~=o(Y?96;VIidPM#&h zG8mN!08H`_fU6NNn_Mx;eP9b5{Z=6pj2B0D^0>2JRb$Km;P0yC72Y;A61$uy(lXS@ z&uA5%+I2e4-NXg7EaI^*IkPBKtNH3Kn3$U`ADW$_2O+^6b_rltmW zc}v%U4mAPBTFQ3ZJv$ukZ^}Rp{^;?`RW0AVIQ#bH*&jZ<_{QDM z^TTvCb;{&_pc@cow%whD<7}`ta_H~A;Rjf_039m^DiN?2m^@l& z40(8q&W26QP{vIC$$FQeh4KoV;HS%Wr(2hC`<*wmHx>c|OmkTf>zj~HPtq?D15pUi zQe3$g1#>&k>RJ=A4v^6RMQgx|hHcY+lAE`PX=?k(q!&!!b`otICnWgP&AqNaq~^|M zYcQ9JH2O2n(3wKQ$^f#3=AtDiGpLluvKc-`U+EZ#3Z{i&Wa5Io^mah0Iy&FF&7=hu zrABB4j1~G@{l^}2+ zGv{(JZ3L-s6-}~D~ z|LmWA^Xl&T?%9>>2=#ktn(&w3Is53De~H<^Ny1urU6=8tXoWoMgAh~0Xs9;V@I1{O zoGsRHj1B9|aW_~+I7+AIXF72g^+`%JEwf!aY~LMJ!VKp?>L~iW{5e6PCdih-))Us6 zX0l@cBd4w4Gq@t}AIIW2>W#q87u^IDVj$y&RU}FH=Do8YKfBsD&!9&E0+y+?0y9&v zQ)p%je!;8ee@;xZQ_L!#6;ttmL`uE|XVzu_qI&Yv>!)&y*wp&%`}g)!tEHTJ8Vi1w zX(D&kQ?55Pq4~FTOWw}tnLVs(yfdVjHm+naGsS)S3VH^6p|X;`QsPeKbJ+`FAl|Py zD}2`YOD9e5-|=eP)biA^9d%a92N!iy`Do`qf7vcq<^K8V&RP!rW*fiU;k~ofy^U>M zsdkmgB2|1ypCUZ$-kLSRpiCc2k-U_J$jUF&&ST#oXhoh6mgRvx+*1ncq?DDUCVk`1 z#rbNO!aw(_`&k=jKlz${F)zIH16+`zw>9(06?+$iwJ)ivNFSdX4==poUUjLJ?UVithmml2OJUdKR<9~28z|4313j;4U+U=J` z;dH*gwS7@&{^?LXJ@x7Pw@>uB&z>GH0j>t$kK?-;*#eqGSFKj7O|C=J*kTMt@=9i% zO`Z@^W7ek6jLZ->L#cK|19UnNOAjVHmMUOF&#=sOCS=9Ll4?N;z^MUrnFuo!L5h;K&(c2&*b*nK zfG2IJCqm1zwqXF4lH?`OATF6QxhGMJ2!@;K(BsQh2 zSGG?rn;B7l#l;`rl(9fCg&CX2!~5&^?yR4VA_QZhoISgt6y3R~fBTcC|L{8x9(?U` zf3*vbQjU_KSNnMHUiss%ul~)C_U9{>FQYP8Iy&y<+_XWuMa zq6kOxX8BHvJ7#i^U@;%?OKcJva{YiVg4@dky zZm9j|Sk%c+UUll_9{7eN&RgyL&gQ2-|MX}7{^P&+=ihy@Z#~1cK%-tjEMkQ*er zBvB4Zrd%Ls@I?HH{#+|fQdc{6)C^rS6}&iZwL%WX&budIL)f~+%3~;Ycc^<`J>9o|^|MFc|K!=9zJK{=@8A32?&evK z1`xMK-8(e_rC5vgP$Fty`a7FVKwm{PFZws064`-m%v6|D>2UO?x2$2O<~^3h`v@+j zenUSUPd~l+&12~Fbi7<+9iBiHuNylgz{0X#J$?MkHn!Dfr5lI5-a_yQBR1=ShP}tj zF{UY#mspsOp(o6xQ^{03_ms&8fC5~u%dcMUo*kxIIJM)|>Zsw8IvOYa^;z1R8~`e< z+xghm_4cm$d_pe!`7}roW`ZG7(nCGV3X&Rd7=72`2`jxJ~)C4@FwT~~Xs=2_*v zbv?7P-{DXgS#&9vI6}f;S`{8VSY%d8L6}$IVr`EPipYEHkBAVdco&3LBf+44&1hyUyQ zA3fW(uRqw7!cr}3c&tlZ7w$bgAV7my4gMKACbe%{lL6KE>zC8>UAs81L$SjYW~>#t zVaRZ?E}!nlfA_sl{@cGyNziASRey4qdbx`~{rc*AzdXD+=>GYapc9xUcCosx>3hg3 zu`1X(%rH6*hPA7Z*j*z6Igir zhxxA=_Dv0Cr6zLMKMJ;kgIl6OjJ5$9;)NsSbnh5kcydTNMmMv&CP({Z-$JUu!!?_? zkGE4^T_vmH!G-_HH}!Ok{U~=e(8I&wRCt6U`MW_yU~C>v3pR`9(c}mbaAmPPc}Rf} z4({*Yz5M3g%jV&_VSclt!-XqT{Zc0PE8Aip-8ANAdEy!R$U-uw#+7F2sMlUR7jOVX z#Pa=RyXjzEPRzdO^IA;cR*PF#`{rh}VLkl%=bw0M!`;nvwYOQkj2VIy$kL(BCF^lU z5!C_5+-fKxYZi4!fUO21b9|$Q!{3vW+;(-)mRs;TCA+zU)N`c_OE{S=zE_$`|kUf-+lkyH}7m7 z@29IN{j<+DvS^(4)Bf?Z``>zRig5P@HJF757plwR|6OwqGMkmjBIV-OXSb$PV#XyE z{MghDuwHfsgk;vMXeG#72t>v#S<$1X-Do(Le>q;9%|=lHc+{`C9@faK?=~-Kr3|b3 z3a|ZE%fplsC-E zf_8ii3Ea4mjYT12VJV%g-1$X8S|&FmJs+wkhn*_6Ctb+1a8DsEOMO)q!n@XIA6m2! z*rJHe@G%TlF4yJGdC?w@B>WL#$w3+u@vy*WT; zhq72^I}}{lKXwew{k95EYI}q{;UpfiQT$QcW)w zjhAIddKI}~a*Toh{KNJ6z~5~B)IW#_tL5&4vq!&q`NNN1+&Ldsh1JXoa}WZcvFAfW zg-qJYJ7RPBG{Ow> zXPh)StU@WzYF$`NhQ!c>9?wZvw9v<;< zJKo}H^cmm1$a&M@5ia`DnxKKbs>y2_1&T)wMjG_OJXn76rd!DT+uy#enzA`k!bJ%#0RT!*1fqG(yAHF$!Marj(14XG zNSQ$?(!f%3bq@eWuChdzfPjPtXLkP%pF9Rhv!H0~HDQD<@R!A~B~MhM@8yZ}TcEMI zf(&`gxRFoo#eU~^?z-ghs)Qw?shkz7Oh5Uz-)^~{{a?-(bZXYCPp)MWDdlN7ZyM0; zL%!l{(qjGRNtSaSzo2=;NZWBaL=NxvxnR$}oayf6*{^=~=of$gtKa*x-+M7l&|J-( z#!|3YYMl2cEo?&LykiN-THRfxBx%Y@{X_>vik?imPN*m_gQ5f?6evP*)WTG`=o#&h zP>nddv-#2YfAQ#7PcH7Bzr1>Ju^I?e!=~D*nxrBi6b7RW#3U86nhqA#>gB3FAKU-> z(@+2U*U$g-{mZ}j#>4k7%A@TV`iyiS%RFGKwYv5DnU@mI|G|Vh zSs&n(GN3DxDhBNQ-?tEZOlj&(C39duf(NBRfkoS%Ia*XAdu_0RC`be z5ip`Id4!^eh%Q$hI`(D&tA4Yc*d(jTD$c=?+HN`3^S?r&M8FJ~fP!B087E5vh+;-i z>{WZxT2B2tFLVVx8j2We_kH74W8I2Q0VQC@YDj``u;ZueqOBuBGC5FWrNnBz(hDsy zxR9pwS$JyIbW4si{CVS3XA=qgqW2D;JAPz(w}ka0C|y()k6!^eO4 z;e)&H-F@A|q{l@C=J|2JZY5U;bmq7!90Jv-|TUoR)uE4?60tBXrNwyH# z`|7V0-@@8)OZ=+wAp?>?bZkR`xjqm+x@NoC2R#wAMjK+DwWCz>^ zOOJmN=;(lfMrP?NFym>xw}Xn%6kl>@yroG;@8(+Tj$OCFdUP;)m16W9uH4QP3Ey^k zi!{?_ziAdi6>&E3=a2mtkD^p|>4*r0A>f9@859s{l8d61419wm3`PShL1bYlw?4d6 z18iP3UuA?X5zjBBEj-`j8jd~`IJ@-aWXaT$>;JmLy^W8bo8Zx&&!v5a` z*RJv=-RG4hUtWK95Lm5-C++I*{_WrY{y+J4y*O`I2Qx!Ya~4k(u=^b?X8+u4xj^Nr z#09vrdB-e>fE*=QzyP94K9N>3I&YC6a}g}d+er(?eEHt_%g0y$@Bj0YQmc%kdkauj z2dzu2i%rhX4|PE*1(X>vl&B5WbYK*#ch~jVzWpyhe)NM+U;fKK_}Yi}FFwB7xA<(q z&N9^PlNY zntFhtM}bU+B=H z+8kc4G+B*s&sCJ5?w{3}>yRXREp#w0TSu|Kh{V$Iq{}qs~`f zf~}CTP_}YLe`=_O7z{0Qd1-scx(b@nK%t?NA53teIp{zyKovAZ1JLVyXMizc7DkMm zE2IQR2!~n66Tl%b%(z2#NJL*WbI^7xa3=SpM=QclT!Ll9Efo0vB^)&@zqIzc=NHQC zCfUh&&RU96WT_&`j!E)F3jDn8`cLvA2s5xK9HB0IfF3Go&{-+>R>Nmux_z1L+GTY+ z;Ji79$33pd>{7Aq_M)cxL+H9lF=Qq*SM^fslWkIKy zEy#HDbWL@Nah7y@!}|S&v<_k|-KAyw>VFCf@@S-Ax4?9L1z*$--{rCi`5dT=ne;QO z*34&DFA9>Mc9pPn33Pnu?=nu08wUWA)aB**PyYVnU;f~u5B|yTKOY?tCr>9?D%}c6 z3-+4jm&R+ZCJW-6C+eS)rNT>=uYd(j3G^b;2bbt!qQowtu4;^+q|N171poT~_~Cv( zzW?6+PqtSVXZ7CMs*=SJhd{`nLRis292^l?8EU~~#f*c;VA#7xM>(r^SM}qU`~Ttl zKmYIlGu;6=Y<$@&CY%`4j^Gk*}jQ-UK@|)^e4-@$D?V8>*Lx;l+_SZ+gzodfAqI8?PNa7P2zh5@KnGPBJ+9T?3fG%T_IAcci!6uY|ccK9Rm{7>paSPE2+Q7Ip z4r|oPX@U_UwMc1VqYy&4O2L_N*XSYxcg}cuv6AH(dZ)QGy}m9$E@63TJkfWMdU#|W z{!%wDUb$D^_N{Nf=Jjvh`0b6aE$6%axk)77>-GxuL`e%Q* z`J=B6A3biT;8bn~o6EHYe(>X`4LD!18f!5cq=ZQ$0lZTCP+Sd$UOx8SXh7`CPe%I% z6k|!DK$~k#nweQC5sp-#tCeS~^4EX=uO`s(oKAFluP z5BHnl%aQ~QkGgTMMGlm;*}+ntgQLgPX()Yp(!9av+#923zym?5vjhWB_j;sW-8l<9 zQJ9u0B6CkJ3tXFZm|RFPRtcV5nm`k39|`@pHtYN>mq(%HR=|11jVv$xrS#<7ZtONE zO`^NFI~N*UvZK zxZLa}f16zA@4n4e-ANbD>riLw_4R8uS!_u`)T|S6A}@nJ8rOxTN5FF&%~nSi_0e*O z`T6xTvTDw5M<#o9e7c)5r&h4-Mz5SxeAm3Opl3=xc{&Rzf}}aO2kHUn$ck}*MY*tU7zWm<5`QbPJ)Kl!Vl|KNK+zr26p zfxBn*!RCBr!}*$L#XkCE*W?PG5nsKxsfA zt?6FL^XH@%PIiVSI^4%OE;moJ9tsyb0hKr*E2}SV%MJD4&Wk)|qb{3Sx`K1*Nh~Y! zVrzZxpFl27Som#Fu0)4Z+(cV%BtdjF;#U%n6795^77os0QR>;Xn%_ zT$R9z2=q#|^KW5RG_R6S2&F3uWEFx=P*q?OM(3{K(2&xP#jG_aV?}FJK$gG(aZ$M+ zvE9YJdw8(MrWT*%lNQt*cX4uR%ld; z_hd}Ji*gZ#Sv%=%LGJ6#4B>JY05ig{Z>~@+$_>;EW~G|kLm+5jez`8cemVZ%-~aeu z{8zt!@!;Qp%+Vz zpdK9IC%@=#`9bftA0&lrN62ACSR@sKD2Wt65+Lpza0bB4^i1E+rK0D`K4?RyAgVL*1qz}_|2c}J|js`2@JDQwu(p2uQhY8ee4g)}m*fFoJ>_0o z4tJJy;hin?j6deJf1foz-l<^ym6k4=Wn-US{sa+I&2`sd7p90YI%LM#=kJvOCJCv~ zaqaWjt|B_OcWUHKTdy9>Ow9+ri>20&)K z^}@;bzV-HB`Oc4i{@1_oc+;y2s4V2&qr%BM=RSlyDkl7yT==^e(|@>k z5yFkamdW-2iA{tNzj=H0b0_0vi}SjNEf3>EGXOXwM-H-jx!aGTuF^^Nni@ni2Psei z%jN)_TPSK{nE-lcyv|zQ-XB*!m3X3weQ_m;dpJ?3G5D;P&jGrI^P@tHpu|*`b)b~yTO<5^pVNMTvGxaV{w1V5K;X6Nk{MwCo zzx0^c zB0HJ@8SO*Zg?5c=s$~UrUzwr-Gr7Op*EtX1=-L3fis)qDG0o|BcB;3WL3(RciUG&(!73O0p^}>^gFv*@)#}@bvCG&IrN*t za=*_3KSRBdHD?lRYXHrRp8)%x_vxoIG{57=$*^Jn(MODs`C2kC8oRaVCsDA)uPKfDfdCiZ*2GW6@!uIQtd_1++ zmcu`MW4Lllhg;*-Z#xDvAMV_{t(aH%{E~U5W~b-cgCly5m2;A$g$yXpi>U#S!CqaP=AFV{nqj8a?HAe6Y{Pkw@p}@mB_R7w4!>HP3~-bXqShI=;ojQ@ifK9eqYR ztE1`RW;aF6SZ}o)-=7}-_y_NP<+r|aJ`UPW^P6S{cuy4I;WK99$PC9w-t!maOi{|H zT4eGXv+cH#4QehUy%C{kJqGBJgn$^<%hCJ~{{46E-hF)M)!Vrf&v)C?<(Q<2+5(8; z6tNhsg%r^uc2irq8(E>^;f~q_0|qyPH(XBILN^xvi{<3c9-RHJe|YiRUw-{p@7(;! zlgn*qnml*U6M(x9#Q=9AI@Ds0*)bHf2kZ%PE;6{X3@EVoQRv=#KDAUk=N@&4xj&3% zaz>gA_J&a;(;JY~t5UeXj&%HvKl3Q<2lPUZIRlvM*bgNJM|VwtFf%tixqGj*Mzg`} z?#1P{)`cIs^jx1S2?~h@t7_ZYYJ}6$t(n_eb$2B<=h3RBq$%RXFTVSDcOEekXBC{I^t^^D{m%PmzjV3$joYi27xrl4F2XREwtjd3kQsAJ z=^MX(h-2?m-)m1@XMwIMt1ddnyZ4Jf%^N)iq&cfQA=tcOo+ z_55}VAh2>^z&LU*DzK{v$z2?aS6F3M6hcz+^$XZQ>&?#Qrmbuc_5gEIKIT@q=-Kx< z*)-D+^5=>Ct98P67mzWSA*vFuPwLHc}2<3KlF2 z4X&G`pN@9wKDcdnO^sn-JJ>UVJ~J$jpWeaz?0<3;93O11dQALG0uZ12!k+W1>pSGB znBeKR!tA`o{<-fjEc&W@-a%z^1{c7+^Z3Hc<8S@K;_*dXgE-V;T#q+Tmw)`tyFY%k zeeL$5IJ}sbRD!mB?-_Tt+Uk^5>nzDmdMaD;yul>@u-nwW@j8;x>%|B%lK?~0Bn1e{ zv>a?x{SUwU!E3LsZoYiu-sV9>Cwru4`}jP5>lYU9KB{*g*H=#L<6hHGJtUynFxEPH zZ0O@CZUbA11>1%JaKn@UYgW-vR?&bKs7PEduET{eM4^3=7q<}~QMU;+u1 zM^b?a@sI}qAk8HdqM)!tU*Y3kZ44++zS%R%v&lB+U9zQaM0!;McAX{z0uq;tOL;`XHA$@ciFza@zQ?p)+Y}cT~ z!{6KCTh0xZuD_R3UD=fS%eI$T`%!_^@QP!{b9}u95IDyM4NpSppXW9`{MlmZdzm;H65;YNPBT~RkJ2F z6v9kbOXbjR_*?HjoBKkV-HWT@g)L;+s4V^B;~5MokR8xTOf@d2_&dMw(i^u{XS>PF zjr{Yw4>q-~#$wl!Bme+2UhJmrRBx^pxhRhVfV`2ZH8(59E0@K7OxDm8F_;yz<9I18 z(XKT&7PI5O<@{`R5dcPe#<~%)t!)b3xpg`euPp@8czR>~qwoFX{O+U0$zrpsJ+(3O zl-N;-edLrMrv8q|7tTm>ia8Q}wX} zi4c&TloiZpwGR#Y#4;x^AqW{EV?)HQMN0~AYCGrQ9F~VvNmMh46i4oU)bUEd9Pj0c zG6xtPJ(ScV5X|ud4#BYYUQ2&hL3Cpo%3{69j=cn@S|en`vrZ?bZBix=TE;v%J@fl( zUw(PG+Wy5n*$8PgTNG;{%$1| z^l)VJ%If^o#>cSf>IOP`YHYUBIwEChK8mUCQv#qEz$DecuIV>_ez7Wia@LM177<~^ zUc7Vj!3UdfzWMORdKiiovtpLeewK7YpgJ8Zsvs1{;B22r^N_~@77U2M6tdoDUgl7v zLnw4HjMZSlK*)7t>G#g2Kl;|azx%g8zrMXbfB$^Hh9PXGxVbLB`Gv(l|4-AlY4L14 z;!_;m0f}Kygpy6tZg# zrTeN;ZKw_7FrR|?AETmknafbNb;5o-9C@`FInNGcKkm98=`6(nM3w_5Cp)_wsT-${ zUgbiY+VaN9;$$`LcDrdJQVMWyKj)PyG=$AZRBcTm`cuip;xcZGWic!w>cexjn6rK# zdpvd7xoW%T&aNA~=R96Dy`9fLzBBo2qd80$EU!A{3mF6708GBB@!f)}qJHmg>~No^PCAcDLdX zWz3`PpBwI;Z{K=!`T5)Hop8Ds-n{$ZcfRvyZnhlCGh)^Z8=7jwvOG-!n%_Qxq&;V! zNoq>Lfis$FMj#8mmXehaw=Z9b@Ia>-u?F1e()Rr z;5W9HThvU@rvccv#)(-IQu8*`5wg8sJ_eB1`T~o9Cjr~h#Aq^spp(ra44itd1IZ@i z;>P;&!NtG-oo~>~dOd=2dSC<7+2s_Wby-|C8oVgzD0A3p@BK39-aiZ!%v}LTkZOHZR|zPi)11a$ze!9}i>XS;z?Lc4#2#(;Rosc4w5++0 zIeR>BKtF7-x$I~5Qf&s{_XxUrv;soz1wxBVH4uP3-$>*FG1ASmWr3in#XL>@%!q#C zUY%g%HW!jP=;-8Q-P>IJkfr4Wh!4)%=Wh>Rd}+A0;-z_`e(OpS7RARsPBwWY3kX%7N*%JTo~@#Y=55)hQc_0-b`8%$6y1mA>(e z(OQsr^-G^y-CWo0?qah&-)@RIkGqjm2{hN5ayT$>H?_0vj?8GG4=1M3d5v15kmbh8 zgt+%ufsf7uT)Rx>s_WN(&G|m~Zu2(Q;ehOu=7#MQk1t}iJcI@gMfdqRJLmgi$a!(8 zYr_D0=qdq$N?T8``5#5{#!f$5-#~!+tgMwx01| z_lxowvB%LnKl9C3gF>57>}y^Cc(LVr@%68M>#zQIzq&X***-o)AhlkTcaE&l%_Wja zne;2OK@ZX*AsH+HMNcn)mO&zjkP}g;hCIiz%}_WDR88E}m*w<@^}qWU|KUe(-+TRY zFOec`iU_pTFhJZ*@#t*FaTwjFBvM7tNy5R=z19eZyS;WYym(R`UDmfAY->|%y0t2w ze{p!Ssqa160C4gWxVapQ+t=QG^h>u-|N5)9-gf6InTy zghWBcEUr#;bU{MMtn&b5eLE8DYE~(+PZ&DPr}?xvXekpN>Q5haTrVHKbMO9-?hVV4 z{WRjU=V(tC3&KH)&=fJXmU-^|*>ug3?qBP$A4Swq3%QYGz+N2v-nRamyXV`cRq@5M z(p=BD9`dx5wd>9E-Pa#p{=?UAeDTKO-d6Tuoq#p7uJViHGveAS0fM8kBJs48-lv!f zpJ6nKjpl=vVS(U4h}KAB1W~jsXj3SaF3eg)Yt2!dT|PN?(;PpAWeE}h$5Plf)P^E# zD_Wodq)Z1cq&U;jW_MQBMG9>`_VYFy6j?m5M_deUo!DbS6$Xb4rqo9Q9oCQwGM5wu zl@263b!lJ$3|9MEV+SlXuLK*4tw&!Ewj2$H3XRGfe3LW*3!)Ia1{fM~aW3xYgF8`- zLqUk!c5HY7%wSR%K|uzt0nz%|>Lhg_rXB~I0+K;=tpMXQ8<{q2xVBaL7D`rHOTI=2 z29ULjZfI4-?XQ1fP-xo4T=pXX2%Wxsa*LHy00Zg9=xuUm`y?t9>S__i(V7u5qZcb^iIIm)7R%8#lYQ+w_wKy7 zy!rCU{U1+tns|6v+`9hWFR$J|)5WfxE`HX}Dl+z-Y}M++LV~t-)SA33?V3hNWKBB~ zOpcGkYKzTIYd3HX3^D`?D3B0Io9oHa1!&!g(_X_j3w*l2j&6vNj_-_M+w5({Jmb;5 zpP4toWbJj=4A)$W&vv#=Wyku~E#3xIfy?=bEtsVrG>e+s)*2ifGC|7s+5} zohS&j&Il3(qroJ}3R`f&^{v&tH}8J;Pv5?A>!h_qsA>QJAOJ~3K~$7nL~LrcwSgrd zQR~rOzq2soX4@W}O|@Y#nXxt1R!OXf;pV!m2B+iYGTuL{Q?b`>4X2B8`=q$@kKQhS z`jhjO6KE7{^tK-U#dm+QDE7tMC-0nXt~#iPVa~d158r+GrN80R;EV>$@}9jWQU(T5 zTSRTGsz!@WeKIeI=5#kEf^LLNfLTNYni*_Njugkii+7#lG~UDMTJ3VTo3i4`As{k! z*^$eP&r-U^QcSKViUcGqEo9&HbZTVmZ0n4rx*0h}0zi;u%q|~|*|eR{RZk6txs_5# z80kRMq3HO^s_V@g`f0Ln%@*CCK?|HLOEGI93QIQvfAVnqWNI%jJ_7i^HV8O*Yj6Q~ zx9v+ei!KZmFG;mH1Zn+X2O40R`z=5WBDeVZ~8oZo4Yb zmW5gbb`^xX)Ii!`+_GhP>ZG1KhBSoSq&!*y0E4AVou7%ZpjNaBKVUG2DnJRK8M6&{ z|Dnw#UqF&-ok0g8I{;+#k)8=>@d1O;3RMk=-Y~%kWnR`0)KIuG-ypc~!y-@?vQRQb z7+L7cf$M>%3tPECqSGlOLkcNnBnIQwl-51S3A_|e3VlcdQW%dR%)Mztwe=@M-zV$yqKOnzrhvJRCuSJeplE>y8~v@XoP6Om z+<&5%UtiVGZrfUIispmge(~hne|qoRKYIM~tzmR4=EdEN3G>)YV-}&1drt(iuV*{H z%8$4aF)523nofN{sf>hiWH!15E%|6Nm%t$`Jfig~sU!m3e=>dZJNJLcylIdj3z8f`P|7uAJzAsV3XR^7E9CsLMOver#ek-&%wxT?35V@wW`9Rh$UR5 zY?>t&hh6d$7);JS4Jpcx&w^2eYV_$LPe)95-?Zfkb^-urZ<0qRtcWxcvh@g84#?gRVr{k>`7E!TW#5+jG*VTa~j+@E(RYQgwZaidVjMi&#W`)UI@%-Mj%KuW#9TNnCM0) zvtw6)C+uT&3Am`!FTL=>i>vX+PcA{+9PAqpF8};|_sU}MpNgYus+0h)r#l4%@03>5uis&>=^f;{N6AeuLP$rEwk^vS( zr>ClA-!b&+kzT2tCQ{mWVq>;tn`vao6%B=)mXV*NrE@5@*mdu5=lew|6CKvvjTjwc z;c2nc!3qV*EFmjvtuu6cUcuCYK+wE7E2Lspm|W65-g$NGjSo8rasURqP4M3EDt#>1 zkvZT@qWjNs;?JI+3!SvlV=!3P3O+EE_m&#xlTJ?TjT3(N&z?Nlp)99cH^x_AUT3Y` zINH5;&%XBk`>T~N2QTh}lY8<{x{umlKtArCIxNK&&SwbfK5HZotaK(9`-vlf+-zfN zS}v@dF?FEKqgAGLkXun=M9CeH4_u7);9`1o_iQ*>EN`AjxIEupURGJ$lKt!Ne!!`I z@zv$SvuSxf4fJUbNeC~)=X-Q&SVdG$^4{R;bOWbE6tLg{BIdC4(}U+tp5~ zOya&eVxb8k6e`i|PVVoEmU}7~kX;CS6+lu%85A_j2WL8EkM$A~U91s%jW1m>?EeLg zUOZ@&Wr}fjTf4tbHy?|&7MPpnVDHae9s4YpgmLgv{NiGxkPja7&PvEfV3qu%^ucLl ziwEyN^uQ*IP{42iwc@%=dHMcUCgfL__LU=MgDTt&xFj^2p3ox7->% z#T0wsjQbKp&WO`bGd|4iz8<1e;=y4(@Zj2y^T0WzbPiA{}y1E zbPX{mN`oU{#j$W%aW~x@8eh!%3TMdW#9+#?c3N zj3ogs6u5cU7;vQSi8-9SRWiFZy1~L)laFCEjDwZAj>PE1 zzGqyAuK)ls>qq4mM|}8$>ufS)=eDeT7BK6t*oWAipV63cCQBvx4siDR-VhmhW)4n( zHVvIMw@^fiP?%0neXI6+-~3>^ zYoKbw#kNkh896#1UDRLu`IDc&Q$Bc9yQ0m{aH#8AjH}(|Y-Om9poN-AwPC{;jgvHG zhfAU{T2gv~JEpc|6bi^_+`Ev4teCk^wHfgdq>TM%1k4RW zi=>fL#?&kkQg=NwB_A^ zFd@>>q_kY?|$PS{mRe#SlV_s9|b(hpI`sG{d^|Y+bL6` z0&^Sr=yez7XbnP_pm9SGXpqW!xgN%^{>wl7#@F9``PJLwU`NkTB;72cfwo$3C{Sb) zRV1>TM}yVcVG<=JfoOsI7t>}6H$6D3+bQZyprWwgilpVaMSH`eIXqG#w|<#3}JZ8j^klnjbeiVk_lzJag1 z{bP#MrH)JyMV{^R3owLO>| zFu?$a1+uFbv;2q+lA3z?h#QOwWW#C_7!0DhYvowMhJh|@8>8XGY*-2n%`llqL=w%& zkj*g(je!Qp!Wa?O1c`1XveHJOB&Ml%R5N6OQiB*wg9M>j@6p77jgYB(4e6HjQi1tK z1i`4tYV*`^q(NbZ78&_DZ8R9nOh&*l%G_XvLX2diJG5{w&O$HF5ujl~+oiQgo^*yb zW~8?WP)$}5<17`L^rk%zE>EFI46j!=bSWxcJ;kn^{xgS$rbIIir1fVPDE?IAlbD*c zr#359B#PGZM4p|({VmuGZdU1yRe62z_s*wb^Z__o`V{)}4=!4S8;jd|Iow>krA*fz zD41vFaOepDTx@{}8Pf{hH^s+^!v#7qI4_~?B=2FF#(@NTDeL^9W>O@F8`&7xqf)wJ1M?|4-{ll=OhYY3P^Z=5XeUT)7@Eh;|OH`J!7Mudi9ZcHultCr=; zzMT&ZSgPu_bttd}pn^n%HvwXqDVF)lV66G%Uj zN(m*NEVdZ!ViP9DRL@r9upI1sr|~1V-1V!y0(Bg__VXgz z2b0&Z?G{)R-dNj3jg$n4o^+BZMXoXd2&zS91#`(ub6-)$oMmWTyezFyQ#{k1{Lou@ z>gP{?aTFXJV%q%8mGk_{WL*3Dqc3V-rSo6akdZIGbnBb{@q2&c@Biq|&%J#1{**3Q zH-LK9B<+uu46YJ1=G^Hx65h973nhgcqM=I-D*!h0li}9OH~;wm{iCn`-nU+O>E>!N zTswklYxG!+Wf+HBtFkDZT4$7kVP-UX1WQUS!>uC)=a*BoSPZ4Lx+*AEwzY;JdTR=_ zA<)b@AkZWP^xBQ(x9&apKfn8v|LH4lY+Kv4>p)v^-wN;j@Fy?6c6%sZ=R%TA} z<7Je5_@r!5W^5I^h)%!Ur{&aJgDbx|UQ@FKSCw`(0Nfh=gU$4<$D6hLhhQKdbIeJA z?dNXa_>cfVkl-@Po93n6Zy;->_jfM=Y-XM{c`PXc(RWSFJgEzfPI|%AvegmHI0Ygc|wZ>EB7xmKOMA3XTH~|^EaKLje>3}q&^Y&__ysJVgAH_+Kv@jNTAMA2!p%_zmQ5fCK zuh5M$qDUCs7~!zUx)jv}APFm6hf{I6#by`V8f3WHdf~+_T5M}@`~)G^Utma30fzO- z#iNU&XtPkUpj|`Rm-(71Py+x+v``E9KC2YyxWF3I#AzEnf!M3JGKh^pfHGk>N3pXj zAFVeHx7pv%Q?+Hlf9wM98-=QeU5CUS=G~Ef%6~e5_AfH{oNXbYDOSZtwl-%cyeVfM(r9RWp<>B#!LxENN9|mR3mjcTMO)> zR!YdqUr3sARRu&f#%9}IIyp6>&Z|~W1tDo)HS3CA3*=HoB2iAHs!7)vpLbw4g8N{5 z9}wI^0$#d0sc3F9Wj$T}#d`7NgC`H}-Y<)xhd3F_KeZ3` z{6B+{mNdNGuI;8)tY@ZE0xEk?_2BU+D(IRP!X%vz!)vFjCPnBwkG3E_mHIvcr^Vhp z+kWwE_u+j22*~?sId{voE4Tvo^zi7qUs*Sw#yB}lbTX7|x=gZrBHF>h(Ma<~lyT&u zR8;tAaJ7n&1s)5J5W~VCgg4bDd9SEs39DJ%0it!mX3NV_SBQ<4zP-$hAOj{;7zhVk ziu8RueuhpE^SQbOKxUOv>Pz8L=69UTDqhMQpimHvawmkEopBTl(lJP&Xf)BKLZ@+{ zTo{Z7E6ma$2wb{tz+Hs^I+)@_f*S%ca3ETX#weL+8|V#tRSICPMA3D_((foC^Zj%k zkMuA0=5T&Po2|*Q7j^Vk^NPXIY58&Ry6amA`=pCNs0n)ow%JF)eEn^{(>VIji12ZE z{r2LWHy=-q090eUi=mL@wzlPp+aU&8Z&)WFG8?HZEF!PCPD)K*GQ^T;u8$3`hcFJt zrn?WeE#zbf?%Yi=)i#@r`Gb_5$)%8y&B(nvWWQm7INt)nFTHky#yT~V-g&h9(UZ+f zBW}OAek2Y*bND|m7p=ABuskn|U7adA5uy?eV&ecbQ%!>wU_i#&ba4r;ku6fPZn$R> z9k4DRM%Y1D2g!ar^6HhP#yPLDHXmunYxpxB zR|`*$hbXI&g}>}CBA6Po5mT!^3|5S(71v|?>+i(=Vd}V!FTeMEitU#EVf*f zx^O`To^AZm#dI;X!O&C`t(gY1(bS{{tctz39RBIIetbHVH%^!DU2Kl`8>L|=2yLF6 zkBdQVpSJ}hIx4MMn9-fX&^rbow>;2!9K}*r(syy3&CXnb}0_D4wEkyeaDgAsNO#hW7 z*5O7>EpCm&&)r-X=$lWrZ=UaNjh|YVpF-|JAMDykGy;Pt7z#tC2%?v4A769;1vD`f zZkPxQmAO2o0B+`q9}pruowx!g1PstfD$I*pY10%XT0RGY#fte36(%z@Nt6v}qD4!7 zaWSc(vbzveb`l0nFh_?-vM~!34OGI(GgF#IiAJ}6%o3nff~1AH7%2f{P?d_Kz>pS& z0^ynIN#I#1Ac+?62(y@C#?$7MJUJ8F!(ea|m|A`s!wR8>Mq9XcQv-;C)&!e_FejUvg9(8bx0W+y)!u(2cG=()f^;^y zHKE6ph)6GdzIP~r)-;$#c)8+De#j8fT!Z2MqwW3kX(&BcVMJ{$aR42?6^Te0K~Nz? zM0(YV^o%v(Y^pCT{kOjI$``-CzUPMOIAa$7v~C8V`odJS}i1~0WFoz z(_)zQINW+PsJ*m8UQ*_4(EG9uPdv7nfWy`8Zx1~7)NP4O^q~ntViGMngmugYn#P5 zj9ZI_>yQP2nUr#L!F#%G?B@crqmqAs1p1C1HRtIjNR)!J3!U%ss0T@dfxdSU01P0} z)igL)`XBswbSL2GG67;U)!G_}29D%Q!*G8$?Geuz4+OkJ%6pt9nF-dj6s9>9ANlcV z{`$e0bmo~G8FRafn0=2d%SpMeqYJ(^rq+J#wHv?k>dnWSNkDP?;Oz3j#pO_J`b)qSzx_A<-e0?WcFBGmeAsz#u%11%=)#f-C&_}s z+$6WN6-ftU{nAZd?EdBd{=4r#ID7r|mkx!$M?(Pvhtbisu0MV%W{9a`?qg@ z@W1@p=ZjhGU`*aE7wg44fBw$>cOQK2mp(UL)`%cTGf^HO7@<B?4h^cML<3 z;&QW_DhBuH!VQ@aaRZ_u8L*vwMbf%fk^ z7YmS29&c95ak(5a%#*WGKG?V{+sm5wWkwSL!z>oWUMK9Ulhv>s(L}Ln; z%xI^{&9=L#MVJ@#oZKFeO8fOp3^Z}*Xc0zF_UxxC?&oF;w+{~hK+IJB88_HhKyv@T zfX!a04=L-Jh#VAZ0$V~BXh1Z0KV8+?w?r?VPidYZOH#zbs-uTY;z1<@=UNs}Gv0&(&aRZ`c(YitO z8l(kF^5?>3nu!y*cBJuWeH|8BUwH|(>&Qy&&52!k?Poe>yzDv|Tl3v$ZzA{R{AjEP z|Fege|KyMF|C4|83pZX`ot?KYeBt&m`o-C{UQVxmakV-bZojbny|2IbB&M5duayS# zrYJN<1kJ7_0Wu)0E#@AynGE{qyC89UQDPTA{9v=0bYtmzACxrfd{E5!G60B3gijHQ zh8C%DAPAc9Xj7L1|HuFS^XpZ4_s0*%vDioq`js!9{x`pRb4UKO|MFWEeY;Zh6>A zEM{&og8_TLX1@;h-f!NZS#}q1NoKTOJz!aq7|^Thapm@Ks!w0f^9BpY#dvo2;iKC( zZ{L0)Vxy+Pe6<`m+noqIbXm+jWzm8}rp3%iX)%lu+i0!P$6|}YF1F#Mc5OHKv|OB? zT|9H|#o_+;7u3J&C)=EB(ws5W{F(!}u%D(mr8o`<(-b=T_5R)a=Mp%0N7w#+)^`WQ zSZHcy{wwQ~-72~W_3^dLi1L;h+F$?xAOJ~3K~#RyuD;9B>3-!;uYK2Fee}wscSw)} z&mAqa9=(RPO-5W!_0H+ZOD8KQi~Y>i20qC{RaSyV_B}oul_%O z@GHOhOXGSuonJ!P{OedeW9FSidOzJ4H(SG=FlOoJ-+*tnL!NvFPpMCL#lXuUzN0%dl=02=O7_1m- zBn3jU#;^jLWR^vXB#${`rsCMv&30#G2vSAuEdfX(YblfBL!|2uQB5>#E_bFFmtLD- z)?O0 zg#vV!Lp@s0SuxEDPQi33h-Q8NL2~b^%$c>c3=N3n7UX(K=hA?PeB3Yt9hPl&VvgR~ zUmJv6Mie6J=u495f^Kv%Oh_Z-pixM;tFsFtyF&jvZ!eAy-Q~+%>A4?ZPG7^r#F-<+6Hkv+5KB6k3m3p1LvtZ`>OH)0=0%_nou9`{mU;AMEb^=)qKDw`mBK0XOcPe&Nfv zRpYDQc>l>JZmpwqcjKtRH-s?))W!n20CIG1+{89T+!r*>t_Vx!CZ{EASxi~)H zbLS}9oC-vT|B*!FhSp+gYF!0Ktk~8#zpQ`jufBf!&ib7{f4F&kvCT$_W>)ypP5=Gx zU%vC8zIOAo@&4yKF-(eWi&8v5H7I%)Z6G!NlZe-$gHUF-dJh@p_JC?bt(+leMk;%< zOWP`xRKkb=X`QMs$SD)lq!2=I!HQaL+)l0}fI4q^n_X&ajAYbnR?@fCp%d+dRwe~*uM!X?kX4aHdUDaJ=RkNF{os8~KFyK4r|&L@PJS29NFR(*~dET~{wYB`1I_fBTdTm~%77+#-8S&bQMm zcW(Wczws-IYYuMz?ug43s@BZ)q;-CN4pS<|;^Q*CZ(p|Eoc{!QU z6S5Q~xm%C^m-j`(;8u#yb2~X150A#y+QW~h-PDRePg13=2HQ>{%0aL@)c|_=)^I+@ zJ7+sLjPhdqgZm$U`MKj_tYP~ifVoBJ?Qg#I;ul{SR;9sUnSdZ<2$-`t&75@WqASP< z+iUSMuZA)=O-+MfPKl~A4-#dtlHTTqMSCUpJPfv4jUc*F!) z5s5yV4~9AVV#$4vqeW}zG;V}YQo$$D5W-1cIceYh+IM%`>FDIpj8ki;n{Da#KsPUz zfV5`MDAG`CZ0Bm-jtn6SrT%NL1MIJI$F))`57^Z9OLvcMjl&#~7093NNFvOqRRA*H zrqR5MCU;8iGBfrl%~F^}+4Mldv#xH6!=a9iSH@51MgU1jzti`TB{e!94Rtp$qxd?E?EJr&x+M4#^< zmJaJ>i3%jG^=1e9jgKsxCh6Ys@SS&dzw&Y!3NAN|#QMNNM2pLZmp+!)-@LQgwtw~Q z2b-bgUC~<5ED;;w#?xJlhl6qH`_Cs_pLJFuG>b2sj9(AEGc%-7t9f$$mpvyk zNhTD5)}q#^+0}tSLv4C^G5zY7PQLop=RSP*e0#brtI~Uvgxd%9jd!Qt`|kG60YB$O zxe#?uIcQfy4KxCfk*(#rsJ6tC0%suA`&$TxG?S0?@NTlq>B9igA*h9Vc`UT|O%&0U zwxm@1YI(m%3!{7C+X~n4*@Y|tU@0&KkbY}ja0^R~@z2fJ-zMr*opeR$IdN;PMGRg{ z286-2NRssT+|1{>_o)#hFASGzbZUR?n*n~3ykEn5m@c;WzxVd5Z+x+grS2+(^)RTZ zHCf6A?uG1nIhV{9@5D9DV;r`-xi*e&hpTeFX-3A>wrs5WG;qsq-{8Q= z4fD4Co8SM&FZ`v~X{I(WHx3sjV(cHA1cvj$QVXcESnpm!4>~f)?f9H%ykkxk-pQ$gD^(S~hK` z@rm>aC=r3|^n(b78Mo6k&21>w!)XdyoDFWq4|}{NC*$*Ze)(v9GL}c1-K3xL1hD|D zpOpY)-;n#2RCc~_4LI(tvo+upBgifSM9{MTsennim(=JbN%~4WDAEc8q{%@~+M@~N ztPp)Lo1)f2&1n{D3kP^i z5h^GXJxEw#tu4Is@jK@-i#Dk|1i>H^t27u^&_*>;wLJcmlKPeJj`2X576E}~9%fAK`;Be%2(m(&^=5PJddMMU?=md}o)lI!{d*k(! z4hN=;2wbhyctrV!CkItqqy>R%q|HiAA7t`5?=k%+xsu$Av`#;#$ zs>7qt7ybt#v}mTMEwaLjn%+1>C(j`uYcTaA#570FiP3$Onw0oI1FCte zt0~30gzV^H{+Q)>C2+$Kdr&JiF}ZP}{mgK6uLVP5|1a|wbvKdE^Bg|IP)~%|eeJaz z1_6Xn14UklN>LphzaGZk>wqJI>xG9m&+Ohwo@iRbzo{@qTKY8KKgKz%m zxBkJuSgpo8caAMOEWA*ItX2GIiKsl4ac;)_b-6gLA3O*aG>Rtp5}z?L89;`sj)q_*ignwI@sSF710@uN8V1 zxG2MTTTo`}VMa8e;?8xP9PXzdwKRh4SWe<-uv| zM@ZY`j?j}gY7<%k;aU*)2Czc zc3>!l(+x@zW&{v03TmlrvLH4Y?yC4WCCx<^p{*XoRoa+v39g;|?nv zTKV|<@2*zk@yS7r8BN7(wHkNxWZkF@ww&iiL?{dXd3%_+8itVOR>z^N2EW)=H%5&e zyp3+V_V~9hJ9@3{_oh=%&b{^F`9tY|E{mAj>D>wSgy?N?w{3(}} z#I4&$-~ZOzzxPl6@W1%4{_fdFjJc(;V4p2|{cvd;;=&pSk%2Zsfo=!IWgpF8e*5J+ z^V#+NX7>R|lvtq)H>I(_xt7pL=09-;*Zxfu)uTO{6Eqxulm*_H@~m11Qq z#m&t?M2K_4Acf4$J$c@^J`D>1<+Mh(!crU^?Bj@O&oj-9KYSy}(HBL*S`hkHEMmaJtF$i0$R%k$jB z>LlRyc(bd~%lidrFtGqKLpL^Pjbbqmq|a~iyB#(ctTo)4rT8I17YBxgfWc8p#*S!> zO+wtr0G3z`*MjP+S9v`R*#DX>H@Z<9O=Jx}(}hqse%yn*y8g9S<$6L|dNi(T6xhEC zWGlp2v@ZDC+dFp-4jP-_Tq7E=+l zn!?neno)RDiwHynTcAZkRGpQRQ)Nvdf#ruLwCJIINR62_NmMjN^sWGf8c>(%YX&MX zXQeF^feKct0xkLnKkxJSStFI!2D4m0lD?UIvNs9B_cJq9GIX!r^o#vLpRjZYiVrAf+TdOy} zc>CnA3;-F4?oBmDw-*k^TVruLfrG;54t!Pk&wljLTy-$ma=rv=rjwYBFH!p?5 zSccJk^l==D7f4k>cq!fsCfTd!ZpF&r9V#DwsrVv=KxJnL!V9oQZY`8Hq}0s+{cb(`FqAAon%3WTW66k zHUDPntP+57LFt^B-QN}%0%kH=$<9_64J{I6XIQYokvx9@VCiVSq!c{!j$-wlsQ{3g z>Pr~W@j_)uPLSIbJ6H>{JP_>~QrP=Y2~+Q#b7Rd_DrKQ%4i$*OzKUfgmqs^qW+b!% zy8;q`V}plm^J zS=UO=VIw9*VHeNX6ZEqrDqw;II-b1JngOq7uD9Qq{Ume1=hdFb5H}n9*zzsvv~Aoo5cK!5o)0nPU$S}CUkpH^%k?t9uLg+ z4{XkfOZfBe$Ioy)%Sq<4wmI>%SnTob89CVA-@0#M*L2?E$@)O9_{X;n-+%w%Ti<=> zmwxs2%a0zZ=7bWFo^UDChCR1XGzU}n#^`1l1(B46NcZPnc_C{2PyhA*^4+g}|MfRt zDdp*l^5a9Ixfxy6iKE-&?N<&TesHmuRN`SkI_ z?eota))vrg=4L!zdkDK4O-9qoxNkD7`f{)%NffV3l8IsD2n%#CmU?h02Y;oGMwqk`Kx4NZ?iCv% z(Gj!5yGQH8RW>7p)Rgw~kKcApD#q1VvKQ3EX|7fB&U9Jstn3^~)Q7ULo#g~Y+P5|U7#t%@DBPMEcN1#M$RAQ#apyHA z_M9?ZWnlZ~?;18PX2$}T-;*ZBPQS~eNeQAZ@099Ai&kzJjlqC3sb6He60@&x1`I?I zXXvo-5S*GeI|*>Y99u{Y>s5B?g%E5Y1w*ZXuqvhi1M88uoTKAl#f>p;V1SQB0sDl2 zoi#zQv+A!tc(X+?=^&(Xe|+K+Q^9u)r0w>PieF6+@Y zyFT3;t+iISb6u6AJFBmJ>E!?Y=7Zfj+^ku+r_M^+PQ=vWcvbEk*!vfuNV?}xn(&80vc&)+|YH>GoF+0pL+FsAo=Hgb9v9%lI{L^LVeS( zVCBo&)Mr)ek#ft`dXdRWnNU1E0bsyEGiwpG?g{XFh$=|6K>M>q{{R4UdMO{j^Wo9m zTeqJ(R-0NwA=cx#*=`r%L?9Dsq5|x4X;R3I5i0JILUFM2%c)6dEmq@j_wMoWc4w`& zWD)m9r<}Fa12QZtdGE>7p;;ArCngAtndUg`AnjRG=|%{s1&#}cZ2MV)LS-pw;UZq0 zyr-cMOUC=Gx6+S$y7lMdCVlpJy|3oaura0_7D@WN;>j<$`b_JV6%4Q%?|fAsrre)TngZJt$Iv}oBn6A^(H(Lyv^je{^n zYpbESn|o1ObULks`*`QMJG)2cfB(Pzhu{4--~ZA8hd_A08?TgZh5IanB)nt}V+V%? z#>117t`@tqjSWWHP|AB37ij_Z*zGAHB39$D8cQ^h z7K+U@VS#4)=cG+ByT^NPBpOv$TrjRc({To?^iC?nKR8wMg$+!F*vry>h+Nj=p*d)WhuOTg?v zYbhP7&LHXqfolOox=RSS=E$$`BteA;Xk6oXjYHSLfy`lRjA_}h*yi@bu^TzTvL>Qm&udw17B1N1 zhkYsF=ZJaPvX|G7hk@(O8|n`&@-MOfXe@uawdOmg@o(Rq{^l>Pw^PqRL73URoys`u z#_<c*o<=)Z9-#^<#)E1q9|7=Sz0W+)z9Rev@>bWL-q^=9orcL=DvlDg9ZW9@qWs zh7;*x^OVqF(Tz6b6JUD~OC9^B8{ND8LJv=$7L|e`yGvycQ5Ui-gv15fQ|oF!{wSj> z;{ETuJ+5D0uh+4ep(tjnVc69f*9EJ3RNfW1y4E7;&@9!^SnP1+rHPXJ-q@;^%JRVOqWDRJi*nnP#uZN-;PtILu?@U8KhBQtH!Ov&vPlxBRp(8J zCGA7M^MkS9NrFN>t92)`5o`gRS3Kwb_wKDnvu%3{5ud<|uiX9K*S`11|ME}2{N}3< zK0cqPI@hQ*<`#2nySbII+Jy;K`(n?_&3QHmEGqq3vYZq?7<%Z03ZNKL_t)+i#`o%tXIAoY+U)l+8}zksB3n&^$=%%SJAd@;%Zu&N@j)?W=J%usc-nU!tj1zi=O8sJrdbP~g|2t0r7>x# zVCOp61<43VbJM|KFCDEmwW47|y>Yzy{>60J;^?W=qaSlzwzxIeZ#;J}e>w#y$Nm~! zp8@u<53eqPf)-5kDw+i zhT0T#&Mln9SxiLI?JX2FuYazeU1h=&_CreUM@z#A%hs2!JJ(0b8RdPj2vRr|mT6u5wV*v2S>|iLQdOOR-VQ$dv!co+xcec1~#_Vw&xpPm0P!uzWjybfBCHk zyH&VZwV;#EoDD8&+p65VJ>ESi_fO|5IPe+f@SG^7kN~%(#|JQIQTe1O1X@+JP#_Sk z;^VXFjeCcG{V%_KdcHe=3YikaT3f63^ z4R(*!j4*rUhL9MMGC;A!@$ABGVoGRa;4XFT;0QFM*u}Q?Y&0#Jo<@+ZhUVBqwFq@> zfIu<{d%S!70jYpeyKG?s29ed2w@7 z2naXY0-Or0vRlS4tXK0VNM!!Fhcv9l&Dq5VKX~ueuYAc1Yb8U&Ff_$noBLJbYU-*I z$?44aZLV$ZaH}1z{Bm2Pg`C^X{N91r)mScftvvmR_a*jRcGm9S-`2Ob@xmal?oMJR zM$kT<<3}6jT;VHdk9qCI4HHI!i+W!erK^HVXC7V6M+p;!FhVDV(DghaZtURx|AgCy zwOs|r*KYxJB#KFsTN&>ZyB5du+8gsvOTr>-Lvvii#erg6+tX%@YxzVzXj9W=y>5Zl z`B2FX+vf=&KAN%lEHK1~Dmf!Oh^RM2;cDn!F zckci2-M7B`UK#xF{O5n|@VS%s-~Q<6a9EeJ9%~uL*WUQj*Z=st|JVQUj~ROXjaQ04 z8}nxwG)z-WTVJnz97qxktwkw5jGj)`o3l9}8eBZQdoZk>fRBE8Iz9YgOEZZr;BIT` z;puLwaX9)oTGmHyAD81p+ud)QT6Zm4Xj|iK7gN>fWN7Vnf2!|Y?*76{w;pb%+_8hh z)epY$qYr-g!QsilZm#*vm_ueZcu!lI(u?9^t_xscSniWkEiqT2i5?aa0o8Ub%{6At zV6?7%o>&p~3G21{wBKO+le|p&{ejUwK**h0Zsfd&@(=2}X|&Nph!$oxwRXCjp4tEq z3OBAt*U~sN*EUD)FY zF!LvJj~{DT8&!6MsuTfhfrPuC07 z(iu$w48ew=xq~#LBpJ}i)u6Ru>hNfOKU*@3V5zd1o?IjfjSdqG+6gsCs0HYt0gD~j z!ex~q#fc(yN>#e%B9{0P>>a?7z552ElAj8ZEMZW{la-&8WH%V4fWtgE%Tl0J8V#jD zMjs#x@7sg9y9Z1n*DJ0@?zXIWbtY`PNmE1iH7kv@vg_}LY zVR?Oz{_Nl1mL&?n(TX3Q$3Oel=0E$DL*H@V(v>+Wo`Iv8Gi?e+_Aoj=^Qu~-RL zOU-owR;xAl(mf|}=rKpKh`wJ8D$on6%9b@|QT zxL2jq_fGRUxxUfCY#8|aKiJk;hlf80_&*PAaBOScwWvc>u`1&&iV7|~e!zl3#NK5} zXwmPo)HzLzCslN{k9R9%kYNrC?73-GcfqVcVOLOXVhsSz2+0~cmmNg3YlzEZ``-X{ zl13hm0*arT4_E*rm$2oDL7+)hS?}!o=s*}lEfh{8Owm58F-4`gTiH$9)*9VFSO81E z?19^@q3nKIozSM$(c$?Arym@>fA32#c_6fJ2H5V|bk|^pTrfqTR@DeMb6SlU-EJL> z4=;9t3~WMBZrX0ipO0o79o03k9= zbG;H772pJ~DdhEFhqwgJ9`B>R+RvqXJEyz&04ULu0S2PaeJ#@Cy|K0kX;!QdFRqFL z-Cl#ax{)cfg3fDef;+!>G@cAxoQyFT&!+gd7t`E2Bkt-v?W1SV2`3-T@o)-y+HPX7 zE^6aWS}&w#Gy1Nf-Z;3YUx;+l%wztPH>cj<(O%B#TIFy7|{=?J1^%q`w^VN&f&F1vt?0j?b@}2o|^Y*{_ z?mORm_x=yxAJ?mcqxI$a=C}UA@BHT9`>Pzw+4=6m=G!NSU;WCxKmEgR{U871KN-j2 z`FnT$(+ed}8)m2#n@ybDDTAAlUB{Lx#mdTk?RD2Sr_(gY!GRy$UI~yitnA>hoEarV z(=^BN@o;!JMDWqs_UvpIS^cXDW1XV~2Fn1uJV(vPdU)C1J)btALfl%F_b;}OwsmmZ zwdmcIWXdHiP2YAi&vT4^^>sAoJkU%;y-2)7?y%?ay>Jnu&d1`75{28 zj}1Qdb2n?w^+o{bOXjd70M`@fG$y3cScXhLETnCni|w1CuWl3x!{F|goezz%n_Fvf zwToohTIP`l&{Bw^f4(#An=pr7IXYOo&#?m}@w~>Dj>hkt?JnZaR0I%kTHEV~<5y2s zr*mNSY!v_!EPG77PpM9jDMtxPvSMrz$fZa!z?}?OQ>x~Rjp=OLh{5FM=$;WOfR_a5 zWu(&Ahs8)OCUZu(fl{~&D1?JDw5AYu6%4o&4K!K_rzDdVvI*ft1sjt+;63oI(I=xU z0J(@%@<-=wdG;k5yc3%GoTsGtTZ0TtT)`Ef3|R<6@h;R)60*X<9HsPMz2I`|VR*N}0|+-dv}^7B)X`$Q4OA;`?UoUB-zm}m5lrOGURB+E{-BPh z??0sl`_fg+B!h)t1F-U)y7B9^8G8AG{pYU-_>b+uwTOpWJh+!_ErGuF+k6sw-yh(9 zFM3Btud0#M?F0VX`_orm9^bfA9-MVs3nPQvU2HdJ!|mseUVr8IwWzzkw%CmG48cNr(BiG_q)An(LRI=1QQ+JlAl>yc zxjGrQD`Qh{b9ZtVI-6Rg@;0s>2?1{I*-S#X`(QXMbed6FUM?^QOrhii*9i)vVRiGy z`{dg&W3m2?Prjy`zb+?V=#4Gvf;xnVAvZ%bibEbEJZp?%DromM#5O1c2G!&#o23yC zKShS0)X~v;`|#pV|L=cYU%B({<@WTg4-VcxyLI>Y!w09Q56({R+`9MbizzQ~aIpI5 z{)cb>;JrIZs74=)@I-}rFz{>6Ma_`B!3sYNlHTU20sx&77u;Fq6&?ZpT0ybq{1 z(TaOcA&6^og4#bSS5MB>+xqXlEfi^Sx?uGCpeBLfzSaFkxCAlww5RQA2NX*h*dO!8 ztF~6`^N{7Agsd!$OAH)n7t=IHlqU#43K2M1mExwRFiD!G8X+%x|IpZ1qtaEjtHr2) zVN%|w7PnW!Yq!>?yBQtz(zfY^mA`Ro^{@U6MF0U)3rW9zcTI8^ZG2iw#N!_#AkT1V zk8-F3pqZ@!fYXJ>bnud~IQnH2z_4uUKqt|p#)-kKV91HqxiVbt1kqKEUW!GVnpmt1 zrdcp>J);RzhEQTI@{&zc+to0_n_58BKpz}K>C==G4UPz3N=1r1w>`e3JG>Kr(p)=v zw#xg^0gnO5u0#Pe4nQCv4Bk~sVKA{UtwKmk_(2lGD5T(>Ok`+ut_s+&odUv06p)S0 z<*m{EVs5QA5LITP0R=Q*Q+3(kYHO01@=E-OhH9rT>9TQm~Ksug~L&0L9hc zL15)vJOB8t>B}z+LqTnQRmpD1&7;lH$-!%{p8VkLvx_+fYwm6>%p8;&qS2_q6~x>` zad6w!XG{XvnrhX_!7!vYPJo?dB>)joYpV@{=7{t2`s=@V`}H^PJa~9HUCi{yL;Uq< zXOsTfw>Jlc!zWtE|Evc|3*mB_CC_m!V_*&}Zj|WAw+z-4=ucjJ zRz&?{jbS}bm%Der{q`6C;xDX*VUF3P;x_s)wOPG7yhQ&9HOORUh-8AXxKFJ)>~K}4 zI%UK@H(iXw$ux7ZBK_1uhk=6+MmZolWiVOd+u2!0WvMQGoeBWYJ1%1e67DACvTzOb z7y93_;iZEvdP1a(K+-tV^&7}_|Jqz7kS%d2v4Z*F6v;*7gB&{sTcQV5-GB?hs;(V5oj_x z0u8LH1MQRU@{I8ub~tkN{K;?s(YL<&TMu^%tj53c!reC?U5=&Pd+o(#7c&^ut>dEr ztCxcp?^vt<>L2~?H~!=Y&)<9QAiaKn(iz2wxk}>Uf$zJlByn&s)EMG;Tn_7ac{W|1 z?hcQK^GEaL*#tu=MMShV3?(EqNg5A^qvPRxGn3p-?ecWGoHZ6IOHMhlG!)>4!}8JL z@cv~TXlGI1zu0~0l~XU!wJ}sDnPmhcqpZ}fSPUnd7=t12V3X(0~v%VW~rz%u7Y`0 zWg&MX!BBCV)1K>qW*mr}xdhdS1`+PrL+&I{0wHUPLJ>89;HI@rofDMVMwr+Fa(San zD6MuRI4o<&lmUup?W%OlzV!6T*!rPzPvKORN@i*ODn^Pts=A447vHV~UxyBTFbodAFq3})Z>++s!%E6@fC!dP&+ZRfRuUXr0sQSoS+>xDnM zh)KBKo&E_p%W}BaUdpxXM!ovx=kypQ;FHqqPr8#njRMm{fN_x`3tw#fB7%Hbg`|QhnF;5 z59zXqd30cZ^u6t7r&n&-&nfx`deds0)g~|kmDxNg392MJO1dXtCfL!0p-bfEQKLsJ z%cYE^4TTHMGufkw+RXLZlx~7F&)qjT>3LYJe7PV{bKu5fuHHFdUAQ-!UNdk>TY(>^ zxbu09%)qmY#Iy(j0eOGTb9L+Hmr{_QvOuKq7iz8Opjv-~!ogWDu17Qel+6&RVLk3H zwjcfI!+XE@vJc+oV8m)DO|4FHOYB=hw}p$A8Y&PJA(F+cwpbTikG`FnMOd?oVh6)e zc02iJrz~z}Yz6LR2{DX=b%APwMaUsH4*(uTLa_iX(n!^nRl@~=-k-XjF{=B^7}Xk> zWYNbT(ViTzBb($kt)L8uODIS*5v_&woYym>cFJT;23BUPOj`tY(rL$#OA#uNW|UWx z=6-d?wcw{4W%h5+g0_KfFoT;+aujo;qZq6!O)y|)TBK5;1>|BZjLj=`X<$)b$WV|p zFg=&{=aAs_ckhe6qV@Q_L0uZ60^!Yi<-P>+d`0h~prUbL$e^6ZBS4wu{9wRj*@5!- zU9+4X9=jLf{%-fJi_OJoUwGxkf!wG)GWy}TmTFwI=89OZ+!v3-=9J zYFhg>H{&N_iJ*GV?ozef$L`lod;f6(dAMxo+7|WrpZaI)8kYX#$X7bRkSk4QIm&(R zyT=a0q~9?}S`y1-WQ}$bn5DjW>K!-Ol1b2W^6eChpE~WH|5|qhZmObL&=pFtkPC^4H zgb51Q>^{f<7i2b-@UW&B2zLX_CX#qL~L+z(t-j8+X&Cl(zIXB*)!> z?o6;CJ9Zw|*Bl%J~qV-@kx+=k53_)&mgBlf}!(h(H51KFxSQlC2`GjT~VKE~Z zFpR}m%q3HY<3?Zy(rq`#*%Szr+`ryf0JAthoo$X`c#;F~)Vt&=Y}TUBz-!?(uKkdV z{LiNkSm>12$C=ny(@MW;acw`Jx}ow!r`g~*DE#N&*}QtE99)wGB|x+7ql;U2k6!zQ zyWfBJqRy%oW^@LuSDtBZ<_d1+mJ9T=K7d`nGFeHe4R?>rb9ct6Ms0#nn_38Jms6C$ zU;T}jeB~eg@Z+dqH_1N|jt}f?im%_FZm*uK4ScS{jJ4@RdXfNu;s#`Wsq+aC;v!%MHdq?+Q5S`9xY!GC$R6v9^$TY2p8AgWMT(Twr zLo^DOZW|Ozl85&3{nMvO_9U7PF>PFF)(bJkV1>mn7!8GPrEo~-mdxOvORfY6W*}|p zw#V}Q*GZ$cEI0kSV&Ozw+dK7}rS~M{2{u8!Jw{mxL;=7(+7%g98m#5TV6+sZ>34gY zxAx0XpoT)TUOTy34l__)nH{@*FiqdvY(JXjfxJ76dBWE6O^b)MK0l1-p~p_FkKX3^ z=$mg#;p6K0SDx1sp?~Ii0!E{gyOt}%C*8SMr$wQtF-Md!n{A~CB(cdbZ|Zz8n-L9F zumZJYHnwOqGc(nu?XJ#qY`1NigODIumvWlD(;`nEwnDwtUK%B?X%6J z&Ac*exQdZMrohE=r!On>{&C#5jY^B+rWSie<5!u-c z>oW9LhPG`9_oXHJ5`aXqcsP{kE7rAXUOJ!aE9>z;efi|~Ke~K>TaO1j^v^c`nH3Lq z?YP+Adg18JTjQ=_Q?K;KK05&rTzbs%3)jKoUd$&gVo~uGyD&_^8L~sz2Zy*qC z^e{$Is?WEI70`<2AX_0?48a0c^H8zzuyx;`Nh(J>M_?)T29CHu$Q$y`WQa3{dI6 z_r4J$x~&|u(QrwS9f3{~N?SKAGp<4vm>|rE$eXUm;bKo9^ya4|wO&PYRzNivgcY;5!* z{Wd-8FUU+Uqlb}cp>c+^nK2GEBn`yYKzE~;s;;i(t8dB72={ySa6KaPTdKMm=qBOT zU6qv?85!Z>e%Eu)CHFAyF{dtx{n2u|wM#oO>R18Kq6eLt`(Sn}rx)ANT9WwYL841| zaZ>NxUn*J6;T*PB$7WU8Xg1W8RT9jY%*SHUMc10c6f_CQNmG*5Dwolozu1mrC7mJ) zOYl0<-3oAC>SkL<$ENr)>84f{E|Q*&WnJnbH^f!fX+BuUY1f=(_v;mUSJ&O{o~B8A z*=^4s&&%Vw5%DrPb^ZOz@9Zr?Z%uvt(y?$lU2^JNT#>sxwcx$jO;}<)duVy*tcy3TTpqHt$cr>_AKp{D$Ayce-)y z^_5`!tFF&?tDe)NnS|pcK|k*#LXI~fIYe-G$-jDk`?Xu?og;mIRyq4hsuw30$G4W> zc<1=z$LDSss|$^Q3(cGkibMmHZSfk*epY+)JUFJJABdnVm&07(pu1HkT%uav+$ZfBP11tiBt#$pSX;gU4{(Dz>(tqn zg6g|kP6ym9ly3tXHMnxP?QS!Kp`~H31*Lvt2I0lr>>8*95e=-Oi4cz#l^fBwtZd=V-0)ora_<@E=Du=p@CU~O$v1^Dr9!?1dx?VcNU4TCaXu= zUIs<~5)8;-28H4Zk)YP23MGk(L=Av5k_S_a za=sUzV^7nWr<hMJ#E5WO@OhDAsWm>I zS~n&U3NuC2lVg%MaPmkrD?i$7e{z1YF+0?h<%S^3QuJvlXQd``cnxEBf;LfzKFRGx zH&#C%$AA0YXYW2a`xn3S;Jfz@pREVGk_x#zx{l{(^^@oIx4yYNd$Lvadk^}vlW~1s z7?M<#9rIK>>+Vcaw&lg6?N}?w6iKZpcTuYFV3j_4c(xua+*i_tSXYcSPzK_#Ws+_2 zY*b;F`1qo{cXIw;e*Nz0X4Ed(P&&$;2XB;%ZG>H$hHgrFx60f4*qfP4d}jnMPg_jb z{F?jwW!_DktQA~ZB~gLnS86VJX+3Sm(V{z8D-OQ)3`u}#)n}uhZ>!*J*mj~aA&J_b zqyXj^&0lPX7cQgu>2@3|mW+BPxV1j_7VENgrES=^nWiEDABQ=0B7@yP!yM}FWGD-f z-@mhXW1;`~>H6bMNfMH$sb6*^2JW#-qI$Lm0V2zS=T-czvG zj@73!TDH83Os+Y6CxbXq_z^HnO`2QGg#e+>BGO`gl9Mx8Dekpp`9ms&h#)JabsQT@ zaDxlQX%LINAti#yWayy_4An)78!&>(#0WcFEvLG)?q_YXGs|BRJoZaFVfUOTCFgsa=(>Y_<;8p$Z+i2_ z?*_!Pz*@QZ-Z%C=iW`1l@A?^4Q&Gp~vxI14)$#e-{_2CxH-B)bN}J-nBCHk9pPoN> z`}n~JC%=4h;j5%(5$1{RAYPsHN&{e(wF<)2WUEWY<@iS+e;Tknh_WQ0s-Sx{uhpxg zm{;?0sNetHdq+pz!;hZ1;A(DLw#N&!ux1YFzn2Hv8ClTcCN)n?*E1YKiXWFUI< zG93`70AlD8pNq{R;OtlS!Rw5;t*`cx7;v2Qvw;=YmdCzAeKnpy2(X%!YP>85irKwB zEmNwmuta{%LC?#6d$xV}-Y0K=`)$oqM^neL%VYIY#;mPCd8!a?DkQ5~E!9j!YO$oU z?DVXRaIpAUuYH$vJ-mz#D7Nr}yN7+w+B!@`62METLQ+kjK#Bzv#cyM+#jJsm8h-=e z;*Qa3gnVMMGZ-)vAi&m)BH!5xA|@+_jibEAXQ3pb2*KM?GL;e%RD)YYMMMQ|m88Nd z0jjtNiiw-MRBD4qwqi5#b5`>1Q(`KGc28t9LX2c{D-RGVRGFfIQ}fDVE6up-aNp*g zzd!%8fil0n=YLKXP-8u66WO9!b1@fTaF5IY+^fTYF}`38NE4G!dM#B{a?Tx@)RU@; zh)~I_DxxC+Gn}57IYf>my{O~Q&o1J&P|Ni$6|L6~n7E2x0 z4mE0IVW(me5zUhN{`AS#2ba_wpdebP#wu8@@}1j@^`{piW+v6E6Ni0Tk7ZpfQKI3T z!K*ufPLY&P)ND0~#|C zV_`C6F#$E%4kxh7l}u5=c(JqMeKG@lfAvqV&79!f)k?tXHbob?ch%D+lc~!-j88uJ ztSs|(Jsfqa%Bb22895enaHu{MHw*!gGdB=}dE&$(jIa^m20F(etap!AK;a5h;B+(o z@te1f7U`3-&83C3e+TZHYLC`_yVL*S?W4c=^!(AL-tH4QF&{dzK#0Sn-#h9%t3dOso@`9L?77d)U%qURPygBrs7&0K zduO^lH($U$xNf*#|L(Mr1DfD_&jj=Sp7i9zRuV?|kd-$DdwU^%8(zcrEU3q|-5u4tKg?x|kg;+5Wvv zSRe|=YU`mcdK@kEVq29C*id~et)KjQwBtU18jL zE4j3Z|1pLDo$ASU+|;^ET^MT-n^x@7I8C_wtjwbZw`DgONN53#QF-MGIK1p(g{wzz z>}U_}M^A=yhp7oDO0tP&z0ty$4V30XzQmEL>{m%og5~3@85HD2K6`X>a{Kt+{adW& zl}cIl`OHeSDjIakllTpTSzL^zdQwq!GhgJi)>^C4Y$!bI`{SX!tP&u0;^DG8SoBNf z^Rvw`mXswC2fd0U4SP9Aeh9ayl=f;a5Ob4620yjX;lohPYUEwbqhEy>=w=byt4e8= zCX*TKZtk@i{w+a}q+S@nWi%|f{wyaCu+M2bz> zU0%&s7K%?UI>Q47Xx1v^0+-NyDhnlV7OTht9EH}#aFWJmFZ-oNgfQm2tUMW2-6 zuV0)Bcp39^!`Mg3-Z+|D1WzJ;(q&Gy+K122KRI3h^5p#C#X3U|`h1Y&_A-5ZviX}w zC;!cF-8&yDeNPEr8;d1%z;IE8ti}J2fBk56p#SZk-uv*q^;AZ(i?@+pH)UK`7*Z!5 z(so{QVG37Y_Syx$LcMpr-RUyP==u3(`}o{lJi8tDderIDbs4H1=Je5v&GYTpsnk9X zoAP&m^&`|56ONtHsr~Y3gaYAk#jEP1xrw>a3{INYFg(l=y>`tU@y{rqg9ragq-;V; zx0U3G%-QS6ZG&&e@!R*_`1;YU^KqD6^c$XI`1U#9d*isMA7ll%t>%p|y5X~(X3aq+ zDhMdWSOF%L@Ssp9=N2G6p;`Ps-9mK??xXoK>Ex8m?$Y(!GKW4J>O$q8ym8p&Jl0aG zbxDuYQu9LK+#45Hx0YF%+jskntn4 zg;_*V0jm^v^eLHuxo|=RB1l4mR6vt05?<6G32=%935qu~exzYV5Y2-j5@G3JY;LgQ zi0gpv;>D}koD-K=fsy!8xJLXS&JaE80CR)4JOzkER0oBbNbnKNh6L1!-C(SqGrZEP zi9^j@m>Dj&gK(t8FvS^NZ~7!jv=kOAuF-#h9VSnn^=^-Ic%PViUnZ@+#k^_`5P&EGQM`Qx)U9~^(<&4ZtQ zc9ssL8qIwet5vif5QJIia+BT6G)Le{Ai*c^?CDuKNQ8T^GJpK6*klx#V>{LdcMq4V z^z5@!+!T8H&7l6=A57$W7`LNy!AtR;Xt2c~@Bt<~4$v%e1y~#EF)U4s|KdoS3JC=6 zM6D2bVi2WazdT&$)3PaoNJMDBEjfD&*O#;HLHO!a(OH2xjP(U4IDYn5UHz~36YT~e zekHw4x?43%DZSbmm|g0rJKCj>=7s%LFE34!YkK=@nJH>X2NT`%*h%jsg{azkrZ5xU{SPfw82VJE}3x>?GgsJIJ7 zG>RFSR8j(*Nhm@XMVVCTmXfH5146DAStXM@Xr}@KFOv``k!5Pg=x~lB`0C#BS467- znp^_6YSqk|suUR2%$=^#ZLx8LIVw?&9u3uu)!b*X?WpD@Oee5Z!xh}c?k~=;`WXZt zWp5NFg^Coqk_yR!>}JmBkS>DU)|fSIF#-Iz56_sN9uV}jVRlM1i)#6X2~iPNDV?BF zslw2fQTz)Mo*Mef0nn(zXqxR7HHdV&2G~OAZnf58c0SZv&CIu@7O$un%m%ZedaZt| zN2c_`r{h@NZ|7G9{;y8s_4ngaiL7$ib=B-_JHGqbiw{rE9-eJB#gF>**1>`kilUN7 zi~OU#Nguxnu64q(r~*_2mceZ=U~QIk=U^3$w~tnGpI=$8{Oj1&%v+ zdpAFOF;IlkCND%>r>rWXwCdvQRpGoCZIQ&G>#{A?RM;tnICgou#cVziboboJ{kQIt z%h^PzXwq}SiO^B&v@onjp(iQ`tDu|HJ#05~1XWIGMMm1(K#Np*5~FXEN~@A@y4B{5Q7n}P*ovJ zVTOcO1(>2A5TOP!RQE(71zufJNPyPc3rt!w#T`md5u*agT5H?pQD$J(6(VpIw@R;o z2I_!rfcYYE+38s9qR@ciwbUBq#sE+;BWMF!6D=P@N@k)=fk}lUI$OBWkOT_2h*qzH z(V;}tHkd<$p@AgL#Q|L=_8o>oS`u}o3l$DGBxT=26f77kpcqH%6OTHv(Q5+0;{(~4 zpRB8eXwxJ~yx33+Iyp)>%(?)Et(A&G??9`VxYsT%;D9>tDvZA!D3Q(B3p=<>EGS`J z&9PINk^=jy>59R#b0n_rqMiGB-4ER}^y#gmd%HN_|1M{zAB|RZPG?*-S%R-=Fw@;H zTpITd+M$}S$9l1?)oadNBpIt; zY^{uz37@H8u`{dYtKpQvKJoFJ9$`RDb);15u7+xq?6s1$nTP zfAVEbCqto;f!>M29TKjAOPHb{EegU^ z*HC<~W4FK^36@}X?ITWokaynpS2u{%r_JfblaD`J9&IA&XAxeG_`<1CavKf&@eQ!zv{FG zql4Gb8*YZpI0WjoI%;u;kB+g{Qf#bMAk|DEni~-OVu+d%7m5VoCWr~TQ{Ah%Oq)#` zcrqfHF3|*47+vNCNCGB-ivmd|BQPYeKq!H3#S}q`yNRMH3UfFCEh|b95)4dE1o${% zh6S9pPb>k4!Nsj{V46iB&%IhT)CK^GQ)R^&D=^rSlnws%dD6I;1DJTDP*s* z6zy8S+0PliTbR?_HE+sQWYy(PdkI(+%mj3CV+&Mcf0;9s6Hrlu@Wox2b9_G<74)ttX zYK_)!j5fYOlyrJNe0DmFqgw?81|(A8pPUUZwj;?dDGEe56ff0hOR6ne#CoEG3kK%s1 z8UOTKZ@#hYKRjJuEiS*Lz(^vg9QO-z|MQ=`_oIi8lWIICa2EdI%O6Qqw)Ts|{Tu9JRTHF5x@EWxwjn+7_A<-(hrSAcyM(jew zB~c8?AuxBCk(2~>sg4$gz7U>-LJztDb%?>C33Uq~DwL|Zvp71HJ4c$7L!qwgwqR@0 zxB@3PD=s_>woY*k*P_mFo)FanIFmvt4v0=6jtEjVrn6>rbczI4SQ3~BfUX89A;g&I zNhFc#$OMJGV39!5%!QsEraV^Z)GC#RaEUvWXud4&J*5XX#+=e|FRK+-8GVA6?(DRh znJ8&NNO4tl6L?8UUnF2AoiMfU<37J&`>a8uIhS`__cN|9)$7-B{ouWK0z@Aoes)(} z;qEBy9&7?@&t*R^jl=-vUffcQ@iPX)fceYTe7svc2%WF`%+;Y_7WoGvL8AAo#pc=hqxT;^_}16N zVYLY5)^btJO08KgsL91gK+I=qPyj%I3IMT2k_7}nJuZm^ zs3ha}CgmEW+Zrt`98gAt->P?6J?uxA8_W^G{%XD+N~uoAqECxXt-3psifR1G%$100$tL9R4u2Rbb}W5zaf zceq)^=ACS4^a_u1^jMBz*-v-qJ|P#}&8M3U9c;wpAz@00xfhN=fPI>|%_aytI~yU*4auEMMws&6*6RCn`g z*5yR<>|#4si=0bD+C!~xw&i?1ZcD8dQJzLfg`bUOJ48Dk6mtlYH3CFw;kL_TdgD@* zg*#C?@x8X|4jI1#Bt?k2^*D*R&s4S8e1^*w%(TPy#T@0;xsyv*+kSKUg_j=)r9>C| zT70NADWjg(90pfV!tqtoAc$&QR~JVR$~oX3^(qcb9Bc9G1XUac124+>_EG=G4{kr( z4D}`*G(|xv8+utxluW$eyKrslV7ps`qG_6fH+BsWibr&zNpj2wPaKfy)N8SQ-X0#-!mFggv zlIgLboqh5PZCzJk6jy~nDC&6xNeg;GIz0<3=!vWp3KDQ@DT~CRdQz;qXeYr6Zr$LX zoyEg@bB0XNNJ9Z|5r~M_8mR^lYR(jF{BfHNz!UC5fbZQPiX>hj?nWZfA?z|0DpobS zx(FhV>}KdyGKdiQHeQEt&Khv)eDZTN68tQYpYM=#aZTfX*fKnT! zj9&tFzhv+ghaB|$C_%RlOaM&b_Ix{ztM7g1&U=r}hmGeB+p&K7Vi=06;A~sX zM@@*fDZ5)}ayo}uRkT+=4a?;4vlEs%@5hb`eZ8L1m4(VnU8% z-E=wU#8UjSqijGA+!lZC$SsQCfCa&nv(*ebNMl2(u}RPBh>l(jtkUXbLxE3t2nbtH zvQ2CIh33poZ=p2|iZhde8n9rzf{znB1~7*7FaX5?au}*LhXDl4yaI3+X9ZL=iJ4&- z>sW%|D7w%?1Y@;LF`AFXD}22Goj_v09k#__5J7QQhlq$a<4i=dBo%66Rtk_rQxa0L zpwoZ~1sXF#sNfb+oi&F-$ce_pXC*RM^S0TrDXHA@AhWoh0#5s6;{=-T%hs74r8%*8J)^Bvi756&73coT3wlz;loH*YWVho=|U z_?hEkBJi(=eQ#!e`R)fldGthtcMg_8N*wZB$$N*Z%~<~Wmk-~4{Pa)1{f+OudGCA} zp079bCKL8)lU|hpXr`gSJIspQeJWfqfG{9|B5u{KVlv#Pj3c37Ca21Mh&WP;Z5ZaK zrwDpDX`)btlC?SkbqNB|ETUo#gug{l6SW`{gIB5oJXRd{G6YMSL6W58C^o=^R0YJP zh$JR7D7IO{ojaf!f>$V@yTTz^f!154Wi6o&Duq*-qal;2A;Uev>EiTdmQGnzVNja1 zm4hs{?9eJ1mbSLh!bALNxmrgsOrB9n6bWiZ45otz)q7`OsJ-I2YfEWNgrRi z2LjhnN1t<@F@(6Y;ghbax!Mj=zf z$<7tNF`svj_1&lAk3Js0b`+K6P_mN-T3IIP$wX|;UldcKI{x;>_PkgYez+dry%;k2 zuiiR*XOU0F*QBrb{2`R;z8*_U)>I;>#OIYXufMQuCT}#>5y8q}?{g0lX#pH&2&>-_ z^yIT$9*d~Ya~@KiyD0C!&9elfBK7usmr%+9n|$utMy5a7X8^~OK{!` z5f}!b&FXX^jTB1hzUJRg()!ZPBrZnQ?0S|E% zh^7HhL8?sRO6kUV^LPA)kUf^OX`<3P0X%e|UCwJ9YW>!v78o=I<=>o6F@Iz8UJ1 z^UY5mKYOv=Zc9lb$9+$>9%dGBMh{dN&5f=NI5o*ffoGv8|I^1O-@SX-3CAke+lSpS zrrP*UwP>LC9Ar`wbc1BwmI@%XmUNAsQN*oQ(sL5RSABNFr_as@c!djvYGd&R|A0Ge zs929iLL|I3*IlS^?|DYNW-=XLF^4{Fm1{>eY5Zyd^s2z#mpSNe8(2aT_v1wxORd#% zViOwEti!yK*SUM$69Ete9Ts@fM<)pFHTggD$`S z^!b1I`G+sI+rz%^(#@h}nNy$ibhG`xfBcIdKYH?mZ@l&O+qa%xT&#zJ9m*B>90*Xu zy0py{7i-hTYuUZ(BI<0A3jrYx1-%Ls1{H)=&_pE>upos9qi{Q#<_d^H&|Tn#5Qh*c z6XHrrYyJ~(Lnc8H7l?ue>nOMSMEVR|Hz(+-%vEZwn&?iJ3P+O2*vu6ONN5EKX%Zt* zW&l_whmexqiu)y+t_#EobyXLT^c(;-m^pe-=n9BHDH@;!L+-ffSPiIBIaZ~*-|D&O z#0lR@8EU@@7_$$<)_v3@quV&vqdpz1T?X>CJgbVv-8?J*AK>YWd&0JZhvb_qsfZalRn{pe4;$?8_svh zp}6UnFO8rC{g3Z&zV*k4IY}w)w%i<$<(-4?e)INEJ~$nbwwq$5-Z|*L|IJ%T)8R^Q zALKNp^P}ZkWUoP&q}@TswqM-MhSAFC2H%uA8glXV>1LpR_GI(nvvqOzY8RVw|BZ#r zHE{rdu9Lz1?>`*wFZi`(TB;~f;U}ZHL&%?=4o}9Kg`aNA2kTLQ(eSL)XflwAEPQV> z{@%s#{e%AG^)RNNKL{bmGKM}usBS|Ypo^=1nq18pPhtQF<4bBQy>*Alo>s6O)N+2X zKB=wohM8-Ucb5Ir)3IKc-P0Yt z8Vl_W+_c zCZ@U7)j%N5oOZm?(!g*OX*!)E36e5IppYa?LZwitpejWI4Z4dEz0~LYRfks=yFcacbVN1D)TaA6n>ZqDc>6)(`(xA=TL{_efQw+iRd-IdL{<=xay}dKZPa0ep z55A>PV--7h?_Aw;zITdv=~v&odHXlABd14kS`+e&!hf_5+AX;}3-U=}-&nx&1+>xq zL;3hw`P+|&@4uN(&H#s1>yH-8qs7H1r$7Ap^B3E3TkG$C>-GfI|`*3#$xX7 z)vTD0j=f}xxN8*=r3y#~SF22kWkVq^PS)jE4i0-W{+s{!(a%0P#c0o-Z-3{vZeJX9 zXXoQ|le~AN|NiIeUpyYaf4}?Xdi-!xI^nwd&n||+9KegQUQ~A=5lfX&=XbK`6bT#L z-{|#zm&O|^KY#U+6Ca3>A?xmw4 zGp;Hb!YgdNxySZbJcxd^SU){|`r+d@zx6;IK2{2k4i@!vUCok+w7`qd&D~T)g~gf> zPRfHmjb#MfN84mwE;~If`x0t4J{+ik#)_It1sbLDbVPd(9-U}qr^2rLvh%5LFhb;} zNXZSuuf4eBxB@MQ<{;@JqF$Y%L{`)&fu{qh7C3Dt{u!eL&-YHWM+!7sY`ZLQ#JJ*? zYpc8#iNG&p_oc6P+_-;ttp87gtbibYR-IV^_ z&wu%Jv%R(KS2-n_GZXFNCkLiktk&Wb;d%yqs`2E6Fid0;{`+4(efxOPB^k!guf!Qg z&r7*=I}L-?#>DCdg3JkBPMd8t^P^REI*f~)avs;4TFn73URl*gyV#Bwo61NmYXd-w zu)04v->wI%P5_C~ehAjW-#0AyeWCpdi#$yG{pTx}@~+c%y1WMV4VSCue%S{6H3k83 zoRy)_X$6k+Vcd*0C-sSdBz)1h$O_cz6Gt!20eY!*G>epNz+lm?-P||DhT=bX z^R~N}R^`5T8I-JI^uPP))1N(h{B*rJ>ihonuxbE0)vw(;JRinC`{{c>di2>p`}R9` zmdo>Dz*JrHIW(Xl_-wk*fcr-QpH3oatd>(yQ!#9LF=DS}4~TG?A`wO+NqF;AB1g!* zRpQo8qg$Q9L{Nq*a3;D6+?gG4Pa%{ji7e__{6Lvh9d)oovNuz@ifDGqa&5vovy7gq)?gpkY>qi6A6q3RBbN}1}-9S~)^HDYI?^|TQ05XrZCS! zOrn8p+m557Vaa?(Dc!v5Unzn1Mpi5{|Lwc$uOFvHCl{NlNeCn#*x3L2!;_z$4u5f>r`1l20j}gysUU#^m0Kxv z+|5%zR==C|y9eFHHRi`(c@S8resZ=s9mZAH)#>Sq>;m@l?bficty!+EQ&2?uZR-8z zuqlu~>&ph2_%)^?#zwD24cQ7W`bH*|MW{x@~V{f`j zwxsmL3%Nf$*ccmryJ9a_P~8`lH~L&|Xh8Xu4=N?ei^tEFw-0aKKB#83qEG2?)jd1A zm?1P8&Yqi+Q2;=17=^ymZmip(D721s=<{-&t|S3C^>1p?#0Xp=oY6pZPJBJn+Gr-7 z15;5j00C=bs0GlfIYqHsqtm$Bi}VZ5$`y};vn&CoBD{EWqGy|m6o4k3bY9=Hm~5EN zCb@QdYwsADEZNx6guA(jB%d~3e11bU=$A9v=G`j?yX0z3aiAN#*!j@;MI6^M0MViS zSKr?btV?-tuv(CV`<>-7tH^bqJEqQ|KCuwYkaq%bkERim%^NPrQJ0@>hp}2BhgYIt zLQI{n{r&@$&dyIQ#HP?m)sBgtRF}*A;&dEG>wASFB{@3kPEI$EK3kI-p)Pj}6`P?7 zJf{?-mLVAu(5Y@EYOz@xR+5R*XDPK}ZiPJ!nWXU*U;5^IXcKeUdgojuy#H?d#+9>% z$La_+#xHj@QbpFKY`tVrH?NM(P-cPYlVuy+6&IzBQ;9{e8Ctaejm`#Wu$w5{Z`}g` zhgbK9r`zAXcl5h=k3Koy-1y9o7X9CT^yvTn@h|QluI_$b;Q#t?VAbV5rAMddfBw_= z|HnW4UQ#tH`|{wGGZ86JA_*FIr(AN-y+R!|sJ#iPf#(J= z1(eWAl47pzOfU!~8C-#+BwUpgbYLg0L;|y_BzEG5UFszz$z4jlO0OP$xRxCcdaVvZ zgsR3&>6M*=3eCvsDoBD(kcowgf}+f-y@;rbLNk)GbLohzObH#OgLIHA(g}J>M|R4b zkpzj_iKfIvWMwDFQMaJXnMlaO>L|5z@YN#cPHC`WLP@HTa8?ym);bE^3{DY+At>CU z=+af7La$7Vv|J_|zmV?cwbGgaPDWN3_W)2DDLN!tg*URvmeQF_l-Z_jmq=8HMYqA(v6}v@ zK-n|>=esVm3&E?oA>9GC+ev1(GTyQ2{eN%+_;tr@q+T&O!rbptiY`_+T1RnQW2;0{ zQ1d6nv66JJ>&idU&F8-Jv3~mVkIpYP+9e3ge39}pC-;WYvX-8qyQ@${##%x$sK}}d zAg9-28_-uB_e4%S=sXjmdBfXJTr2@pYrXvf)x$~L*uMPY^aW66NV-JIi&ypOuREEJ z$-$kHn8GLHu@rr9|Rm0emH(y|wnUZ&NUSz$!=r*NXxBlbYvU?6~S?q-x9BBD* z?w%@CSj-=tZI=0^@m+7`BR~3NC~p779~|9T=3A?@>Lj&p>ISRkR?J29_@LWt%ZtpJX(=VMG~#apE(mnP#aKQ&-*z{Frmk&( z-IQSOX0Lm0a~et}ca3O0WPph)^zzBC%eXIq;`+Qn5RO5srif{AD0QrtXbHsOhEm*# zql3k2k-9_}DG)-zi2uev=cr{ER#OFl57nLi&)&H+x{u~JiHy*hIOy|1*Xb9u{^y~> z<3$IsG5=1_;&VCyBN&)<($=sK-2tGg zV{C{TV5^i7Nm;W+wQym;-w9w4CV?9|(M3`UvLl%nm}!E$(^PPf@nQpq2+Zl7rd}kG zP6{!y26I~$cA|ruk{J{tMG?5r9odnDRBmhSoGQ#JR!o!UEHoleJs{mz3hltbQ>(Yqdz*FU(#o@`}tBe zJH@mwN5^m)JH!P%n3F zixU79URs&WS1=7eUDL~U0zEIfaWg)8@8Mg&{k2us)v*fYXtgS57qyzIR#ZX(bvF@D zs$(hUrVs}go%A_v$1%BVhPv+ZDk-hbNr1uehWe+K6-fI{Qyjs7uKQ`aIfd17kxh|> z>4 z%mMMe#r1{l=Pz)N({=B^=da$RZV+!>Blq47t1CigyK)ZSuLXX+;lS1`3lEhA{LcNm zkKg;Kn(MWY?Ci5$wNObkzN4MMnZ;VCd~`N`^kVb-_m7`m=4&&@Fu0jJcz#}=oebam z-J^g0U*G-uTmAV-sm03Zo9#G^1ihMJ-yUywMUpi)YV*Y=Y z@N5x|=1;p{31pC$qLpkLm#w$V++6KT7*t4M9jws9&iCzDIAu)Rvm>maSiOJipzqTs z&o7dulEyO4ig|1J0Ki+<>B-3g%)J6nF2*0cb?bNT9)5DRK|A-=VUA8xC+fdm&Q10> z#C-SW=S&3%L@34fz_|Mdw5zOifXQ2N`d;^nI~q8?U07eFFcJy+u5 z>_oB%MU#q9mRXjG2@qg(!kLwQ4+g(#k?6(Z)ggYk$_Fcox;p!Wjt&dUrn)xcQl|dL zZjL0<@oEB}yZ^|&=e75~Hg|6K?|t~G_x`MIXA@^uz1Qc{emyz+)sLI6uJH_#FSFns2(lORT1vfSx3~ur&R1dmNB5(^ z*+_AzSB_p)``PKIA3d%jn#A0)>hWqxVYM0U@8XD zj-Dj7?=OB#frs5Gr)`HF3z+XdioYGZoAgPt3U~RY;MBZgF?Re7@bjb#(C7(cx*dl6}QpU@x4pyQE#k+oZT0 zz;WMwa<)0ymQHo=8RKH(1~AEbu(!Xt_?Q3ct^etNe(+oGEKi<~=8&Y_Qjd=oZ`|qc z-|gSJ+rM?YfAc8cUGO;j*KRMqb$|KwJN=zyUMUY(X_-ZXdcD>%dZ}*3YNQs1bO5^-{m&{m5=YW@XN1TZXQmUjXpNw%!(A)9`_A+qYqM zXXpIgFU9GO({E8~qxivgv~jFDReCU*iU6gS;eEBHYdN@q?O2L}q2z(cJ?MXwuSE6^Dl(W@@TWpFWk)%;r%9ix`D#$7l?LJ4QE` zDlj@rSRrG8SLA>+w!oVq()(h{eWLQ9tU7(Col!uo9;_g5IH zP-`&^Sq!QNksT%m2~)Hd%}zwUwYVeSIm?bsC^nz3L?XiHW^>rwC3j^&ZyN^yEF9Ov z{)^XNo_+cK-}xS67p-ju*V+2=W*Y&wSh7A6RLmxzEsB=w!8WV1otjhg9P`C$b-RnX zX|TL0Axy1>TEOU0Oum$ak(fy`2C9qPI6U#PPyvwKDN|2zvG=uQgFHpy5~5jjhI$t; z;6OpY`z#JlZS;w3z_C?^x=g-+KJA4>OCVqgSQyczCZUB{mp3*)g@p-pQVC4lSA5IA zdXoLQ5EcTm1k^J!BuG(~A`pv7`c33H9y;I&4fP)RRChmdGSYnvoj!m!faUi*CF#1> z@2$rlu2$DI8Wf5@`uOQrH@7vS*h9e3lAFOHNa^gFype3nuBBx&Ub%gFJ6%t8Gx$^^ z-L=ch_R05F|LVVa7O*++_>n(3AHMo>|M^$5felN)w16ViqV6N4XrYi17b}-YmJp-G zu4%t-ySYv^w!3z{tJ@l{Ubhxm?iV#TUSV|5tOc)I)aY*c)Z+Pi{K>ONH?`uSeg1fF zPww)mfj#-8nCaZ({;l*9BS9ikhain$J82|y4B(eK!KHuNx3}Mx@V_Ee??amA84D9t z%et*|bK|p%&0GW0rx)u$e117&aC0_9ghlkeA1yNpQpf_KKn?EZ_JfPn?>#wxvEAd{ z*7rMDXK((%yD32Z&y#0)lD+RchXK*5C_3fY(+$z}V6)?w2)U50wW13bkb(tS04N&` z7l~*xS~atX$~I#(4$j61xlvA$G=@o|qZE_@Qdlw2yebMPm@qmUH4-qBS)-4JwbLB? ziAIAf2!exSbhO}LFzI|On_@F$=4*7Ze2|GXkgNA3}>3qcNFI zJ;>~(MGL)h`4Js1?GUJPS)xZdjQ1F;Vo!|!;TQWA?dkbo#v)za)}Q|B_22*Fr){^l z;{Jf@?zbEapoaeIzxeq2fBn15tNGcZ@qA5&{*S-jZq7!xZ;r|en5B*Lld( zumxNA)DW`T7-B~mD8dFWH7@_|%d@8!PtP~|+o?6JOKF?+)ppk+)tS?)3z`+Py5N&^ zp09@8Tm`7bRm1pbV=t~-Ad3n_`}oPZ6h&c{{0BG4yaNViFsi@=HZ{sp>%tE0Zw(Pa zr2w61HCzvhLymymXOJVG(1GpSFqne&kJh2hocp4}em2E!1fhBxh>(gQQM~@!u zT2utZ+o?WYj~Ah001BWNklGBoaOA3Z zMxbxrsD}c82Q*D7$e?!QuNjZ2R~|*$j>qZh5zygq%MIk=#(sMiQ1<+2CDhOqPMfRd zdW8Q22qI;+pFcZW74D}9Vl~+HZQa*-@Ila$i$tmlM{eWl5o{G|=yIC>@&}(j-3-6F z-o3R&r{1`K-)zXUgZjyq_l^J{RXdK$Y5D)rtxU#Fq4cbD;0i5_$1L)l^bMF@#Xu%*@z^V(WD;%?yeK0$QU08?YfC zugmA#3PZ8M-PVP4%r#nIaAupw^Odh0Q()z!xN(lf9HCGl2ZPbZ0R_56z~C~7XDhAT z_EQ*baAN@Ec^RIpZQ5(DGDkv1W>OM|h7HqXaSrkQ9phyZW6q`jGKGM6)MP_xQ=B;k&wd#o|OrQNqMX+%P@%Qz+#%9Q>5c-wnTxij z7%WD&CMK&U08+*0p-^H3r?A?rwoGoy=;IL6{MldsV)gfayj~B}b|SDDi?F`g?jnLT z0a>6}-0D0xWvgC{g{xAw)8x+Gw(ibXo3p9iPBhCD*!Lf=y_BM`j5ku;pQ*m4g#05C zXm7~6Sb&0OzLS(9BU`i1znLgaXCMt7%@XA4Vx;LH4kV&QYeJI}iL4b8 z8dPhIz@(^E2nEri%{AH_P5t-wsj)50Eo!P)pFU+CZB`&k3M!c*FghQdudHAo+z8{~ zo{IJ+lwxCXK(Q#=2+C%$Eu!g;x3^r>;U|xbj=Pck$y;}!fW`Rtqi`uuJ4W>>`yjtVLX`hUe#-zy9LoYAA1-n$rupYwh#@9o;^> z$t7r>IJ1kHd=p}V_tj@VFEC^-Ww$1qqK zxGFIa;XwHL3dImjUN{g^&um z+WNA;X9M~IyA6D?i}8K+VNYkp8_vSAx^lKC6hMDlF#FRpk0_LncKxEcJ9pOk&o zKx@zZfBZjR-rP(Sb&|(FXxA*KEcC?q38CR@#$n&e9XV?u_H+B=-+BD~A3gu8pI^4Y zV;D;`iEbFaX?rRO`xd{q8P46l*nemJZ3zs;UR-bIS>}ek{P#Y^Q;U*K08#Qbr~O?ZMiBv| z;xP5l9!MOjT>FNtvL&#LGXJ4PMeK#jlW{kGI zyuMnkR|+?f9E)c&q(UZ{&1p1bHFf@_bBwbkxn#&DKNJv6<|)XK3QH-{$^x;FmP(*U zr;`U>bA%B{2a6|GuqQK81p!i*HxxRiTbo1~(DH#v$HtziBQCYbqAJdGLz(%Ih+_bLT-ibNsVihXp~zHG>;P+zF(P{@OQGmoEC~pSie6Q^ z1X@^FGs~}h%@A-~YgPOgPaZuj!{uBL<|o7mJz1}cTWVOG9_Ms(I&u2%{MNG39XBW;>FE47Mh9J?P`rU+l)0ZHGTAW{o;K0t1q{!l_A&>I)KDnRSZuz<>kIz z?dw1L;p2}s!{;}38GsI{)f;n}0H&Rx#moG-4o`?(Iqb2^GxCK?xT zfFZOb{0Udn{I7oJ)2HjISsR2MhzCas`4Nnp}4U~#m zHiyW!X314Y6bD*>-luB>;Y|Xglog7Tq#Iq~PQsi`4dyDN0&Y{V1wb?#%!+x0dc!qv zFs~l&K-ge577wWy!`MQ~2Awwq+zL14fRMM`O#d-?Z z1Y{WlDA>ESy={(a3DZ+#Z|O#4ryocjWTadJ0KUa{JACPD$7$g4uEF)-U)@eGx6||U zagO@0zo>2~R{ppD{maYUtR)}W9bIPc%!32Prq-fDpcSK^-ip)BJx576iy8e7?E?YePMmiPKJWUir$2iT8#rwi_SWk@Jrse6CA$8t9YP4RV&RY+ zPv1If2AW6I2WNigrHDEaR|OE#XlB-X{d^~b4O*49E=Y0B`xhc~hB*m}7AtFOGQ#Fy zZG-drmtTIh*?ju_=k2y3!hpefz8g2(YPjA_PVJ}pYBfAr z4byJQOmAyZL!&fDqA{tmM=O@~W%PD(3l(|il1vt;oS_ExM~fD>HQk4%2Azfl0k!B6O}-*96l&Sn09#cxfAQ$ir^EQFd;fMI8hnD~>g_wpTGe#%+Ib*ReZ+3t4>gLZreR{P+DLjAV^Q7^@OX*l)2huV&jG&uB zKA3>rc0Mb%IxDM9ndjTv?W`BNc(hVXw>ML2QC51AdHnjselpi{SE@4LuW=UVY~Mdsvk60lgF@T6a^Z zJ39`0CrN(GB!Gc4TQv+Y1Om9-&&aZv1)Pl9AU=Dvc5>eWKyka-&zCp*E)v?yPN<01 z1JSHQ>1@FWT+h?9_3)=3Kfc^e?}Yya*t>n9_qaOa+}h24|NQ(+bARzYihz?xcu=xk zI3L|hD@b~0TdpI6@~TC%s0Z(jG#H!?z=f4VkXv|KL=f4ABJG`mh5-mD5N=l7rig%z zlzUIY7WJvY3NJ=OfjK3pfkR+0$auCIFI*F+TCgfy8Q~Z$`^wV{gJV@JB!>?OcdpC^ z^9D83+BLd|f`vh7W~qQsRu~H)nB=6pA#gTW8MwPa$zEcl5e;(lLWTtkjg1PY4J)e^ z3aSAzGfCMbnig;d6zmi!7!|V?^&7y`46-E+AK~``$@lVOl!CU$`L(3gB7$atj(cUA z_rzYZDN_EZAq-raLp<=Shm79RxHs7VN63VohC%gr`rC16UVCCIkDJC@M*yv}qTfA2 zS{FNC`??s&brHcwgFkuV5kucc(Ytu`P7LT-aDg)xFpZ1_gh;5PMl|&GLZCq-xi)(} z*UMVh=EX{l`tsKP;N$g0!G5X-Q3HVvtc>5FfLFl2>B(S!a5mn2cNM?@02Z^`+G-?+ zBD2}_H=c;@B4PKS`a41Ag7h4=4C3L=)~9)Zhr>IfYrm9t?E?fBVR)Uq^4mNz3e6MM zNr_7`NlwDehaY%G^R3OmF~H8^x*u*fzG$|7N9U>-Jc?O;>tnbR2|#3wu2sRh#LfO! zpMSABUp+cI+wb-UxS@q@#_@W$XM*vGo-7kdfpDC!Z97?njB!)rY_lp;ZIU~u*1meZ z-9foZLpsR$8EW3k5}sY{V3 z(dWAhMCp-{JY$%-WZawVJ?T`de z%*^_oFp|bXn3v?RW!$7xwMBop86ITVBq7^awH{LR2^LiWiV>~nYnN6wXb~CfwAz$C z2hBgCUBA4o5i8wa_)}|_wf%6t`m;x82EMB8jVz~X!})6X-sAIMynH?SodAF*rY{}+ zQ}E)Lw7EMsvU|$PeN#LXt!Z4_*}2X8SdRr{w5A|EBT#G8j9F!EW}@5rVtoC@tr^cA zjWB!iY`x#t+ncuA-arWTAR*`0di2YydUZ2Ddp1PFFF(6|@p?ZL51~nOlc-vwg~WC< z>w0Pcin%*$jk{E@`{T$0I=LYSGn+TTfYz&+55Nri_K>AX$}!i*3iqVEx}#{nsGwr0mLN5 zMUQMHph-7V`BTS58U`yPr#(J=`f!mpl zZl#URmD}J}5R>4B(b=lGr3-8hsA}UF+|&Rxl4ds7INO-JwHEHQLS|7(fQ)3AN~pEp zR|h4k5(=6CsSuUu2?1~F$kSjbz_#1>3`UhTvNYHLPIqR;hhzf!1SO7S>l3GK!MfGG z-V>kA1bOFiNNAoqruR_UjCv8d4WMU(uz31E zdFK96K@%F}w8EYRImIvtI=eu~;avkAY7oVc_v`_bnAToAA8ii%cP}+XtRNcKg)eS) z`)B8aac+wjCgJGYeDJ8ig>fM22QYNrIhY9$CnM*Ag2{<^L*4QI7NO4Te8b5kpg`+E z;L&K9RHX{j0|RzZ!xHVfS7G%nIp5gWA_T?ZiZ*wL6k? z0t&fyE+sbK;kkau@w7O184DWid^K%%pZ(qE7k~KUG7NQ^hvL&*S6#CGz*=6$=onXIsvW|4;68Vp8D{d6NiBQsl-u?b~# z(ZOK0zcX8$6$1d*5`NKSs13tizbD5MW2UV+glo3o9!HL&gr-1ajW&bP)YRG>RS2P0 zgiukN1Zi|1Ty04Voj%BgKEDLdcV~FwuuCYAyQ&$jm^9FAd zU}aT;LUikO99>lh+1WN)86I8jE^Dm|#|uD}0=TVpboeU%j?=D2!}?+n zV{q=2O+qupspbrM-+5+L*IZ|pvA9Rw&gQy2zXm3H%dyPt}C2m1g8>fAP~)su@= zYmwA{(q6p2+1IuzCAZn7ms&3tNv2u;B^ljUQ~hW?{^bvz-Ojb%aVQ=hbBm|voAofX zh~c6BYwtex19Xe#Cw zXvolj?s6v@3E2QMV`NphVnzjhloxo*&Z>$APt6_3q}6Dv!D^tm7PlY8q#%h>=nX8C zVH8K0xnNc-EISYzi*p!ku8kI}g3;(^LqQ9c;EEW?tXn|Kjz%aW)&s1VOk!ji8Hvq6 zcSJ;?%pk}bL9lcatcHDK7|#YPMrE-?0hy|)y=QW3XdxDO8d-w~b65|IGF*ln=IBU? z-))ug0keX4T=K&Lj)0k#Bml)z=zlzgox;IC>FzX ze;j7Udj?Kf0qoy-K>3>-_jX-%GaZs>EM;tMe^|ta50Pdxbvzn|xFqL|*lErqZi{dTVVT`kRT zn$Fhau&)R>IgF)bOMAf4^?f{x2^^HUDS>`pJXcGqWrd@2HhX6*ldk+Le2`vjALO3wtA&@4Bmd&&Ps70r35&cX0mh#F>YGF0vQPyMcQASXYL`q5GqHFaT&q zAbYGXa6?Z(05kz~WcST1xy)KadJp!DggYgIoUHQp*2(K=sJ;B-=}^|RKisT88OI;2 z#>-Y~U~SmO13|Tsx6}OD>+3h$;+||(hx?&LO{06nhxE2iz7>ISpn%#?oM-1&Ypl%1 zMJ%MvVWJIgg>;KLZ|A)j=O3+0vDLa^_&Fb z&p+FeEQ1ebkleT#ZP)D8PLjc8&4896Wepwn{kN=Z9$d%chJ7UM@Cfh&6l3XjyI8Cx z9Lj$zY5e?(^^9|m%X{H`-dq_h(vLg}p1tQFfNGKRd~VbA?T(-)MLTiZsk-^ckJpr@ z00b{~c{^S2_G2jrUq`)kQK7DAntp%p{}p&W&HwbrpFSFgUtYhP{SP4&gSnISTf=x< z)(e*V{cZ}7kWd8d#Drnr;K$ps~MY64C0t5ijA~l;;02d+@liL31Onsw?p<~p3$fxHkOTmpK z(gHeoOKA&;Fk#UxSiF&CrsPJ8EWpA8-ha#ZA(u|deHs@@jf1hghoybcN_a=Kke=mS z!`UZ!rdd{GP*Z~u*K@m`vmp7fC3Wm8%Y6b8s*~PJ(RwMod(T{tj>iS=*v-wrGcW7H zLLy)kfx+){D+Lr{?ObvpAMki3Oc872K*V>)03tA&z1mJcy}Ujf%7R{X0P$dRd4e(A z8GiEAPtUeT$H#r)@LJa|?1#+huvAxm&Cv3#_Z&yd_Mbx#z+P$k<~soeXr+{CKk3+9 z``))7SPtEXI$dGk#n89wn@7Nkk^a@selCICQyJ*%9~xIlLQBRNWa&6|pY4G=<5c8Cl#L={afKXa&X?;BbRUbgtj3V(EQHkT5>3ik0Z z?iDZQd2RM$o`1313D`$`JPx0X<5g|a(ULMTL1}mhpt-ZmmLk@BOD{{I?izeu&-K6j z!Sm;v;cs8=%F2cn>R#t(h86*{V)L%nXfE+F%~fWmh;is#uI$TMgt^7dRBNag{PgkV{@v{V8zgx5t!V?X54Ag6egIYP+t-K-Ms*jpffQyI+1epMX5p_6hMWLk4Pr#1 zELv=SR*#%$TJRoo;pjayV-yFi(jw)_{ZZ==4oE9h8h!KXRFoiZa>-^S1Pr@X7KG$_H!+2yRhwQ zeAH@g4C&MNTSNe8fP)qaDx-m=APMOtr50 zDu$?p$yy2*NiDmMSx>OH!*P#M46sx-AATSw>0xKN8;%_Q+5eq;X)gIgT>*L!K>!8b z*vlrch{|TERZH$D*-~1b4tXHL-~k~bAhLCxA_X)@%&=nilk>9+FCqMNyZx)1+uPRu zX4~Ov0dvGJcDsM__|f;q@v@$ZWocc?U%h&DwV$4>R}Y$ugO7WB5X)cg$AszK0{a$o z4WmWX*;7W>m!g_vNFM6`dKxc=aWk|zT0~mmt5>^d0!V|K)v8y!JqdG@wA)20_eaD$ zM{#@lWL&Mv>&yLDmpfUjb5udH!64vfZU!3$P7~(P6iwpwRR7}B_2c#MtE=0uais4) zR~(?A9vSz?FCd8|Jv~K+;9zGk@DRWPrd}Rs`N)M{2_VarVALJ10DIkV6HF+C zP&R2n2obv6PygNTfA7h9d>`?j!x?4?!TU!1!2kdt07*naR67L*-#J>SMOOq)I`?}N z0WZrDOSVt>O0-NEDS#$HmH;o^;8dN3$dB*cW)IE> zKdq2aG`RK9WpL2t;3U4TF&N4_*mt_$hT-tW@+(u*<)n|!{cPkAys5oPk3@3bfX0onyXnT8sO%pi1w_=BE&cQ1d(Ue}A*%A?DL!qPynA*UbAawSDJ3z44dt zX7Jl)0FXw}Fs#Py7q34bfBmCB{-K9Ojk9sMndbA=IL&j7R_v|@i_&Mn#d_G+P=FEF zqkl3MznxlTm^4733seLILZX?BVMI0ciY5wue_I?=0abR`3wsgq67(<^H-Qz z-GHFk;2}3fK?AIMW!OMdsu@JJlrGDe)PdF|hju6p)xrN?Zch(s)WO?6L9_%3>1!oj zAj3!TRPXvA=)5p!xJWVg`thEBW{0!;FZBTD_`mR&>b6EE_D?8@A@)-ye)y(vl8fPi}Arlsa$1 zuIb5Y_~E1V>s=cLuFo*fZ8i8XkQ5Ch1=Y~@)qdXAXmNfqma*JiPy3tM%!12A1-&2} z+_||kF0Xb9)KH!9q$G*0$G)qkyhoP8=QiI#7sYa6o)pm?% z-fJxP<`j`X#-B*88jn>;ODXVDVM8n;KN${~AsV=(4vs{i#dAr|?xeEgt*0ihjP(AU zoaXtfo9*D{T-t{>)ww-7+dMfN=Xv2Xo4>f)?xuMdOVU-+h^Q;c*P|0cO-2^ND_{h}!P{Mu-RU#r#7Iyw%1;}+_QurBAuz>A zP^f5jQX7~|YGpZ>8$@QaTxm*cPXTb_Xx2it1;a4VM>qE-kTH-0Ofwm3vN^&WqXP{g z(y^annzdT7MyyAcg4=6_VQ{#5$zvu-&2hVreHEOmm6frVu^*Ii`p!^j#Pu%brs7Nq z4Y|UgsrR8UqBwHKfr`%0`5F)Oy@qfv3BaC3QG~f23UxB)9!ms?JF|Ep`yA&D-}J?;O^x59KL0=nkoB)LH9$A^2Ies2@)35vX5m)|^$ zm$y6b9l4G}p+>9*J74+Du35ys`F1FVNlihhf>1b;{LcWO%+ynWsT$pgmMTLb90>Xd zbP}eaizww5WL=s`LCygqEDoVq+*vB>8rSMBP{YA5PJxY}qBTUwglK^V%@t~Z>JBX` zDNK=a@L3ee1_c^}`nsGNaQLCLJ32(>A<`5GlNyUqO9SQRbA=p@@CLJH29r>Zz*Bm| zK<`9<%23O?%-pX#IkJ0#oyC`xc+0x(QrCgVboUbLW>}C@yT>0%Ly5)pONn?ckwo&A znaM3AUQE)AsohSB1sK48b9M9c{eFafGz^D|f@SIfz*#BV+WxPro7c7eXtgG7k_NY{ z-Sq3L>-F$}6LoMxaKx=dGM(p>nCC=<0GL~B2K${SoBdoxC^+xc=6O5VwD$80&&KN_ z_WOEsJ&mjK^!eJ{+}J`iEunwrIkGzeBeY&wi}CXpTar(ouFoz?odW@8Qx5Tb7%oP9 zbvwP>HnKV0$f-sPt%_|1`}}tL_LciI~FK@P`*zq^PB@e*p9VifBpf^pf($zHo^B;fj$)^1B zYWJS-KL7=ayP%ghx5Y2+=}o=Y5rBQIUtVwj!4E$DlkYvh+V2nX(z^nHbOv=;YRjw2 z>UIwpt-ALr5h>LWa^=$ddZwJl@B~$YmIbSXAyT%Oj#3c2FtV5m(C97=a5W+{5EcmQ zLNkC;GqjL{vCUyYuCq{viw_58@W4C;2@C`c4#*-J4WP3OPM|3wz=9cE1sbRNo z4H{@9o5KtqnAs~(Q;x|UaONyyXT^Q!+&G;ii#7x9xZPROLSt6s14ub4fmQMc*8kg1 z;?(gIQ}a zmgGFgy(9qA2{N9q%6@Jw#1^};G-r!C1*zg_wSg?=0ulo37&IkB%M>Wk#VpLbPva%R z77sLO=a9pI0aEG#wWjD!e-C*VglBlG zaA?UMRGikv=;8a`U#mEjnn8ePD|s2I2B8K(m8KA))Icd1OlU-dAsFhRB)d4g0LG$( zv|LX|xM=2?Qa;#YX`v!CgE|*PhHf7k1(+{%)07+*TK0TJGgQK}YfN-0yND(**a+5G z_L!!YfF%z}=^)iK(00*2pQdy3)ms%7H^t|Oe}8>@)8fxBE?TsUas1hf%ggQl>E;3c z&jI_tx8QiV^5x~zEI~GDnwyp<69H^*>&wu`n{xg%BG77 z5G@peVQ{0hri-&-H?{4yK6yHrSu_!ReLX?&!hlw0fF`xUjIfB9TFl8Zi+DZNfAPsj zpPsFLb-lgUmx^}3i{Jv=EDX_f9C#nS(E=hW871j#21P|zv@$^1PgkItU{Ynvy1PYL zGiyectIwyKVYzy|eu%<>2JCCg96?h|LzHw_$r`bns~Lk`u(8!v+&_A}K_InH2lJ`L zm#?o4Fmoy5&?cytByj0-#8|2WCA^;IPd2MR|Mbb_?!#LDPPLt_#{c#o{L%mY%g=uC z>h%`$qxI^|q|?`pkY4Ym7V(dN_xu0s4}LVYd1_&cp8We|09s}`dv7=_QBP`XHeoFA z8MVm-SI@$D>K~cW=&Vi@u+U*viWRU)jWE!PXtIXv#Tb1H4^tMl1xqel+EPZ8)2me! zr#adLuFx4}>TUp++C)i3VY13FCuM3`(0QmL7s;(G0~s~w72Qz=sz3x~p}nx+=u3Rn$>Lm_FcTKqZ|9Wxv}`Ng zS#4Pk)-7A|Y$B*hQIC-Pw;6Ym0EdPT$!kl+uAC7~DGiZ$_1kqOaF{oXQ81EFZ71G& zr~b#$AfC7lCxF)1Y-(=|1NNa7Z)l#paaIDHEW~s;xYVRV4kjn|`dUQw?XJz6?@DU2 z%-A?+mbn`^HP`z3cK`fh(>gN#27)qkkqkDEq$SKZ!s5n;q=%wcEh~`?_(0 zO#CK?jufD88USQYeRS+8XxI$<+x@Tp>X*O&r++YR#(6sp?!j?A&DZ-~_UE|w^(Ga! zvsJm=wn3V`?1vKdcJ@-lV34$EbBoLo2a$ri68oTM57rXZm(fHj#^vQ$}zP*VsdHBcja(2xic4d`xuKPB&lnIe&m8hVRlsD?rt zmdiRtXf?c>tTvcEABJD;r;o?|57sM5pI_hf&IotM>2&YDN~+~)xnDUM?owI>T}|~L zeecQh&G3uYJ0iQkfo5hlH@*7xwzi1WJCP(LEoW719E%xSD7_L9)2s;0iq>?t8O>N* zJb$u&?bFruG`I_ReKmdl@^&zHXmsDz_G%wla#DyPaF;@YMR$ z6$Z1a?rtA<7A{mw9Ul8qB~L7JaJjky@=UO0wXDf)sU9SjhCpEeq*MrJYMSN*&kdsQ zBnPGy7M@zNjWgPuqJ6Y^^6~k_ex7TQXN@K(V!NC7(`@EFr_=((^Cz2Pwx61a!P!Ee zzq)Rr;+|*N7Ntq?u~tISNr{w_3EGg!SDY5N6%jGce`osEwX{~jsRex+np!? zX?X|TKa?_945^5o+`T0~XI%h@BVoouAIu}O16eA(XLWIC2s(|$Fo-*~hQZkei`r<` z!XjiR3Iv4p_z#x&_dPKP^>`)GoRB1Qq?_DRj`^miQajL@p=kjenAw_Y;Jk3$AXitn^$lFu=QLDdj#eC4 z4$|tem@Gkz{&~^(HH3h-xm92Dyick_xNIGrM&FmbOI=^CwJ>ASf!Y!V=d`$2fGB1G?17DO9Nc!UP9c?hakmzVIPloG3+x*_-Q@cY&Rebt0M^c* z-cJ8yS`C@??%Pk7Pq-Iiz2||Mg8!+tv0S~n%l%EfJiVo~BfTf-bVj}Hqc}Kdr!W2g zaoh`UB+^RB!X@$nPV#@YLqIWkZ$UDySGyNizy90Le*BZ)wK~U)O(}IX-cD0Q_`OO1 zfIc>{Wyq&$Ugw2(u4rZ#8*qy<`B{* zFR15bfh-CUZuB{5u&?Z%&DT|NMfC{Q*I}Oly z=C&>r4nBBp=q!e9=&Nn3fwIJCbU`eoT8c}XIsLp~WvzfCjDR(a1f7(ao;H-YV9&W9 z_leUB1<*^u(2WL`0O#NzA{`wxq%Gn9%iWuHOL8PvV%N+)A~N4z3s3-hK{s3M=Gx6= zNNJ8Vnh!eCXrwt3e}KN|PwEHgo7OWNiW+f9HoJ*#pbE9UC6|bBH@o`a9+CN$s(OV6 znjAWCs$S*GjEwNr?AouU3 zMX1^R!g37yc93XpK~-|zx}UV|-@LwjdbvJqn>*iG%)Xr%PVEJ$`B-Ig>Yfs4MUfd* zCyg(e?c4GR&$L`sqFf5oo&6@Yjk>!TRVtaPX#j-PdNg_(F^+t2)^&}>5Fq&c=_)`n zF_=4%EpL)Vl|K9E`KXPX(JxXm=hkeScs2U7&G6~z;iqSZueQTv;!7+(B$2%%nu_r6 zGTX}&&-afT=Z)-?b0=e_zB+$&BA89@-(gqN3;S0q@0>xYH;pLCC?PvHni-{Jgi@F? zFSkQ74>1aa<|*09@p9S4akOFvkn;TXYRI{XO&R2><3!eatORQkf_UX&fy6~hA1u1x zdvbdIp71}W6>zcHuEX%r>G8k$@o)Y7Yg;l6eyrTlwuU8 zqo`@Qm+~S6=;#`0f^Pb3IYR&mA;hvHXsz8KK_nG=Xi4`d3b88v*7{^I=$P5GY=f*e zFqbe{u|=;VM1@MqG=L;kW6%;Fs?)mW+DhFQNGoZ+q9iM}0|%;bm^-Z4UqPzaz0UU7 zjj8`$wg9J~#bnu`qBMe%X5htmEa)CdGlo#9mp|bs-+lpaQH7)9aTEl!IZq-TO zcQGd~V1BIkG*|EU@Qa|Izg}OCe%!TL;DVwItA&GFz`!ZCvL9x-0eH--V_x76)au|R z&R#?dAlX4k2$DpLpnxhwXhbs46)K|#F)zfzuVT=(A{W`lno=;WU#SCJq`C?^cK?2j zDnm-I)>Zm%G}s44@71QA{qBjo=kQ{$r|;pp><#?;xxoK%w7XrKvTbrs72Abp zZZ_`mFuuVSB=m_vZ4pb%{wrQ*-+~C}mW#{JpFcfVJo)6&XuUX&mW!)l-1I}xTcb_7 zBdQ!UdXe3nmT8G&N5EA`M+^mZDbeRr+7eC#5S+bwL4`0V2&@bZ1k9on)Pnq%oziIn z01@I81-qborm3J@AI0XK0|WJ@Ly0fAFMtmtRN=9FW26U8%t_W{$@<~C!rdVVK|bi3 z2VE(eTfdoTi*e80YrBJ>Y-3ioEQb;%bU?jW%2LEcN(n|1RlMBcJF*Gf zoy-(<;ws~cc3Z{&O-+DKb(>vOU#+*J`LW)fbGtWVw^PkD_Uap8Z(f%_llgHIfAH|| zDy8|O?}-Dr1^-Iy%A>!)d>-y>7+_t)(cV0I_oy3;6RG~0&EAfZU-LX6yu>1y3;If=n! z)-=t@L2KC^5Jk}N;$poSQ`1CLRzzKNWrEctV8W~XVU=ky@M4?))9*bzTQtA8OZ=xi z+68jtlQwmjo?au2~m5i{`Kr@DBun%fl_da00whS4 z|1P|$5LIJv2N0w+sHll24G~lcKol(r1qF{u6yGvTIS4zBcyar+nlPorQj}dk&Ya7_ zq69Lifwf>8SeZ>t6mg7(kpzV*O;jn$BMt@CC{#FdsvRc^4eD#ZxUwwTf+_KXhh6M6 zUwDyjo*V!P3;`;}eq>5!u@(oEia$K+@KGGpLqya)rkbIi;4DHyI@hQ>hHN zmqR~KDfx*|v z^Ed7Oo_1K?vF5*)CM9x*Qbnh*XaypUYz{}+5@vGL{teEr%;GciCRd$-xlVo2O>!{9 zjY`B)h1AKaszg!-=jf#{kOvFNnF|VXZ}@+DCIpd8^u|uaN-07Dp)8uJu`pF$zgNc! z&;-34?6XzBYy$TtZw3_-rh=?@fB4o5+?^J)#z#eQP>S;I<#0^!e)%P^Pgk3|T)5jk zzkwe1osCv83Vk$=Wcb|9zFq>{c28KpSl=y!iWPho{HK z%XYgO+n}chi%mb=t_e`gWG5C)=rdQnee!tudOe)4hDV2uL8*wS$)RB3f>zBkp+G7~ zSqgp~1sny;6ay*rbeSw2;ZEacI>7;u=zx;|=m^lOY zWiv0|<3TtWE;8)S5cK?Df~$lzuifyC9bxB705dkkihb-t#UhA>AY8T!BA0%kc-oyA zG9fQ+vk_^I?6s(Znv?X;Q(6Xw`&2NTTC4hMOzV`FO;``(B8D!;s4}A=`=HgF3_WdO z1SfVPcaBXNqKiI#_w4Y|LHl|;0?2M=fWjTgJ!Oxog?v>7=7Hkx_oE9SD%qWb9xT)$ zX6(A~LAU(!#b&!QQErEP^=jO#bK67+=sp^Aa)(ePs)#~G645H6%1~+2xEk~KPLIBK za`3tzNoiEhV*IS%{=e%@sde*l*L~PF%Mcal-E(2a)T8glym;Ft@KzV{9$Wca-y!vY zRwK3{i6XE}C@HnHFIQUw8VPXZY*6{&Y!M;JTm&(M^Q+-<)5j*%v7E|K5JiP$H{3Np zVfx4AkUm&;zyIXy{FeBS6mSsY0Um3HN+}%+LTA&Vo@gYo9aBH1v%}?o`};rq+b>`K z??3(Q)p~QZXctXG(uwsjxZ}4!{@@S4`?09J+H8{R zP(pW65mens!+i9{63m)BehLjRN{q#ksj{L<#L6K8K`qR1K+KCwf32uYI;f3EuGP|u z7^sR^1;Z7UC?cFR0c7&HtBD!~P$}_VIHX$MWslGX5XnXosumzoT%i!E!o13LRl&9r zfG~(6i>FL??~^}VHfN{NoPqTS3Dc*bB0)fAhdG3LunZpI$+0hG2GA&i(8}g2j{{W# z+^a~A2vAI}n$IaRVNDbXx?^eWEeE@`{_fxAxx(ovt43CF^Q9>E?6}rGX)cs>d zv#~^}%kWKFE<|OM(0q4wTr=CQr>=fO#+-oE+L=4>RG}ue$~I=N;vUy~=K7u1f6jl- zPz7%dL2{bV#H*D{DN<2{_L>je6910bQi|HaNAqy&y* zm;qYI{4xcIg0}GNch|0eQRYc_S3dy7jo*=2apQ;m2b_H!kXRFY6>;}JA#b=ub%9A_ zYB{E(<|cS6)&hZCkFpxINbnW4!88l5U71l@`pbWtH&qj~Xfm`%ZA11V{XfTQ>} z%(V>s7?5r{0K3j9kkH_`$Th=la_AM1R-~0$pBTc6?Az&JlPTYiB~cL~kd6D+e3d4D zWimyJEm2s&Mv62C4PEE*B=>4TWKH|oYV*AZrxbm$-oD=U>(Nxu#Sm4aDyRKto=eyE zzR5D#_lT3b3jXBV4+Th0IARA^VMamCl5@%HeclRkkB+5LtF&kimgUV?oH4}YCUEtVioQL%()uVca9%M)#Sbi zLBaoTz5aRMlZX%lf4bRz*7wITe!5&7hp^C)$mE{+Mt0{vNDELpHZe(*z-mTjcPB5` zeLtoqMiA~s!IQJYMGRwd3StQBZF;p@Nen8&LiiED!NLM!t=_>}^tb*{mdw>)|MmAD z-C+OEroSmXvWkcc09dH=q;O6&*U6(kfn>nNx?lI>Cl5~k%};*oub;jA^Iv@NYPHoM zN_lj+_|xC`^g9nvHe*`%BRM19mA^2P4*7Nmp!k|biPIf>?Z-+Xh*3n4oEa73RS9rF zTvg$dLGH28_%bQVD4`X^fL<^r79M$Yq7*0)B~6Q%g;CtaTofkNMG%y{81yW)0ZkCx zfdHY_q7cWK$_CUWHT`coMLlC;$K;07*naRC{Nwr_NVt+?^uxE;iv7DnQYiRuPd>bFXSH zm5=NRP*C6nW3A+rWtzbRVt~P%lBmfoxrYLnSDbzy z;Hm%5TGw+dUnf_Y*Y zjsgYLAT*&sVui}M8{&8Q0ID*M2AU}LcaO3e`i}Ct5BbV;;_VwP<}imU#B5ekfK1{f zYM|tL=I<=DTtz%4y+PkiF#@20C{d*Xm+VNSQ$o}3=i-3f?zgY*H2+!}C*Jmc*2QFV z6vd9a&RtR^6x?Kgg#r~+_(mRDAP~)NQNOw`R?&jJPb=E4?O$F#fA;dp$B&szDUXki zR{b#M+{Sq0X$p%nh=_8v$tR0uadxm-Z=3CQG*U{{8BQMK#37zEJruRaN1`XNXYR`0 z6qjo+ys<;dguLks-}TtlbiMI5?!96ElJ%ED!l?zvUj&Pim17&Ek>D-~K2VLGncO9r zn>pa3+6GlfP^gx5;hAtIfi{XRdM!jC0>TwnKL+IPUhl zR6@{&N;3aq+zJ^*0310N^Jy`=3P6ZDf*Jh7gQYQk)~C^TZvdh}9W^*_&XXn@<>%W} zglg~E1TbK2IqKqvA3ppv+j>YZ*W0Uce6{ZToGxu##u!AKu$v6?R#@%+8Je6K55$zyKbqH7zQ`|BWMZ{YJ!iAiK2m$EI~eVKVNMx zHhqYp__PEbpB^lmI3^E zqHSJnw%Kfd|KPmV%C`V=pBwV$5Wt$z4V#7t1m6~}y`QG=r0JMsi$u6^vW+g%+>gCuFQFn<#np7^|J$!&g z48M3iY{q=hwR5Uz_3p0W?bVQ;J8XAPH}7!|jowkNcNdt?%E`v!2lef932irI%wPPK6?1e*RQi#3^&g;0uC0JcpPj5QrjG_dw`>JH9&%fxGSVC zQ)mfOY_;HXWyCcj?aP~*Dj*$WU{L%EGlSJUXSvNzR&K>?PAhzew+X_A}RaTunDSdqrdUNnL8t~ z9>(XZ_0#qC#k#*7(xPb^RaGtV*K#LPM1iKO5g@ru_6Hw7Y-2d@69Eyp5h=&mN-308 zK^7>a3F@S3jchbgHh^VQa@oZg{rqwmvv0?o5+9tl1p7WOySUz@esqmx{(^wly2$QX z`eZRM8D6f(bv6f_@?tyu^KU(Ra=3W4>CO4?)|)Sf@lo5V?76`rjYy+v^)uR@07Z+H(!}PDM zvJ7hy*N*)g0DxK}f=0$9+aYaJdUSm7tp_Inj9d@te7h|)qQM*=4&?P7IgL@-Ib-@HnRE2NvghwH^m+@%sE4JwSGyinf$TPH zCG&q3mM!u+*MNV)8?b-eHT&M(j2P_=rqEuCK{jK0dO3)OjGC;NAO?)1Z?b1lV7_;5 zb252LSI87oO33eYKiM&`QXmGM}lYD)NfkMOaNP)&9N=bxR} zB>Ui~`{ZP~Nq3Fr_2xx*Pp}Bq244h=B@@xrsMJ;v&R4_eo59?@@*Jb6Ml=-*s2(>- zh>Y&ryt(D*p&imAb@S6{gBJpxe|Icbo;fyDFIt07s_GzEg67il5?*ksg{ebh>FYzqiauK4R0KS#kG@b@C(CpsGAd$83qY~BM2f3b zY)KK-*o2_as?f8$PgL8hXgV88@I^s|mqH^Tq1oL46=__eC`D!ztvp6Cb1F|-kR7>) zcItHNOFap{97n`vAyMWk(1ePFPMm^_fg&P7NL5an(o&?R%MtF-DDGTsa(kf5)96tE z2w`4SkKkT&)Cw99Ax#5mRI<%3Vbd*lw$oou)-u0p*mdK-u)E`d-!=8Fl|E zp1>T_--nR+B!F@2cRc8Nf?+%JF*{jQKP|BE#x2EPA)h#3CCXISsCQh#Z zz`Zp#zrO$TYzLQj2SPG@lt^!~jhPa5lz?8c3E)siP;N-4d}Ri8sm{|U&%odiL4c@w z6nJD*EvW#3rIwu3nJ9NUlOh5YCd*D}mFJ$iagXw}uLg@7LU`A^1yg4K?O%EQ#_81F z_Z8pvzyK>(kk@bHpI9sKgtH`H6_rKS%pBa@21*{0%3ejgdBXWbe)$F)siiv4*ZDC`vNrbh7Nu*X?#ldgsX|2tf=~Q983jzz55GeAfEL`saf=8Kh`;WJNY) zhe6CO5k_Pp12p6e6Un60&EW!bxFb_0_)jJ*PztZOsOOewwU-EJ@xL5KI!f4(X1MJ0 z(IWnjzw@m&Xzy>E_|6E)C+*ObLxBtkM(wi!7K0jjz8O}-0FhYKC#nfS5eXrRbV?9F?w<-;Z>_s{y_MM~f5+V3nE3}KT?VX5j13Xp)~5I*eMpKZ47TdRQW zx552k(;RB(-9fY}has%Z{(ay7eA5r^8ng@HI|qyJfB5LPpFDoK-hOtu`Es>=vE95L za}Zs|rqocM2lb*)-#a}xTQsk?qg2&DfWcjoS#}qZY+ZuqYAuv`Q;#;6)J zr)kqBj}Dtx7h_6(wMxq_oE)`d@@LPt&t45N=tVz@N+_BvB3Hv`CYe-)K-!>ykK}f= z)tLY6hu`}B$0vXB>hjO8RsnJt-W`orktT#=;6+MXw?<_6^QEwh5T3dI$i#zUuuDhl@64e}1uEjbj_5aLV+pOPF45eaDmoP(-+ze?LErzfw-cexX zfDFc5ibTzFfp>TJgiY+_@!sD7z#fWOdP-Ev-IUA(XQ8qLS7)BIBuf^rVI-SSlu?0& z63BFx>bzb#`7DqL9Ab-ujvHPLiHTIrPK`t=$vcG7CDamB0&P@OyT%B3swRlew9&#H z7BB?3mH8{Gpb5Mvex~e>B5$U#tr)fdtQ7{pyz5s1MxZesQ1ZZwtE_^-%!oyRPX%7) zkqS{L-1MHz4?2ylI!OcLq=d{`eTK>yq~Gw>Du430T`pqZ=k@4tj7844-V~(xkPZ>o zmJ-_emcLe;XMW;Y)(A4WL$!_zu5&-`vbc#|CID}s{&>6fe}8PL-kK9@<7M{mA9nxM zhsPq4-VC7$AVd@ynkKn>nb87MTp-BkmxfJfZv!6OyZ8AphjewkD7gTy9Z;TTq~N%h$w6^bjrDPM^}bhP%O&&$?> zs(mF(@zw*C!(wrKSY>;PoP)|>=HzXEnM5gESW?s^pmo5Rpnc}X1=5b<<_6WWza@bI zCgOmp6f1wuDN#%!3~+HN!F0F6P-Wp&Ku|T^rAXSr0a`gRjV=^8g>(Z8!sBowx+b{O z`3~+M5ga&*;{pVtJ0ZFr^ERiTq8c`R-ljZQYJ$+=qlv<^(?x@5keqBt*;3I#A%yH9 zA|YtgHj72GTsCHI+0FfGo7Y1+JLrzOCW^Xh3qDxnXX`e*Mt$Qp`<5oCczi3m2r{_; z?Rxw3ZJ&X|7{fjF`EOmbRgEHp`(Ld$uT%c?U~$&8gL817(&`)x3dv;ee#Cdwi!6;~ za(~doHt67f+JsF151Y-?e%zQJ1wClnvUmO6)%x!)S061FKR7=87vKA6HKu2q{>#=A4vWUA5KnUcSF-9I^LHAsn<=8>ySIy!8E z!pydPHeeXd6GN*K9H7(AFA|MMCuzO1itG>50%fg)U$*$5b^ zR3i;pKzF4A?n2P5Wc>$%j;;%`7DTdvWjbrd9|a0^XExVHmW`@wvtVqI#+{V_AWk$D zl7t#_$polyKA=QYWrBGrUrgy(I0@OPJ{i;w1kmAz7)oFXJsGy1&925gKu+6m+%+cd zaG(~XaUw>Di04XrZ=j4qD>DUD&}!{>S0F%D$8Dc;K3E<)&5YTETBv6tS~EFI{DxA9 zts!<`i51*6^uO}KUOm2At6*nq1E~Mlc^}hjH=EQcbn_iv|8ub@o@$(MtggO+CZA{^TU%t!jbOQ$rpedr4{MEX3J>aH3ZP3x!Z&S6+XFoEh(FZ z;#~FgtR-{nt9+LNE^=-b&4&W+3!-@pYEUy}gor62F*>M}QUmnPZ;L_t?5~E@1%cG+ zc9=4rIgxW@Zyd{?L3Sjc@)su}PkD2J6867TP?70JZux()9C?K+SA&@7Y2Z+oJ;&DbA<}AoA*R zy&i@|b4Pimf?O0xJ_PN^L~kOD@Kh71fvRfed%Mqcz+b-=ng8DXRQ@4_RZ^U;DsLrK zAq{mQI4Y{3rC!+Ne^m;tAiUf7)$F>A<1$$CNU{yG8q&pf=wb{S*JIiYW3~)qc6W+G zLjWnNLSnle&Ar6#MMXh67(me6^QIq%v^?m#E=mkaHbHatSL^L|%x8WgeIFRngaEWUfNJPx{X zOzsW`_p=xeV%TIm*hL!N*fwUZ>f^Rik)tL&AIG0<`{%=W7~)wI=K%|X;}DH}x*a~> z_W!=U`r+~6<3;zu(egJRpPl!^)2r>@zg~ZSwP~6#_V(kC9(?z~;j7JvU1GP8v^>>> z6kM)TKiKhclbxHbk?i~Y{MCjg!{^-&1fAfQnu7>nQKW67?^L`@|fWiEA&JSag-u?Dp ztyKbwsAwCsAJeNe=u(4*;2A6(L$Qji5J@u;J^OC$J*k`MlGeLZ&@@1vN_0uMRU4rk6LX-o^A8r zualF2iO5;2AGP75qxNdF^G!j?Fi;8!!*==>YijNhvYSvU5cU zFeEUrigb}dU?vViA?i?NDS`+HJvm*`h&38Yp=5+oR0Ji!0-_0us33BIs-h4S10smZ zG9o}HW4W==Mrni1L0BmAwDSgm67I;^L%BdH&ZVFtwkpD02wxPEWheBaC!{623RIvK z8KgvYtH6t(7lsgGk=@g1N@Pfd^dW#b+D<~m*uyjF-oy|@av3G7eX9yl(4Y(VL9|06|O9PRW+pLoCiCNl>;W|j@KDoXSRWqu{IND|ygX$ZS zSqjV7=@Lak02GTzVbhaJU~5kP`Ce0{Y|V{>%0h(Qe=8x1Z) z%C8*{wQE`(vmZB}I=R^DBEDaEM@3o*7dibbrB`FVGV4^2WBeKmS*yr#jLH3H{qSrY ze{it;c(F*%wSnN)>`~MFi?h?eT&<4F@6)jNBh~?%SGJu`QmbP0xstlBUunpg_G{DUJw1&E;lJ)$~&r|xSX}9k`aQAOg)8?fMnw>AM z)@!E4Vbg}_#>x6eGFQ;tpS@a-mfEJNob!3$WVii`O34M4DJWN@`D%fKdgKw1VuodU zHW=#1FNU1V{^uWm`q5GM^UW%V_>3j&HFKJI*M{SR_PC1;xEk`$5Wj`Se}Nbm;I2e343GW5P>($Dj{Ji_43BHe;4<101Dh&#eW?%#x}&LIeVr< zwa6nxRcW-y*cP%OC(FRW5RjZYiCnr10%X!p$O2bU(3NNcMBTgs5+!IGV{qn70IEoU z6Jlr%rCmbuRDW3@L^}m5iuX)~!$22NiWG}4I5d`ge5Pz*!9gSh_!R7LAS4K-7=jR3 zDQYJ0BI+Mx(KQPQBP=r#AY5p!5GokF!XmvJfHsEWLOP*>z*-;{261R33iJaPZ9G1V z=2T%2CPR{PVJW%)#eHZ&$;yOQ~66~ZZ z*;fbduG=7rZY*Wz3(0iT`*8JsErgq|*Ifx<>B$O(OV&mta;jKQLH5d6{c2Wi8KYjb zCEU$b%tfWZ6jc#eAVCq_g9c*-B&Cx4uU$(;hMWd7l|Ud(G6DgxiB^b-^gla7ypsa7 z4`Ab3#Gxc7i59J|`U>`X_>H~5DY1mtzWr_ebLU?9kJt;4sn4rJC3OZtP>Rn;P>E`p z`+aUwwFUsFN~xGy5a+2PpVWT;8k@m}ym)+k{K125%4tl8SKG~cNQa&1UCAGBZTmx6 zHo(R4L8BU+Gh9zX!`n1zN~aYvFC9@C11I_TBFakyaDt!p4H+!|;LV`~j@zLTZZn7E zS7RE@yS6b)o9!@clh=GW(J&S1q0v+Tt3Xu0ltVT%*C3GD_n`=bYN?Ln1@&}yLCUG` zb+KqeP?9cefHCJ6SJ30IY|)QAj%n<=A%|A(+hGC;qK)FOFV?TJoyPd}n*MuVR2f0N z`(Lg$&&Kh)%jIE+y_tg>v%?U6e0(IbdOC~;44sB~!!0elZ`}m)lau3bFBTU$|J$pp z!Fbj*MGU7RAedFVcUzTEPolg?D%O44Y%Ii*k)@){F35CHf^N6IUJp=;NDzsTjoFotr`jm=e4DnJ5RB$@2sDf5 z%rRS3$)t za+qgPQU&YGkqj;cz>GnsPMXdqrw1{ih7!*}u_=tT#$O;wxS*ES_y=Aud!EzBj<;ViB~sq&JFP>_{X z%_13Fj8r3P$p!_0EDQ?Px@9P72lSc|q2;|M=Iosii7Kqg=Eb_964^xvgu?B!i>slD zqL6Zmiy#Y~LW=KMf&z$O01|~nLkT+7DFd?m=;2>JIr;8k`?ss%uUGvSX*_G|UQy|Lb`3{f#eiA`urkwUB@L_~<`-eAKAC8muoIgZo(j zf<~{@Pn|f4pcP z4#RoQhovqJsBm{HX)L!T*Z0PvQ09ehkgCmJgqQW}bpR--AL61p`}onI;rYe7H$FZ& zJba$lmxG-yQS~_9wMNT0iiEu^1Mzz08BbU!*cP?fdW;O>s&5T$DK?`=tCI{V%$4vMtUQp-#MQM9TM z^vS&1Dz_H`qiCzzTM8OVkLNw}=Y9W+^UIf;&7+g$w;!Dak!+?V94biJf`|*hc)8k+xox6M zTIE)+=d<-+`0Yh7a>`=`IcYCKMq@H&vIGS7&;vM;fnQ$r|M|Bc{K1p6&n`ALYaPzx z%2FoGmtAvq&>lqTQ+|9>!Yk586g zT=wfBwfk8atYq~J#3WiEzBi9fxv6(M01j%28_pJ0gsLc!&75coNIzAo$VC#S?9Dsn zB8)D{u#}1}P~jz=qTD(`R1Qy!P^V>=X=gV|AzsylLV+bC89K@4L&5;8M_&d}MHZnF zgsOC)2(lR%6rs=wKqNA>szC(ov-j?zAhC>15Y1jKZxAM8#jg<=J6p087HaT8#`a;4;}FiV~JdGI<#Sr7M9%F@W$$ zF#{TIwmz&0is-eIew)oye{_2A+oy+L_UZq4x%#WC?Nv%AO<1VPeUhHu*k(6iM*nMS z@+8E12lzT0W;g8qJ*VcrpdcZm^D<{T|JlQ%pPU_hxNKI*UJOR?Ubz4C)eGU%9Ip%y zV-3OnLmc-40!nA8heu3`P7Xvj0Y?$12#d}DBd(2~;Ei`ai^2#e9=^~iCKS4uMxh2q zM|2M%7$7X7Xo9_>&H&mF&igc&9kk7)b^u_y-8Vkl8)-QNR1s3r3kpI4TUP6iby+)Cy}DOXwi zysyy!Bl3{hgva0i_~GgC-~8hF)#av*;e|U7+JlRAzZu4(MS*=LNr5*uA=m{DI`1H! zZFzdwbREn@#HK?gnPszZ%aq)+&8mazEI{6@u}e2-6WT>!_Pnu_+(ye8*+kx~k9%#7 z$z=KI6p@fULebaOB)cv`J`9#UjFw+-#;eUXLbfzZMj+ID=VHw;C5xh67rU-)g63?h zDlAFiE)+US7N3E!(XMT>8HF*(0?pXweoQH)lx-N&;j(QH8bG^nLFLgBE@z4TkMU4Je>kWYT4O{=ymm-RsHq9!h=fm*n;lVi8*jZ1{)9Z= zq?Svq#-k#j3}!}djoakU*5e;NIs4;}9(;ba_3BsDiS!j(6gkhiH)~Y$yWjrqHk5F_#`3@|6!efa@>4)y!b5pki2d75RU@B z2jsvwiWqstZlcDu!#3;XwjalQ^l)hupUj*jXbb*t z03@rbyQ$WDYKjd^b65tQK@nP+Sa-#m6%mn8KvUmwZCMTwL8Tl}L`8)HH!mpw6cZ0B zFy}D1JDNq2U97Aqdd)c%7Z0V-fhL0)7i}!8yp))o1hnv@pc!>}mk>ixSzYAS!k`-D zh5^fw{=8=tJnZ71edob1)`$P+>-Aq=ZZ4CZG@;WQ`j+q8xZC8e%_^Dwfg5fAMZx}u z-oyGg`pRT<`=o3B@WJ8loh^<0vQJaC?|U4$0ytzLj8ZM`e;}~0+_*p>+!1dGWYy06 z;V>}7sB#H0!AQK$HWCf62&zCM60a}yy?&;trVyHxr=)ne5)>hn7~P{uR?W_)y5%U* zMY+b!k~Zk&I1c7B{ZMAqSnl=#>Mo{l9F+?8Po?lYPy4b@@e$T9y4SeQ^YMPOpf2?J zB(2n|dwupFs`qlVr~M?`PgM;6?4BF{UxEbYF`w@>+5}FOO|u`;5WW~ z`uI%A$A^pO7pt61$yZ&Yrw8rj#$vK2GKhGo>vAKPXlnaI$vVvlbjJrerH`S6TZ0ZM zn|lm*2QrFxU9VJ>$yF!?B?N-FLqJt+kF+J)F^_{=Mn7`AZokauy>a(*5tvD3Y`hMP zgK*&uW!zt(W!EP7gGB~qbbqz(SL;3mWYV%z5Jd{E=I%zS%A#ow7hPgwX-}b{Wds7`c22D7IZ+mB9`2W>nI zX^7hA(CAG<%dI9yG5pfek^G*VJpcrv$bQMNuiR#~PaCxT|EYV^ zCQFj*O6=V09uaTJt+Lkc2G9fu5Y5F1QW_3TGRY*(m`1COmZ9mJ%*LcYsNXOj^l5A) za>yYGf?zk$Tdldi_afZ=-lGrh@iMcz3f&Dh3COL?Dl6+Pv3R)Od+s^shOjH;&l&n7R;$UiR zK$slG=`{-W`jDd<{}6D8D?Yy1efMPbuYdIZU^dyH!6*=u2QQ-R23Kb{9<=L=66@!>3Vp%8B?*E?6s_)K=q00 zs6a4$F$cJPJH9LdAfW10!mAIs!-FseDNTFOC^A7bYHgUxIynVy5b?^>0l;c}X%18= zuGH=vjzAMJt2jHH2m(U9wk0`xrf5>VZq;OL+q=~y7W0WW~NM`N6OLe-yXOT?I zT6cl!b|L_j0x>Ie^Md8F138(sOb1G#n_E#V1Z<~IK&o=HZa*R|&w-O-kRY{Bu?*rd zs+sKQnI0G`-~!fm1P&ooS>OfIL6qaBl*GeRb)jdvu{hjlvwxA)!b1>%QM8Mp^qw*M4{5?b8H$32PMx)>S#;*?i zb2LB8b{NAye|YqV_trsimTdC9_v6_!YOTYN`J$`)W6Xni6 z-6USWqAc*MkIFf{J$>tj(N3{eU~dUe#AS~9VO0**{%2cY_yVOTpcHXH61+>mN+4l@;sm<)3GoPv#)1g}&EGv*x zJ15nyIa4X}_N7ckt0jcgNGOmH8lwO~MNyG{QBeh)I&`Z;be(KA<&%#Kz15!-2m*$- z(XvuoYi<$RhUyV5M1az1LRWw&b04B#^4d}f9CkShw#Kuo-PLxi9el@}YJW_3k}PJG zBR+^6EP9PmL;?V3c6aw;Znc6BgtlHN9l2P_#mO#)+6ak67bL6~eOHF8DcjY>c73?) zdUbM;Fctgka`(>B>Y&%-Ar%g08s6R+Ktxv|oTc>PZd`^h_ul!&M<2pP&L8f^-#e$=)KNiZ*sGw;7f4**1!RrPC_oJP3QL7&&ws+Vuh)ND7uCVa29S-}7Cw;mVg zt6c)bwK;d!j#bM(94)%Ok1vzGoR~Bo9rce6hl53^H8V$JBHf-1B#cmjD2857*L@++ zuE&EZANE1QVoI%P^H{7n~ffD5`1RHS6H z)=u#bf0Ce))pVADS$%@dR{fQ=;q&6(R%wEDPSTyi%2n65B@$tU6a=Ak&4E~-ZPnM&jW!PMd+#oLMgdq zUkqJ<(hX1t)x{lQC8Ee9ikoUBJ;4nOjbIJYQUIqoU{H~<*bXi+!0FCxWQDmLRB=*f zcDAZ$kRfVVqfF`is$4tn?;G^qok8=k(oSCrBnUmdk24TZ~bW5U1i%O|5}`%FODDx@KW4@*j{e?w##s9 zLjUrY>h14!r^Rj&g1YT1kpQv^RY*Uk73g7*-y8a)PO@-QNZ{jbexAzC`8?O&iR&FeY8?e2wX`|1AORoe8rOVO=`hV>(wpGk|7DR*9T=O}N%|5CyATfR@f&V$vP zawfC3<^b*?1nBL`4FFJtv>EiOTrg{&(k|H-g#*9TQ5j0gt4H@9z5kxLTPiVx%`~Nw zyDqpqxMvok`u`ksiv`SPy_u*W7n@26 zZ&Covd9Uobo9*VS*v>F{Sap_Yn*_jtLYUEuAcP8PC;Ln+8P6Le!LHm2g{POsRiqk2NZ+)64#->nW7DhNR#LV6dqi>sl_ZW6*Y>uz~~n{e>wW-{`5L6qyA67_2dVq>rbyozqO$XYx(Lci@Wb$=gIw-(iTdEbZA^{JAxLFHR%orn8krSK}#0b6F zMk|_b&HkRsY%r@_C4>T@_#Aq%A@;3%M6jkV&_E|=3mgQ66hyKV&*B+QSGq#1R<{Yz zh4tO6iZjnd2oj+64#7a-n9Ycw(#JqWE>3|2r2~XiKW4AmVghP#6|L1JX3xo8kj#73 zh>PA-n;t|#B(gM#FKR~^j{-#yg`u)goAU_;klM9af-+e$mslGTAht){V+V2VBrLkn z1+lCbDZR7SD~nG@>l8gU_^7nj?g@6sa3I)?5W zO9Q^K;ow!ajrlu^?w>t6`Qg#9DgJcK_C{~5uQLKLIkz4UmSNeo9v8q36Y%xVp4q)O zKitj-Zeq&2;pP`VWWO`+UtHDOT1_ABkePfAQz?>x$r+tq?9!zV(yO@fTSNa|uUDx& z1vkmBJzpE($U#d~&Fpe<)!RqCCn!5u$VfM872yzIsC^A(j;lo>#c^G%4**2xwWBIx z!YvND+&Xf7Gq?OsPCy{c`9=kF=MUokg6$(f0FVj;t3N-r*VnWc--4DRmcAn%_XFHa9jhl9|o z$xe)mgOlsUi_bp)^z222tYQcta;Yx!?bAVsz>24o`aa$}J{FhjmsdO4-FtYnS`UB( zRS^`|zK_AU-HgliLW4Seh?>k^?a~7o)&pJqVyk`lLh27dbQ$F7IK9Yu{f~|)??+Un z*eB!kpzjs1H>LbD>MKz-Dij=I0HELyR9t8`*1G#EdHYiwfFlN-%&$|4w`S2g>R(-K ze&_UHP~E;s4No+ddGY2tSR8a%Xz(*x4KAswMx|4C(3h9nSC`umB*aKI z>*1N2Mq1Zth*wqeW-HkFWBx%tr_PljC8%tTsQhm>6wW7J;gA9yd3FbP-jodwp^=ya@7i zmzKFOJK-C{;~_ja=$~IrW*$OwgAsxE(CMw3;IEQ@-ymdFG#ykRNbaSunp`R+h+2J- z2%!5p#F^=13Q;t|kdb7C9qNn{(dNVxP|TtP6%7J7VlBCXbZ;zO)_D(eOb$_}Fel9X z0M?FTAd<2Nqf>|sP!I$mhy!%SPRGeoay4{OBs2l0nM47VUgyH>@lzYN1XR#TtuQC6 zTztzcl)i(A2w4bM#aP;Ig3-;YixB~< zkB2Tg5!I5@mGQ~Cdw<0bxAK!K`+Q3k9{2iM?~XYQV1c}xJct|)@sC%-?;fvye6{=2 z^X-SbaS`}1_6=Hy#uK)ymg&3~e<>EmBhdG_@h%L36Jq$z;G)yIL@>Kmg_FFd_s&}*b$^1*7 zu@*pXpYkkns#{pa>6t5$@wVV>=AbIX<|SU5I^a%}+dw9vQgrqL*4G_o?~XUYEx-C1 z|J6oaVd1QJ3EIsRRO;dv*i-@`g@qU@5H54|rV8Nv)=m3m2PJJMEaKzuzuR{qjZ>#O z=JN5Yvs`Sw7&>Rlp6UaZ%0(BtlU00qT?nt-8v?H1$CnlRTcD6%$lf|7z;~_4Slev40Uij8lLn$K@{XatcwEYG&px3_Z1s>nZ% z_V;aL6~gnBU#4`@^;c$ZD^a$;*rFm_i5|6biA1A~^u5z;NAG#T>bI%Bvd|Tf-xO4w9{tl{e38pz`S^e=^#`Rd>4XmqQF;rn6Vxfk=!Y z28BpYCB#5_DR%pA)K{v?s@HeoaJ`6^ySy38n94TU==`m9xW68rUytU#_d*b$bc{)~ z1(tWlSM39U+OO87i>gtWnR2y25-NL)$$D{)fx$pPg?%n^II+hcM``EDfj+ z^JTF?^^fiy{?pTgZ>@(HQ#v2{_vHNShs=&rDQ6Z}@!LTVZ(hZ>`~b}4usMIf^}aiA zfBnB+O95(d0EO&(jm$x<+(MRW`Y1BnXUgm}4VfF0SH>jVbrQ55=ng{mPd;Zze!tdN z2d~1aXQDHBt&UPu<^ZdCfbO>0f(&^5_=DYw+xIbdT~9?I!U`4Kth}u^ohU^V*^R|r zRO{i-3r4lb@X81TK&S+?CJZnzKphZx^MSk_*H>e&IcBRTG85?DlsmGSkpBN;)H&Bq zg=iKDsLV;99a{IVrNHM}GeL1etxhizK~(YP7D!)hNZut^y!*lXM~4S_oT5l6_UWth zG25z(?(Bjbt%l2O%9#S@Z0E7Nf3OHwJ0lvBBm%{3o87{D-jcVw`SRXjzZjUkxswP0 zq+(OaL2sY*8xM0X-OWBxS}`~CmITccUT1Ru+Zs>Yd6;LGgIKe#wY^DJeMA*XsNEC} zzt(UlAP3#l!M2&_yL`EuRHYB0iug$`x_JNO_;2&e|M24T&K03ehNtQ3-{znFN6T;h z;SWFf_kZ(~-IV&F6M5Y+AWcaGKlrWhKD>WFKt7!={whCx{=W1fJo=R5+34;E2TKTI zh(q7yQij-V#&I0eay^h9g3|12%1Yc@;i$)p?ZOzM-YM!;?eEt7=uO?4|1n2Y75ATR zc7JdZJCXcGpXK^MvGzc!aY(y`jk7`ZRs?NmMO_D5s=!K~n%AFOLieb0o$Qm%?mLHz zvAp4{(W1RdjCKc#)8HyWC1h|rl~S0@#^OOmC|8qB#T77@Ai7Kble6t2>e*N(Lr^K^ z$$c!GoX@u@8UEYvJ^Ck4PRC*wDYe#C4O`i7fZ}9S8B|`Rd=%Mf_{B-Ut`rA8I9R>E zSQwG$cb}oQp#aVHLVy@_2$A$%v9qh|%W1lprc{cGbRqO%_AVE3dUhAlM<>fjRnq_f zAOJ~3K~$@QMGrQv4&4f+@8o(rJ-^(P>|Ga{6|PlTe*FNVnp>zCC1tO@LY>uCm5_jj zy_3*pS?RMlY=-6Q9~XRbw*Aqg!+-U`w_l9YXkKmlyc)7Q&3Ukhi!Qk1Jo_Ss<7Hg- zp>DeU_zTPMJt1|FpCXGfF7ZI&=c#4Y>U8mYL`u(gvYsJwj z@(HAY88Yubl$v2FP{B@NWwen_6Ndz)IxIpXwN<)BU}S(h1wxhLLB$!WRU*W-8s*I0 z0MvyhhANDMl1g?WRuu%*5!VbV>n=thlccxHHa9e?%t#36uJcnYCSL71p#qqa&EFGN zJ8`OL(7ZJ-Qk@qSQXerT$I)S`>XxL0AQ2E4akLCatMKe>_uYpJK$1Bt+DCv?Q4$*1 zX;7#rHIh~LNfgLMMsokoQTX7=@RL{h&tHrmUt18|Uub+&8caQ-he}1w1c$Y50+Cl8^qQk+e~xF`VB7wrkOS%IpE=9VE<%c`Y|75o(b@8qC{( z2!VhKi7gSpPUMofa=A9?6^8;;x9|Na?_tY1GNxBbD9zm%S{mS@0ueSN13?$`Vk%Si z!(QfAuIMqa>2IjMH zK@DE3(3O;y76@xO4w$2V*?;QYd&RjVA#7RUH#Wom;YO7P8iH1wu@-TvxZ7dGOsfQ1 z>nr!!Fq6c*OnW7(ysdfeR~wcr=ltY@@0{L0P1l=R^ZESzY8=zDiwG(Zrw*MSEqG?B z?t0r@=~lxLpjSJ44QjXv5^e?^4i1N_`pC@l9|V%+RC18FBFYtw6`fVzw{LLug@d!X zUC)mOTT1=L$-sR}_!=hG%|aXXw&qfGMQQ8?C)`ItCR9swvr3&dzFFBiX#rWApif3RJ=-m-A#wQAo;`+_%Q5@UzX7jDPaO zcYpNw$FEkhKwy)LgMV;z`0ir3 zD5XXJq5=e&k$wPzPJ;kJ#hjy+XPeE%I9^WEG{^m`u9{-rd<&hWI7A*CEsvHx9oDu& zR=Dcr#rD~~+fMOn14;H-wli9W5WDyUR{m@4h@tO56B17M8x6_Az_p}tJyF13+ zv|RM-gGDK`>a#8;te1hP^2J`ePKT&N3_<1jHvR3ke18?+J6%7&o_14-wa}-4!UAHc zJH^fTk_2GJAKQ9d;XD;sadDFdJ>z&H{>WzK$Wfs5mASLqQctPyqK^Fv#Z*b4l#i!k%fdSqsk)46{J9*5(9Du0Rxi3 zT{LQ^P@{16$M-s6snk$)%Au7sqR>QruH01MAXHaUgj$Oipi)?qqtIxm6;G-lLW61# zj;^9Eu!((82;A5$_2J3zXCGZYznT_ZFrTA0!m1pFu8^prq2ludX@U|P3nD>YZ2T1d z{nP$?$MK_0{BIxB8wC1Rg^vzSq|VNT(PS1JFsUpb4RhZmtsSh)e1- z=UI_$5rUm!bP2#}ej4`&bHj>hsKOmu&DR8?a3cg&v(sP@p@NR4G}>o+ROp^&T|Mvi-5cB2IiQf*xd2+?SJ78j+cD*?i$NO`+(0<{A+F4>x26KXuO<(R{$NbVX7R1z zd;6knafop>z^hj?RAA;^h*!B3=McZ-#@$T&YC0h;|A7dK!{`o*i%Z?i-RrJIqKf0I zlc?;2n3|mPme8e1foESJuMZeutl#jpCYJ&*$`HyjWHOA!HYxXAn9KyAiQqdz?U_M->)KmGikV$S!ToSeL~eEMQ{K8?rc8YW(CM*&ug&dj@@A%-5^w6)!o4%Um>^C$?D zd3JYn2VE&HSE<^3N~aotzuoR8^5j>c{r%!lkwplfP3g%n^djkQ5unDb*|D=b)Up~K zvx>Z1=u+2M#jSpg(pZ;ulYmg{R_WSFg`5r*rF}EJL^4PdqN>1La?2Fh1uc;_Sr82h zgBP&V;BW{;q*E<)iUf$!r{c*u8F$4$zn-GVpZxH>4;~zTd_A6xm%03Ox4p<^Bzw7uC@3;HS6%$=_4?7!Z{7MBJIrQSDr2$Y zRv|4?o?c(Odr;k(o$YpG&LYx>ua^gsS`n+g8+KX_u~t1-2L zAH@|6q)|lf9Sn;uhLS#>+(S5C#pMv=4FAvZzi7}`uddRV`ymu(2;u&Nqob3xS*7$! zh`Oir;-*T<&scHjnVgLWzE73Hs9Ku+=*R zAT=no6F746smy4S#uy_>GgevAO~TM15O_t`6vg2X%P5W*-~?PUST}7t)oXl15fxFG zQ&7WlbGOP05LHoidH|iqnhe0b`kpwTQfmr8F+|a!Q|`n>`=}6cM~LFiDO(n<0#wC< z%oHYp&>giaDKSSR_3nxUpz`(W7Sd*UKnN%X0#Oj6z~Ko6L|`8zE?@>PEDEI*wjNDp zn6B9!s2d9T@T8ZY$=^O5fAHi0LY3Of9iJHh+2gh-39>$%4YDPg`!)mKpoqqY)!nFyuAzGBOi zYLQx7=&!Y5O#vYBAd;~05Z3R7Z|CZpA->u(0efZ+#8O^#bN>Gprgs4N`EkpP8^6cN7{g{1xeE;C&@iHueEoFU) z#e~wSI0W?t1kq-z@?NC>T_RplP<8s>qL1jLkF*zNZxuxTW*14Y`DXM3oqkC#NXd zhQdMQqs#5@oUS^RX|HI%8FX?PyW{2X`R1w*Q3Q6&=RT;2wBl;j61vdHPD4;JFqxYn zyQPBBeRQ7h$|slOj~*ZY%O5;Zm8YB0$iF)~+f1pCu}Z$4U2j^D1u68S#p0mv&8=G6 z1d)?|_-^0ZFubzz=`i{QP1wKm7~DQh z{#lmO!|rg|_nm6P9cuWGF2>zs53tlJWUA{q!=ux9T1pFNZ#!Z&ERjK}Fy_ElKbjF~FBs0BZHF z&ik%qKPcuUc%Yi2gY+s6nl&us7UH<)?!tubaCfH^!kpd(k}wge9Th?+NQ#otgKZNJ zsKppF%Irwkcvu3fTUWKJn*BVQjI*jM(_O1lm4FB z&qn)b%d?Re=Ic(X|LonksHOqfnT*Cx<^DfN2eH>jp0<7zXKCHFdX{t%45E7(@9uy{4X)tz>2~sFm zSxyj=hy+;z*OXU|La0a&1jVFcDq3JJTH9iP-RtLlGb-5M0zp(gF}g-|)SH}3guphZ z07k7|3N5=)RDUb_T?^X!w04T9?WJwwn@Oe>+7f{%rBrKnL}ejt=5mWyg_q2*Ma#RI zz<1U!)>cbZ!`;*^AZ}N?=5&C!{;6RW@XXhw0d{Y*(fM^6(k6H#uvUNJI>*BN(CkmR zo|8AXxr&O3lHTyjra1rFr%mMD6qen?-*_hiQz|ipG28iO8#E|HReI^%lNpMT-JA!7K)=$tX!B&#vwBb2kB6??===E!lz49GWTxq&+9MR@$$A zoedJj>T_7!H>qe-s8vxk=^mgC290L^?6c?V>+QXh#RtnLKM!ZmwpYi?AuhtbxY|tV z)64VsR_{N!cl_$=BKA=TRaJooy}r2o{G(6LR-TqJgt>hvRT|K6QV!d-9q4pr(i- z#eB+nH>K684Q66sSIHJJ zOn5^(uz8Ntom99pxf`(va3a>S0>ptR(nmR;N^%<9vyARjF3Fi4ljCAno^R9f(Er!p zefUq`JB7&0T?!&Kb2#YxsI9w;k?<;nbO0|mo9EZpvOgz55bZ>lQ5PCk?nxCY(R?ry zNq@fEP9(_D%-!ec832N6P~9iO%eevE8}a_vu0t+`;I|*1+*>bFE>=_bAm%u~-n_ir z39#ro58?u`7I#ua#3@c9yLh8Q3efggv^7*(?#4NFN23+t#tW#1>?|(NHj~5u_3wY@ zgZl>`U2Odpd5jPbq@#or=7?8moho03IrDzvTd5k^nSPzqRDI0%j^q6*e@&(M7M&oHev=FN0|=AngxP zp8x_bG`JOsF{rl9%ro7908ef?c(oD@V6J!TM=Vo z(<>52^;#^kx=n)g;HWDUOnl>4#+St(tn}eh;QDdmk6%sCwtm>lvXgzBdb9431d{Xl z#4mObyDEA8&2$ihlUui|?C&i4fARR>gQJB2pHDeED!(ZN8AN-9+@a*7wPFLVv(-h| z>FZ9HF>Z@bMklj3-OgLST)LnizPc`E$BRy&RZetJn`Tnor5Jlf#th)syFB~L&u#u7 zpcr?KDCp3z@H_r9wTYXchOnI=JFg~xa@6&)-({PMb*d^DRIh4R$0|os1d#yg1hpKo z0d}TQAV4R&5LNX?4npL_Z*;$)+^nt zbRj@wMOzyvAnnwIvw{;dJ>&MY*>5>5L%W-_)EECc#V2nWw>M;A(;|5c$e(eES`Ev zIa?{!oUXVQ|T;ImUY*yhA7Hrc13en)m_R? z@4}buWtbUyoMpQNLS@kbg|+vFMCpdO5Kx-v_ zhml8pJnqBJOx|DwbW>8u#Rmli*STEmbh+-kfZ`1v0??}@^PPEd$<9=4G%xOxbCdnk z>nzSce)sf0e&^(5(Y+kgHk+U+W~y|mmJ{%rYctu0z`Ms&_r9I^u6QTt%|K8EA|q*L z^{E{~sD7RM^;BN_`Q|zUzwps;cM9G+J-TB8rcCjL8wO4B+ zi3W$U6r>p|sbR0PmThVWri%PG?BB6Z0P2lu%W7RGi{shVxbEY>`t5K1@bvJb%dOp& zj+96dx}y&o1=p$k^~OV|r^~P$VvLOtxW{F>7}A(7&aWZTck$ta!*Q3UG3^nnVd&3a zUB7yMv0e``YRcu4kDp(jZ%!W^A0Mrhnp18;jz|~vU^zTK^s$tmkL56iztsnNf3}1|US`6{U4q|_C zvHk1o-OH)e)&aj<8bB~R&vWTT{`mCZKYeg`+{af_8Qr4lB48DzQ_0R}yYksK2bFm1 z7)78WTl1f7i<2?PSonAd5BhLCgold=$TI4-_-J&pR&ZbQ4{{=sOJ%QAT81vVaI^>^ zh`D5OjqFr<0F=F#K`RH%TGc*C3=%SZ^j>8MHP{jgy($6)B2t{O%AiP++vIRAMEX8l zEyBx98H5n5)P=~z;?{B2Nf|_fvJ)RP1Vv~TFinD}07O-+1@{5sP%x7w@)`?h?-En% zd)~sE*6xB-XH(@9s1p3-+$QftrTI?-?MrKiRd;}j(13ZVGlxW+c{?%_xys&jpDp|n zFxCqjM8MwRGm=p85*Mjb)wXia-!6_8bj+DRJq(?#h-FR#_GQfZnzlsZ_W0s&er-n- zQ8WjPDvS_qnJI-1s_##xZrdbDcc_FAqiQY|6m{DxHI4i_34mqGr9AlFyZ26y%WeV@ zLVS63opM_A-5dy^c1>CK-3ZB+gQ^hOy^C^kI6S}DIV~V;MhioKGG&gb8t~UcandTz zYI(6(FNQ()he;Y~R(4a?*FlUo5AKU{B#0s6^UL^XZMsID+KTSR#Mx=xK{96+_guU< zb`!Um$zYTa=uQ_HDzw!2RCS`?uC47YORGYgjaT>Oqi$zJbqJIFuR2kMRFZd#DMU+c zaM{PJlJc`>_qRvCckliQ79U+-jAh!Syes^~F78d*$F9)4m=iQA*u{9Y+bo~I`i}P7 z6w1}KINKeh$ipECqgyr;K?uR=*(~Rh#so!B?Ly2}O13UU%q+*(V6=UC_Sev5i$E0Z zM7cj)0DuUBYBFXg>O(a<$dZkFY_s^Oo@-l*h#G2E!?Ma3f>g>--4o!7=s275PcL`B zdA!<{{JLTZ0FbOaSg)_fv`Zxh&EVOTE9h&&t|~Bv0A5bED-KFFPv)axllgQrrNZx? ztpE7Ed%t=`maU& z4pb!dZS-Put`@`T!K!8#LD9u=WE_N~S>S}v= zxjnge_};hf4?{PlGKV%Ybb55qKS=qL>}T0mQKBG*IWDgOOh6IF0{L#RlhUZSr zK(khA*8Y&WXM7E&6a{dB8(CPf2L{yDk_9wsK-Ai`SjOVn(DjnCjoB7`7(%50ra)Q0 z`=fZHaMY)@qKVF#D@;fg`3ejy@PKAJXJ8Z-4=ryK1O)|!NMsg9co0d+ODZY)#{4P? zyr~QpisH&iLodzOztmJUUj-=+!~Gi@%f}8&$jvF1(5r}`qaesnuF{_tyElYI&__djxCqCc-d{vO79nKEb+Kf(jOKw(rI*m5 z3ZJmtW!hI6o|#i# zKe_kd@dF>Tm)ym;nbP&R>t=@;%$bMLgUF(fnvtxQZM>KsEV^QTb~TE6bh*ybt%i=i z%M|snTKLcf;AFArdKDn{!$O7dTBS82s&1z=<@BZSKbnqA+T)@owOES)03ZNKL_t)5 ziV6y=BA+n$Xw;(Q^9`Tx3W;J3hpNUP)~ayzX;Ty<2vH$j$O`*6>M{0Ul3?#u0ul7u zY)NK@@h`f}v-KA$I#qW!2n?J%=MW-J5pP?80U?Ho_R0CnUCF1%r^mxPXS?xlr&pVN z{qp%U8-oQib2?N-0!UH9iamY#VhG)X3?yfee4sI^xT}boKt%sP>fW^1k}bIoTPtE` zo^$W5`OQ5y*=!DwM3I&y3$g$~Fbr7wWW%3r1OBo4V#Bf^OHE2_HoKesrmA{Xb*FPO zcf|6C*m>&K8@gX}ked17J=CpR=Vb2OL&S;|YZyg{N>O4n{^egy>rJVUtHN(aeqR14Jr)|$?J3n01_SL+oE9cFPPf;f`w-G{Py^> ztK&a>=l-+f^2Nm`pr;<~r;FYE^!9MycS_xMJq-s(@Qhb{mJ8t9=Vk_F|}rHKmW=YA5Un5{@jh8oCBX-R-#16~m>ok3bbf6Ke+2brpUV_T* zIHd|Q0rU>1k_KvY03Vh-g)2MbG4f`OW!0-SZ`Kr&ax-)yQaG-&9AG!y2j99k{rLIv z$yKKWXlmw0NWO{`T{QGSlcMJmNG5tN9U#@C5u_cKJUY(Z51Cho5Yxf)V|;cQeZ{5e zy(iN@{b2XK3;y^@Ke>!g54t~b=bu+Y*C?ypaS)sQpT6_pA3VPICogaR?ThOVkIQ7d z_chXh;{06q{9rfzgZCc((W8sm`D*P;iol<|JT8$xxm>&Se2HV^WO#hOe|$b4Rvy>& zHGkAt2Tx6?d1`AU8t+Zhnz~%`<+A+y7kV_?-uT{GduP{{)Hm-jW|FIC!KItf>|pe zPv9<4Hhbhs6Vn6}I+4|=b1G6hs;tG4TMw;`5&vw65-p0|$6}Ac%NYCwt$hw9t`YFz z%`~!o;%}+T{crf{QYb}7O=HkTH??YZSMYth^g4*y8Xsy0hNSe@Ip(jvl;~^Uzy09- z?|r}?%W*ZcNWHqbE#IX40=%7&Wln7Zaa>miOzNTgXH)OGJS;R})o144{?@yXc9Y0m za~U1nH@8wT>Y1BKb}B2wy*VzxFQ*WX=LcSIYa(+EN@g^t?Opx2zFIh2g6HHrvn>V% zGLSZ^QA6gd;Cy4zyPXg+isn9&+(?u+7mlK2LUs*r0E#ORshiBNzTI)vB8QErr7S{g zijo`6$j5T4C_FRV+iX*}cz$zvb$fVtb#d>}#kbboqZiBhk=I!Js;U+gi6tdU<}T$S z*EYLmCg6&yYeYtyEE5?cgI?D)GI!IY1aj4;D7u~Y_1`yMinhf6@5oiQrRb&ot&z-C zmQ$XI8iLU!$vY^K1LNRWZv(0cnLw}$Cp%yPlUZrO*`N=7E}#^_W5m6A=VnWG2fOUt zZ8y2V+cmEb>$3x|)>u+Kb-m_`r9Zn}pX}%V;fL@3!8`ZY(5KhObqGG-?pF+CVDvcr z?Orv5v!;^-z_v5&Y;NbfdEfl|=z^olm` zrVoGd{N-m?`?Hy3WM*i;+ut6J=4kHc=X`Z}{o&7_e)qTD%gnV0h)lWjeAmu*etjKF z>Wp#}Y@ySVq)-AfU#lNq3Nx3_$}qQ{K*2B$Z)RW!$)wpEV?qq#n*hQR0FwyFgaqa6 z5QEJ?15N6s5k53PXrLRrSwh5WLb3r%pAkogEcdR4Oj^ zNGJM|SBbM}ZqAK9yCE)hR@!Dc@5rrjkYm>!rOwhltq3bhhsO}9C5Fb7nWgi1h!r}l zIv%4BSqKS%qj#qtKAis3%l_k6@#$^en|Ri~m<9k+ zrD-qLc(ulPv;XF;i{F2E_M=y~|MzECA0F17^TK_yp=tBxKi87^*%BoF$&-8k^4&+x z__Ft_(Es)H=I1x-ncF9a4rnqOaX#7osY%!a4ceJSN#<`rE^Vx+$-KF*UB!~0oaa8+ z`Agy|ba}b{`ot(hw@~U1oK+RDED{JJVq( z?*bpEU7;OqBjasdv~|v~8vvPLWQ9M~VIK_wTFG`f3ArFx^BR=#M9E?87qBR8Wf^UJ zNEJI2Amk+pjKT7@93kkC89Nmv?)s*7(DG4a6icMS zkvGKND&|N;gi;1GtLC;br9Qq{zWpHFh+i3$3hV9S_jd37);D(U$Lj?E!RzB9Y1gK{ zDSMnwaBjyxGbU@8v93K+gkX4h(Ij0j-N{r=?%#ZP@7S{s#S``8iqVNXZlSW?$#{7< zUN48{{#7^o#t59kE(b~WKnP9{T4eKN`;ZW3li~5MRqeN$d4|bk4jL*(Tb#D!k|Qoe zN`B(kg}w4v{x&KD%9) z(1YFd&%XKAAHDzZy!j{B$7K+yzbwX=mduNJH@U^HaMAv&T(v|p6{RUbnzLEk8>h+U z*2XbP8tfQ4Bvv7M>?dn(oA43{Osz%6XRmIa1ChC#8{H%*P>FDYsCMfL-_3eY1cKPu zjRP-ARn(A@i98vBorL)Z(My>^7yk0)?e`zu`&U1F?>i69e){ryiLV+=$N>{lDb!xv zNrAIlYhxPJMRMLvuU_3g{p97`yhlE`e_pSuj6_Au#?H`!De2|M+Sj;l25K$VIU)$fi9w|zo)Ju zBr}nXtRGqpyjyWbs~nL6q<~e)K$+1|0nedqUx2ma{LDu^eWOPMjA1QA4WCs}@Y6kP zOT7pL=B#GvO!y2luAvo#ab5GCL&@7Ejy;cJRgVT!P#~~Ex2a{7r&3sVJZpIOqW$=G zDG#Wg*)y7Z6%B}7k6azg5|?Y<^k`|lBaqesVRB_)6&ny40i-ck(R8%DU3wRf(!5Lc zh>n|x2Q&ZCyX|)$+n>IQ|Ma|nbfpJ7o__(-*Oh|Zii>P}(9K@aG4_p1=s&$W9#Y4a59jJJEkQ^t z(4eOT&2Fn(W%PwNi;}@*`{vDfWSW&Y+IFA7r14Jg$zj%Cng64gfr>Wh>U9n{>_Qlz5 zxjX`(u}g<_rD5Xmx8EcR1detoZ6bP;O`LdKS4!w|$HR+Rz>@vZZg<{%S$jm*9FP^o zW-LKz^s5x7{AM{4{JgL2SKa%d*7|so)6fvwv=wUqU-8C4!sY2-3UW6XXi1CJZ)7=?~%0Hf4ugG$(yk) zYwv`h!!Zn)8bK^;Op~4M=6#z2imbLsWn}cVd3)!b_a49fPBNc9d;Zyr7q`o;8GBD9 z1$P=0l-z9X{d91SLA}$<{deN}+9Qn@0vF!O9pBL z*#gDH_0n&8b#I|3t`=SFG&Mwwp(N4FM=o7_zby09QI`i()p$n~d9U{RD1tu+05*i1 zP%Q(jt+L|g0_JjCuq3b6{OPNkfBgQV|KlHgwx~-- zvg8mx{^+yFWV79FzJLF$*mMy0`)Td{=Rf_F#x}LS#&KESd;jq_zV%irKltVo03Ut$ zj61qpo7zWz`E;86?YAD>9*!lG*(ze!a_i5m}*37G8qV#ws!&Iac*#z(t$F;A-^2r5lhM`%v2 zj#beQI4s$L$Xuhq1_jK77G)q$>`_^0pq zAH2Q$(aZj$kB=W-#e#*G@#XPHm$yH;KD=1t@$570 zCgLXY8@u_B-@W+5$L9fjdR*7)>=2DOYu=C-)`k>8MI=zwO)IR~?R`q`(H*5RC<2*j zZo9b=n9S3YC8)1A&?f%#QQf_RfH0Y1C|Jr{J;tL^dF2 z5CjPqo6!u;QiYPS`oL%y3i(!>k~>aaN&txFsA#PjAI|NWEv{2|Ei-RMH|*!#04#WC5dSC zm&cn#xVMt7f*{hw$x1 zks%sk&iY(#ZIsnZFg&&uE+8+&)<<^o^LB zClEbBn6cLQ=%?cdw%s|SEz2rFqB|d)x8usQ*&^cQRW;<6c>Kt83USXI?62mwMr3HK z#{G&*0-d!F3uut1!nh_wWEUh7>IokOA)Lw~f2m#md83ih;QLG}r z4YOjk#a9u6Fk;QmS6RRE{>Q8b02dEK^Jcu5a`H-rNx}23a-=iyN4MtfrKr)ucutPLM36UUY3_ph8KFQV3GAEV-am zfzD&JN(e{-`Rq2L=l}e>AN;d#zV&KZo*&ljSH9|E7Md*>F*hUZCcuWt26q?`2qWgH zJ$rh2_3CD~YsY1M^!UNNn~ujt7)$kMfAQ>iSk5nY5wR@&gKxb3!8abSOJCNQC;#9Z zkB^7->C>0z=kqjqX8z*m&(6+v`~9>mE09J^ZUoko4Cm*rfyw+j2>_5O?%IBtb$jRr z&JzKP9`P0F1vc2G(y}TVY}(0#eN~m4>ia9sB_W%Qy|@oms^r#K1xX!*S%gHa0Dzfn z2BflPNE_%qZ0MyG8RrDuuWPQ6NOjP6Lqt% z|LpDilk?dU$2&zyL55l&a&q6iPa?C?%xxoCT65b?gg7;({Iy}R z?%bl`06pH}?b((X6A6HkZd@}=?u|Pu<16)4Pta1Zlckhx{7&2E(JB~Jo(R$g6A4Be zXMfFCC_@cUb>84KlSfAEgUX8$B?(;sQSN_aHn;Qrer^q_gIepFMGG=u_IAFTy|qlO z5o_jQiPW-2^uG2~0F#o1!f(&6Eg-HcSv^$9LQ-akl2?2tz#T6RYas7UDE`z|$7U;S zrasyb>Ljdq+kik$&e^O(5FJX6dCycWw6&{x>&x%E0xxR=Z84OyK{5$1WsR+>S+mi{ zVMKyHAbzX-npAKr!UNcfIU_DJqr3zt02w+5>*6;(VyUj7*JM>7K_N@LRj;S(-Am+} zh}6{Fs$QEcUe*$s%89?s44{NI1>xpVSsLXuYqmso$cq#^ zvW{8}U5Q4+G#%Hqs1!8rTI-RYyu3WAWVo@Jo6$GJHiLmEAF!T7sP=1**?11sCjm?H zt+P0H9Xil_dc5zK>$>Vr1NAl>MlU3&(q%$rRL3Ewom*u%3w?;}SspPb<-w7nf!H)6 zzcx5NChfSF(xb~N1&q)o0oJ{w6d`Z5x<~JlnWqF|H@Ug3(VN-5{ci2CDoAAHvUCd5 zJU#m6TTkA5a;5b@Uw!!e;%Yg>-^&lacmCG(led3*_ytI0X6DjEu>D*lNu5;D>VB=n zK;x?(={M-AZLodueX#1GB_+7Qmk9%>#y;ZRZ5J9F(jYLNVu|``m3*pr6(eYXsvwt{ zQ2S-mSWD!+xpisjLHdisp_yIG^WS^t{`ViAKR%mx?w9NO^4R-UnbOyqUCPX}X?k>a z_R*_X@H;k^UolddNu$$K(Iaypza(MKb8mEO#>rc2Y&6=CmJY?~LkhHS&MGLqygeM& zby<2BoL0bDBwiiz!Opy~mv=xPtm|UC!ITy7$A)!ibdHU|g;cT@^_Qdnw<-tBjND2( zC+d_U!9%rB=jEN_}1Is_{NjNVO`e_VqJseH@@{`S^L$i>$CHD zx0`Nn4j+H~*>}JDo|#p3(H)?zC)iu~9L1~d^w;#{Q-J>9{Ji(8b?Lh{8SrNA`x-qH zki;5lE+e?Hddx@6v4-f(icgt>ZB#9n!P|!8rb=QVF&fxR=t9YCQRo<24W}i?JJoM9 zE=R3vRUkx>;GvEV!c1-Bi`Tz$j{Kp8%ox4CHAlB$Vhu@rgJG-JFb5qln6P$*V2xa9 zEW6D#P%->cRI*8;lg0#@$w;NpL$OvQ!~mIuC}zDvB^K$})uE+l4;2$VD+DkaiLE;n zKGc&68=~YGkVUnst%07ILZtQ%DFgIlELXgDZvXtZ@BP7h{XaZC{>i7u53l25vU@YX zSgzdCfY%OU@1M=zJ>UKIz5P$FZ-03I{QLL!*FBydVqk$MFeQWmW$C+rHoA2Bs<@Dxq-(m&5j`jj@;N6D%&2BfL;<|}b%ja&g{bXTK zN&y2xOb)Ss4h1IQ1g`P4rI?{4uw`58m+B>AycsBX@+5T+y-t*?TEbF>!?PBN)uqT$tln(2%tn0F_YmYU0!jj{Laf&5A zulGFAsiaCZsH^mpDUJI+W;!s{&VrK|3MN{E(ph#SC)#F{0&KE#XLDAw%jmvxMaqp` za!<)DOjL7ZLV;$RX#fGjS%SA|n+tcrX&hCTLW_}N8aCE6jch14fzv^ZN`q=3Bzbw_ z0)R{dO0{1jH2be}RY&+BoYeg?>kUQ*w#Mks9a#n|Sxq+3=*EZu3pQzPuQgk~cuDBJ z-+TYbH^2WamkPYEq$?#ePVPb{2GNJ)K#G&K2h;L=Q4G`R^0+V{%|XFW9G-#V z#~rqJ3E#AXJ;+uL`#YmTWY0(Kh>{vRLbB26sjb7GfV;KC?#$ z-D$SDr%+Drr>T5CNX*_)h?y9f30>U3cyRvU!K3@_-t-sO&;R22v*Y=?d(xJh{5L=U z$&>xPcOE|e%MU+_3?zziWWh`+hXfzzyJO5dA@FbXRj+b3hTiD^A+V;NAA0TOJEx>I zv}-1+_q!?22qMS!%AvvidI3^S9#&l*!VG4-I`-S1FP8Ni=etJ!vglIE)a-n?-~IIE z?ZwPLc<0dv_s-tGx8F5idR#93vs}iG_G=D!0%n}8d~kn7GTk%Jc7FeCpQ&Syo?;3_ zYc{!?p%oZbrWr!7j+r|jYNRz1jLhR2w@W`P>(ZkcFXna(EnRg`%F$CVmwZrY9~1zS zNu{IIs!wZgK#4rbcP5AwHfQHbl96BzdQxaCrqQ#j@eAmQU%b5i-lMaB^*ir>=i%9( zJiqKI{;KG|kU?xD7qLP*tlk@#6>I`qtZ{m3+`6w5)wMPv86gyFdByCs$Y3XJ@-N)tIZ6VVSgVhwr}ov0 z*vg}BB<4}NH{8nl5VCK|;DcD|g)?C)h{c9Nd6sx65mkrgFr-|TR8JTht(jM{*g#II znyMBFY|h0pIP3>p$i}`=|Egt*M)`oeZfDTN~HAkM7MzQE<8A7Io za>)!aG@M(Gu6<;?(c-$H&iD2&esKTy-`)S{7q=f>_m6JEoe#e}4H!YklKSMJMtt{T z_j?b{ZX!Q9tnp^(U)L%>d8!z(0;{!V2FOi4{c zEWZj+G$b$q1`CstB=XMLa@tO6MFix{XbfW#*U%UM03ZNKL_t(1A2oikw?Dn=^F)m< z6fK8-soTgfJ9~7#e|T@7IlRuhv@Gk=*F*2OOFtaeb?H3Ji-&$B<9UYBWHRaeFr2kLAwnTEk{3{X2K}fa&Bx6E2ni*&g@0#VN00IDW?Fq z!%uu$AvPL=IZal*3I=4F6MYk7996$T^Rd?`e;11&!cm#6HZ2Y$Rz)9rUCEXK(MpN* zH#lx7f~jw8mOAr_w;H`?M0IoAWyWv7SxO2;=Z*ap z2Ji05+nfIKW_r@oQ4nLsRe8jW&$rVzZn4#dTa2lmTihTppa}LX$vR|mRrSDRQau5o zQxS?(Qol+AbUbh6Q3qem<(&-N&Oyt{V?e11$hMlxPkZzCq`;X7R|LE-F>*co|p6#TUhn0HWY`_tk zjt>v?aQkoHdHe@&KWb)goy|+;?Hbo>*MR%AVdJlhRA1}aYZIW+>@|b)D@G}m>x3qT3ptTkWO zb(-aq9goX@{?lK0vqz6F=6PDnb`3f%>u%S+|AY7c;>RCdUf%5X^P2tn^UL##y|cPf z3`03kdUHD6og2S)0)P?)Yx9E(L`K@^S=6Z%z)}0hR;(NYTaOeGagt1j$N zganx>lYJG$YQ@c=*J0{NZqD^!HrJ3t;0h=br6kf#MHNU@&twMzbeTz)H|x@)NMYq$ zp|v|nqXlHjRdR$=+ww|mHXxZ2RqT-Bk>@C#^^`UccMUBmxhZp+%qI)L-EB1C4V#Yzajs zI1$#t&jBJM{vLwXcB+ zx7^ue#nr4CHf?Q=ckwN3X*nyB)?n)Q$k>|cizgGA$G+~G@7$Op?lGb{C#M7kEpe)o z)}~k9Hanv^%vb?;PquN|K(LBeCKCV`VWryuAAQ4u(WORo7iqr12&0|3h!-Lux6;fV zOi%;NklQ(Jz|cY7_(Qb_eLMIv6Wrp@-`oU%&Ft0EKe|3nX0Q9fi(Zq_dqm3kMiMhp zDxqgame)ba9f9Ozc6IE3@#5wOZ(SG}Uv}6jVa=z>*TZ4k=%tjIw`Q+yZ?BHat~FMh zBSaTf^=+n#w@;cZtY|}_j4pGV+&8u4U-s0eg#B;o8ljb_Dw%dIpB=NOxo=JX8#Gv5 zzX=hU=;h%k2r3(ao(RPXM51S86{V2FBQljllzVRwTm=0H-g@Lf($0<_SmPXm2h@S4bI6vx_$bW*Drr^ z^ZZ-idHBvd_m|7A+srj*Oo2F9=j;%a>BiPZE0DJK=9-BWmib>NP5Uo=Dak>nx`Uu= ziEPII^@s0C`01;|pI#mIlN+%sTcta1?sG3Or1NIK`*>ST+uS}?uh!I)v-#n!Md;NU zpB@(M+g;hNG?x3(xTqVl(as_zJ-s;&^52~sE(x3pv@C_9mj0@X(wh0`?Ck9NIwI^V zI%)(JqU0<|Y(q$jsG8XNI+rcZ896$h6Uxlvu`j(xXz9@-Q{^955Z@@wRuB1Eqle#? zVM&LJ#}1<=uk&yS$qxMj4P1ZV{8`fWrUXvd}FRePd8fq(M?k;TNxN8|{Dj z-4FizZ@;xH`O(c`HoIs%WcIXpbF{x?AWu1$PDlvrlgT1Bh=99&`su5~?Q(wa9Fay| z+}mr5Q+mWaPv80OJAd($kFPEd)9iiiuhyI6(w{wj^@AUNvrX3f(AYm7`}x`Y-QW7) z&;RVh!{Io!_War9#l`-~ll!?2H!~7O-myOV{PpW604Qp1(593rjv*^;!vUCRYn~+# zuQ$+=y4C3uB&Br;lo?ZyDJ2EqN+?ReNI;g`PYGw5Qs^Lx(Vhs9ToP?S^2!dZd5rNQ za;VQzOqx=>?IC92OVg%vUK-ljfgNn7LJ^r(u{mMMfJy4kt=7>yyp5U$w^+)J39gVt zO4&8fzMpJa63y6+8AEEYLoI==S5726Bt%vN)sp2+#!k9mv}0&p)H837*+G{6De?e# zk`dNu?#7&jGcz8$;5Op%c-hiT$pSBb$ zk(0>zY~DA&T@#~3AkrrC)I()M&isulz=R&T99Zw5?{0Q|SbC3=(%XBLaK=6@spuma zg1?6Uwo_RI4OR+;l(B7nlv|=xZI_kpRZRcI$g0BC)Aq?b$l_o;a0EXznR)ZpOiN#1 zUd7e5wPtH{CCtp|W@=JrN%PrjH;w_;z6PsKK!xGd=~%@LL_(%6M2>9N;IEeT`StbV z*=h7*tQrJN;3SHeTzDd=twNlw5Aehl1gVUkRh{#B9Zf?=zzf|YNIGVNjt<^PXwuf!A%U5OdqD3hf}x?KQdj@5D8lxIRAtb-hMU+Y3K<@BSbB{(D6p z$&-lR>G!uMJt3?;b=9+DJ2y7ng8GG-c-HmdvDeXo^WB#e$KU)4fyZY3<)IxGHM{$p z%n~BvdT)x^0a#bNS$*l*OutmoV0^2TU#3c1`(UOb!rbnk@AlKs0})jXIpwK$s^6t* zWn(!+M)uH}J$i=V2AY|>*XguHceNHw;}z`P2;TNm0X2a)J@}C(r~aD@n(UoHPoYUhZJ5N`=?ijKY07z|M=VQ{{CAJuW#2sySn*zmzR&G z>8;)L*!^B>2Hs|d27dd+$vqIM0-MO@K1TO-)G&s0Ij#f?1Tpt{*EUgM09e+3|KZv9 zfBXHvQZ(g)`dnDMIn+ZVUS2y8W5%|)khTtxG2Uo z!4xCf6E;P*G<0aHt{UdrgXTT7+%iVrI;*Agu%fRb(a6a?iAe2eoY`BsBO=#;Q2qnp z@DoaufMY4I0YFAcqOhV&Bj{*UU)3|sGaxp!icw8A!OR#M%pQy^%?&3%YIHOgoi|6V z$r4?m!5rv{9_#4QggMqwb|hG0?+$Cm*6f13aN}eRx|mI_my?0CfE&!%IJ7?oaXW${ zoJT2n(Y^z zh2mG(z&pPH2&qPzQwxoxA=8XBqmxVRUd9vfRCB)C@@DCgb!=U*H5Ey&$0Z}pypZe= zvWW2GCQQHz?5dyb%_Uy}Z|$C_@R7Aw%1KcJ55EI#zAo`@A5m!ihC`exhb*7ZN!i^e zoC?DOUTIzl1(pam!v^=(a^ObAA%L<*ITb+1qmNNNF&wb9rCBl!T~uUPY0{dC-)m;V zDtali0221bxuM)rcqe=u-<5D+KhsPeqb+48qG2tbnt?_Gn=F9lR%PZOJjn)@f`g$u zn3m9Hfl$^TBb*w~u_+OVRI1$42AS*5sN3n-vy;;p08ntE@$W(p0IR{|bbJFK>5-{W zsRMC?v5Sg1MySNgQ!pYer_0ckr{n^^1VLu`UTtR1XNBtN%DLyE$t?g4(=z zxAi3|Gne$EY>BQ!=U}1504d%;4o3Cr*Sq2J;jsPG+*oa6N|~F(1httLm~W432o1yi zBOu7ci0qTRwuG88$K%qYJ1rxlSx2rt((rgbe|mWNv%`xI-g|iO{`~6GLtk^6-CKiG z#_6cJg9b&C$gC1j9pKx&N^WqoDyX0G(AwJ8-^iTcv@z-nKPR+A^vGAY>@R5j4HV~> zJdE!Af9$_}^Kak$$78Sl+`oUlD7XPiZ+tIP49TpYx7;|zu3R{?5eT}Gozi_5C8zF+uLQgpTG5;cQW$! zc8N$Q+pZDlnN?4ir^($eFK?gz*~d4xx6OGtEcYK?Jb7|IdS)sTWbVvTn?cN-$z?h2 z{;!$96@9`(`UuPrc4`B;O^x^Bn=sPjuldE zzzQHk6WPiEPIY*zM>b2Bx>-hg%Bdyu7$LaO4N_t$3mBj|N%jqPm7yBYB8phBiP$@a zrW?UBjjz{SL1D*ksuu?utPy6)HLLC2v~w2g)_`hUr%HdrXjF{hDRy!iXlZnX9hT#g z*^Edz;U;qn^ue$Rb+RJ`YneuwY$hi+gXU)YU0Fb3Pt%;|vxT%eo!Ysf<oJfeKq^UJu z*9av`NrM@%1R77{^hQ8WfYtD{#pv9W_DwKiDFO;fpaFg87LO|>C(dR!%2Hm86ktZR z;o_9hAsmHUEh6h-YM7FDf1v>h!JI3X@{%|(Uv*8 z3d0;u1_B*((>xr7YKPtG9u&Y;nj2b8tBl<5nA zdLM?e&A_P{Zu={o0#*vFI(hX*0I*WnOhjnYwfwU0ZH7aC_0vye_T=IH)(Bz0^Q)r+ z*txrn0DEx_PGVl&St!F5Wpz?)<3ALmRZ0!_`ZI z8_r8EY49}%-Xx$Wl8VF{yzN-9u8E#l^|}Ul`i8$|*ef9uvzI$kSo5)~G*eHe_Pa^o z8n@Zgy~~&>FjyQXvBcp>l)^-9_Zb3}k$nk>HckKW@JSLLcKzA19%W_x2?7yCI+kdf3#V^f7d)yRs!PUxKE-}QGo%d=*Hp})L5oHzT|KX~u&zx&{=v)$91V*@^2*8k_#Wg{Q7R=3=x&({8YSudJD znEY{@-fnZ49kR&pppZ7&P){#tjhx6CcQ+dW=%I&?E?zvpJRVoGq2r7@yF>vs>)QL; zX|~%9x8uy{ktAF5d72J~^)G+^^s{GILQaz(k8yGD{QKX3f10eXnNnnCa^6G{KfkkY zfBI`A005MP&%3k3@itVa`RBhPy>=fFCml0XY$L0->tq;&4D}vD`D}-R5DQB!A?Q@~ zBfbVyRA!N80jx>`i_^*N*mp9)0mQBFd27~1DX<(v!^xLSqm2oc1Dw-p&q)pT2}p)2ypOT zxOPby@>n8WJyHhITf(F+9J?mNZ$F;D|8V~ESL=_SEkD2Njd--P>1%7L*Am!M4;{D3 zEh5E+>5sP^$^a&_E!2RD+!c_cM+Wpo;zI%bj^Zv0dBeVX7woj@)vWIr_F;E2h$^1~Z&Csl;e*+J(YOvqrG|ZQ z^wn&lwQ5_Cq7MyENRb(%#j*_7ht?K0lF#cL<}QY`-OP|WQjOS9Wl2;|bW^M@!70aP z0suEmZZoMwx&ml`hT%sQ&&(Y&ID?BJt*ihTE!{GzJ;&imcbVv5Qf91)9-y59N>(`s z9dsL|oXTN*BUqP|=V;cpk%LXcIRL;YF%KRE0l{ImvE>^elQ)=n_jUXRUi|;5d$VTC zj_f?_`_{_6&pEdy3=Qz9Ii#?{ijb+09~^#g_{k6c)qZg>!j`QF*%aCA2|#12 zsym#$GuQh3u=3nn01D{pX0r)pAgV5Iona5TGuQA9^O?oPwmvDFsMdUaF}>#Eg#D@d zoT8*i5DD%2dVnhcz}JRteD<>s^H22sci)QhSk2#leD%r8o6LYs7l#SLdo|P6rAJ{@ zU30gdkttNy)Xac^$S+Z3{(ys1Akgp-!V%NU2^BTPP%p(SGoTZrXf0FslI0EtArkup z5LY#%5N;1V^godLW%(g8iBK50y5Gd55K(SAQ9j{39+vaI?_)~kO_Lqq9!Wm8I(@odkIZIoygmFQkBa`AP}-u?WYffrax$@dnznt~n}@$*_U5(o3)JV!1Dheq(Gf^h8%lwz`KKUPi^6tO<&XW&swqLxsd(!Nqz5n%# zmn(T{GcYEwkc(MLJ@XfL`!Be^<=bCeT^-!_%&%KCi`Fb;zEabu;_}sTee~#fbGwyh zi8mwdAvng2Z3G}9GbYkNaI^KWDD|5UpMUh5&-Zg*SBLreZajVV_$Pn*{?fSZy_t>7 zZ3GgemDuB#Dx>!m!+%%;0Hng$4$I+gyDI>OUYP+&*nGmk1_T2E7}MO)qx2z!)M6&X zwu?gZ9Es5<*s?Zli7t>D0nd3;0R(thn)SHtdZ&~Ts#G)KHB&~RVr9Yx;2mYewX7~; zq*l-;9jb(}EUP3-V3cqy%)(?D_@e1YVL&}XCN?tzcA$3&7GN_h&H7;9fv9KAWrlx~Q@F1FHLOxwqxVQGM9d%Q_{kHr<4dw(o9B{r(S^DK$i5eGEPDfOp1YF+#=TnKYe@s z(`U=ipZEXg)BR`9`|9@2k#9gl0xl8i+m4T9B7w9^@!+8d&bb{v1kge=H=p8PUwsk< zbnqxVwJ)ImQ3>${E>sZKMw$|Uu}p1XED%s-0CNqKz_Rmk!D(rsk~XAKX`0ZV3!8Lu zc>$p40?-2!1~N|0v0J@5flYdMu`B0GXptbxL}r+`by=_0cC|Fly2~_IiBt@nM^_Gz zG?GDH);v{J{{Gy*+z`0`fhLJ5jEiY(UDqu}L-{CGPX+?k#KGJNm;!2(`8>nF0A*OH zL!(pmwy!}Okv7_+zn;9*m(@Jv9ChzOaf z)X$>sCb1Y7<9VjruiMoOerW5~U;O;zN2kNvkFWY|KX`k5SZ}s{O{<3LSD(ZBdUFYu z${a;XVN~Jx(nQlYtC0Nu*K1b4ilxR2;soOkjc- z0xpu_Wj0#HqR@={{~*WzYJOhIOeukOTKu*%r9wdnOr#eXS9w_4wv9}f&0d@e0*TB* z(pHh4Y)k9=n2B*I{_}_1OS{8&t^`0%l8@gy{>M)~`uyjgeeVU= z7%QI+08eQCGqWO z3f3NR^l@srHVQWFW54ps%DFQ^%VXOXYv<90+|P(H#Xe!U!XqTFBWhcfoD%YKyimP)$h3JD-7^4M&o zwoo&ePHrgMy9&iv`koS0ZPB;{(~`1y39PQ2UheV9?e?Q5hyVGf-~HF`Jv)#1 ze?Prm%-&wwFV5%x^TqY6(f_N%$bsvI}Y>Th~^YpAUZZ+4ajCU;TL1`W~_Cz4xB|;78w~ z>AdZQVcC1$?E}!kOL0M8H+}!12>^i1aPz}@JntJGe3%|~=&B_~A|o%ZJ-VzV5tjRLv>*m%hT~u8cGiMH69DNAI?Cb&vl&2AdNNNkMj#Bnr+$wD> zR#stnQ0mA)79=98S;`>IOW80)1-!rm2{?qRLK05i_1q;G2Xt^)C2}JQf+<*Pu%@n+ za|}V4p%K2Ai;HnN=xVXY=4~}bu0(S)r_Lx$cA0)9qWU5&FhE-_4lINcHrrvvjirIc zRI}s4rzh^4Z=qcB_M8BHK!U#!m1dRSAp8Q+d?>}p zT(^DM$JU4WfRnr1$N_NQsi}yoOV$6?xF4^yXiEqv#ljJWB;YJr<7(F9QoRut$2$9- zW>fwB@=+I@^{H{K)|Jb%g!Xe`*=9>n5r}(Gq7!aRYLqq$L@=z`)OSwvtS=EazJ0?u&7Pd7GfH4JILi^b%n|^6 z=_adunUo2vCBQk~4+HiQdxV*lb>`Q6HGFMxw}1TWPapsDQ#-YB?$54HJ>tCYSIg=p z?ePUyD4(MBl5-VCa~laQSj|5B22$O5uEgJ zTzF|xsbPiW($-Gyk6{>yky+(jT!1aSa#+kfBttLZRfY&eeX$Y=)F9daQ{IB+u}=W+qQl1 z!HZ8mdXdV*X;JEY+t+pd;ZNUr_njwW#ChumI<1H9wsGzmLMuZ8e5EUV`QJZ40sts8 zT3c4>c5DkDK9fQPPfC=*&=O`MkTIk(_!0^A%t(g>lM*2&YFVYIF$sN@E&xV1-y%8W z3lDBD0XP$kt`X{>#37MbjUrspt74ihn;~^v+>HGq51xfms!TL8VMb3zbs6L$EJ6`k ziy5VSU<)b}tqhNZUb1$CB9Goc&m0wl_lsa{W^I3yeK2t))|zo8PmQOQA1?b>LX(D=ZZ301su>-ea39dkE};1fj?-wauo94+ zjnm1;2B`UUF~67V+8$pWA03v%(g0nb_ic~Gy%>QI*2O_9V~0>iW+sqT>NJ$f)GI<& zU$cQOa zjU4|0m!$%K7-vB-ff1?9N^17VJra?sh7st%U2q7N7&jrOEl%TdSbWtOWAw~{duD`j zqRxzydzOhV^h5xmQaXpty4NMF$qU_Fudmg9!!WZk?sjd5Wfib4{%Bq9`j8%uDwS@n zAe^VQWd_M6_A;yyCrnILNuh+yT-PPSBGYSEJ+8m{<*%QA^7&hj9)JJYTYqx=@um!= zsfF}nyWZ}uZ^nzhu&75g_C7`SN>e($jUdhbuaMsf0w zIrdBkesXn6aO6L12L5A@no*ZHcM6fdX~vRFb0Lnc-Sr0%D*%9ih4%dJd>+Hi@4Hw6 zWH|RO2Qw89 z^YZptFow#xoW$CA+c{=`P+M0x4|Y%aRbH~(ys#1OP0|zCLLXgkDgD)tp8ZchdH>mA z`S@=C>}5F&@?`#BZg2nN%bR!Cb;PySXk&z^w6@RNcyY5|@8iA2A2++*?nOCg@s9}$7B=t?k^n$ZMjTqp z9D5G8c9{w&hhGH7hydL)L^HBUoflB9A=QUQ;32S6T4`q`XjZ;i@R_FuBjN}Y|t6!v;tlh#E7hWh{i8$lZE~w2m z6TOc!?YwmtfI7B%hB7szJ#q}~BYNbB2x%9NnG3BbOJ7X@bYWctrg4XeNW?`b zO#l-M=#8!927zWcn5{IKio~ySq`jmu2{gm9a5db!bqJ)h!_70HG()5tTB?~H3?VJ9 zbcTeW1&SwcK$aWWv=;*#W|4pZ8ChKYN$N$3pL$i3z9hmi`>am*CD@-8YokvzAil*Z zz(Yluvp-go7+()beRyvqVvjMhHK$=xM2R6q5ID_!)dfvAY$?Scxyl0!XnrVK-~2bSsOjNI0gY&1L~;^jKm-!u#bYYO=a=LusUJ7 zFl;T0n3%|7zXViHUcb|{QkoyP*srqFRwbUDmgjfdh+Hn9o4$paGL^{VVI8S$jArIg zL_%<<+ccLf+lQ`5!Q9;q30PY5z4y;wy!`aD=Rf=P2d8y?d^jA}gRjeBS=u&U-kwKe zGrBohRXVh0`xtK4%v$pc4bsgmGt2z&{>iKJ?$V!KojxC9i+^G^a7yQhpPr6yuj}(Z zzSYtH9A7-fH=juYkf6WbD;eH z7kWaK$*7V|2^G(k9|19NP@}|yZ|KAMc?13#q2J!R_heb z!ITz56lrnd{%1rq|3e1w$!$N6{EK%U{rexi^UvRT^m32Ce{q-hQlOmK`lI4lzS(Hx z^D%a%^PcV`8%zUANJiNMCuc&pBeuPdV_TP5Z8Bq9y!Y^KZfc8L<7c0~c=_V?cv_FA z!_z0nwlsGW@!2OYKK%9P=iA*^Tb9;GkoNT1<9FYC`s~S7WS;LfmC_n5fxE4L^8Ebq z%}(KmSIrH#y+>;C`7BCko%i0;f0zUSRqvA@ms9k+$Xsa>tek!-;WV?5mx%^d_=RGe zCY1C6Njwrtb(GCjp`=^`wgLtRdSdI4;;pyZx_X=~Ga+mliS))8Tq4J%<)Q!*%`Jp- zE(hRX=~9)nvX_R2giHO^oG@?(O<8-GF^y9&Ggzk~q+C@}Qc@$CAtRignQZLR80jlV z$fSkr0V2DIKy%2MQVgjn&C1~2$wgeod4zF>=TnPJc? zVO&LaM59FpQd1)5m6t3Y6 z3A!z4+nhROFN0w8)gCE^S^(>WC13)rMobiH3a-tcNP{!W#MU3;gyQ8@s z+p;VZ`!TUAm(?so8Hf>Mj1d}{kD1{ah{3Ib)$2Ag5GX>kb5kp`!+nI^!Unw`~z!~n}5U}`{I zBHyA^l*2reGH;E65NIH60y#1vsChNMzg{=*TQC;h%jgxFrG(*q zjDZOdfBmTYQ?}ruxmn~i(lIM}**6-t_+jK{fB*66(bZc|uKIaDwB_p1Z?|zQ**iY) ztpQk}VnTE%rcB2)n)6bQM|0nMx7YH92o$f5RrX^mx)+Patlo2v?2#k#-f|q5w1Rp- zOpYwhe~}R26jOBSoc(&skP<g6p`nF@_QCu%5TQx&Y>EX3-S{ z9TuikA!|!gi^Q@nOY^ZukGzZh=K3bW0A3xMd!w7XfoOiu-%}_v)fTKvGa6DswCV*` zS&v`Hyrnz`-ddI)ACLd}_HKOzF#Jaz0?wHyvmc(0cO$;-;GZuJKBU0E)6o3$%jFQ5 zSu4?-S~TyI3&CUp&N1$81^{=jol*CImrA_rvl2t978#ApV$IuP1ZlJaE++W=-0$x8 z=H42&kz>c98K&@E8Cq+G^YbVw$;TdZam&ba0t*Xwg!|AxAt;HEUT*PX@9!L!|Mj1L z|KEJ?*?GjTuD7Y0aeup|UHRT&{q?@bH?Evty8b110nSah;G>pE1BeWq_wne^-d+6j z+wsY5Kdi0!>dwfF%=f$wjpjHTuyKQ{>;{4Ie^NTJ1+2i*9(Qo#+-eMkR@wGc`s(u51 zzyttA2sXc3jyKyKGaD^XW;;|7R6`o{)kKla7+DDGtZu5M6v}hQ&8>Fj(Lh*QLW%IA zU>?ZhJGQQVb!zKk=UcqIP6<;3s|xC*3YH_LqZylH>zR^S3-IJvn`y{#5%P~|XOe&! z%_bb8u2d1&3*t5{5Kuz?NYDik?xflICeK@pf}5sRP@sEl6oIKJV`W#JS>pTC_9#MQ zfhCO`p+2y*HMJ9ivLtO1IwdKHRuehR#J%U+SN`@}W`?I%EZN2EN-xP%u~?5p21b{X z4mbg$nO!v`>X?8E=Ln=i2or%ZN;O;nC5-_(LV3)IvR-T|Kc{jZwn&c-{_=*OZCZfu zUGdNV?9uzj>;L=1^PScXE?<;d(Jbd9vtrQKAQ>uH=jACZhPWHX$geKo6%;@6s@Z?j zyq$S@g@*Y`IkKXpi=c*AH=lKMNEsA{Fq(r#b2Eo|$)1Cfno+|j(zy#G;6oO2_ ziWi#t{r1>@>{00UJs&1~kupGp6vZ~wMa zC;Yg?)<5{0UmgDPPmb%-xBmEe9C0_4O(xNO^1h*|8c>s;}T2UwD2K}P-aJp|~@`bvD|wNjWJHsuj#0Fiul zI=tM+h_M>z=Bsb#zBD&*@1wb$*0skl(%dt0L_%EM19=_+%~DrG0X^rlRL?t%i@D^| zlBuQHy0lt&-KOnWg*fKcV-&~2ioOF%IG9OE#BD5hvHF+SdEJco?qU7qw(Xh!R84@C zM&@5We$>e8-`Y6)77cwB>H0gp`>VrhMUA^s`d4?-+OI3QO%z^M z-mH0B&CE#hvhirol+ul3MBh`iM3EA)MW%3QqRQ-bc4a5x=>n5pj6G~bb(%BN&K;{w z6=Rg57c``o=kanM?_C}K`yagjZ@%~Js`;;8-fbbwssHLJ2!i8b+j^7XB7}RytC% z09lX=)~A>P7sjb$-?JlEw;X;Q174K&l1{hCNMlH2M0L)3;(ElR4J+A>JRWRx+}?=6 zk?6?|Rz)?5K9o6Yq9h$$ps;pArpdjDiim{VRDw8|8GnE-_<$nhsSt<8lD0Mrw+3^8 zJJy!VYHjiJ7%4oz8>g$at$1hMbBxb;+GGu1&H;>g=DPcug3N==|3tK_XDqMD6y~Q1 z82aLOyzXW7cT4~{E;L9M3wohVn3`SeI!GEDsbTZOT~3)<7&)B@DmG@H9^e#djWW+t z>Tk_rKEQ+mlfhogZC>#D2AG-Css>_y5y6>^)mdkqWepj`LfqxdgyrPI-;x4- zXvygE`G!HM(p|v~hjxF!03aGBi(VD>xN&j#?2X8n0^Lc_B%|O~Y+bol!y*{DxHSVK z%dOjpAVOLoHCQ5JiZYcV;sUEQHk4tsDHjE$Tp+C4d-npYg=?~ewb`MrW*RG0BicpM z{*5l#A9pn8HuArGcB52le!ojA#bTbRNZP=?TEZ*gv;Z1LjEr2|jfTk(V_wwa-na{Z zb#3Ptw;%lMgP;86Puy%|K0Y2^+?}iGUxqIwg2FXDHM$!oE0-zBtbASEnB=NhC6UYMZ4Vz2eaLO{*`ZlW z-~?AY08Y?<0zs5Ma^V0Y=Te|)QIDZ};G9HeX#m{wnlC{WzjQyoaolG@ju<%H_BhxM zEr-_Lx;lLHVnk$f9uDn%-nV@`x;k1YQcG(jx6uuJd{~#}L&_LNTbdCI(8q|LQ6dt> ztV@>U4_LyUFf!a(Ov>iA6tIyP`^-NxMdGk5)?6did~sWv3q#&+&L>u+_v%SWJM^^q z_YdoTzPUTttKKbtym39o`%C-&@$j+)8UAY-g3PA+`0p`Z*Ia96TlUY-oAE++yU&L> z!JNGOzMkL9rXZnohhc8+=FRTO#6zM)Fr=xlLIiMg?n6mhYVs7#xMk+RY8=&Wo~f^J z=}<`|QLU$($Avv6>nk8hL%QC_%YD3mb@;0vzVol&d-nFReYW)vZnjI{|C(Jepabo# z);{jz@Mc%>p8op^1gPw2!~`5}>?1$BIUkp+fA)BN(a%4BaXuY$@w{ydY^m(3gdtqZVmXGw zF76E|&4?%%Odye4da#uYa*r7jA!Lb8v(jCh z`ao7v&W*k<3^1jv*g=3(xI(yQ2WRHxe~}p;j2)=%?v`oKsq7;Vu7PzJZ4}h zs!2L?Z^1cHEzJteQmob-BM!?li*cwp30)Y4R4D9KWhR%Dpw_>Ki&r^7l#8(y6#Rmr z5iTX2{KmlJ;k*;Fd9qo68`wzE6r6Z40d3*IEHBLYxTu@*@?ip;u#5CixrH_=Ev=lo zC`yf7isWl(qLU#ATD&$4+JFg-NU~H*!YYX_DO9E@0b?A5%)(`0UO34uT3y&nNIzXC z39~uPbm5bcSS}6lZ)5mBt7$s-i*qz)A&xKua!hTFFSPhyIT-?!WvEB2SeDkx44_i9 z#b-5)b4k0wHDS{t#4@ zR?^*k>aR_ag=(!}s%b+RBeJIyg5kKdm^Rf}5x&f-pSG71H!i{xm!j2-txAoMa$}Fu zp^$(*uuvm))8oZ9-aW1V{?Fe1SMNQ2c4(h({pT;wll}MgH#t)4Vpr~c+wsOzaV2lY z*fYzJ{&F#8!7$O#-1Z(He17}mcOLz#w+=U-od5RIa|7Rfb~>(xEZ?5_MkC$ru=t}# zM{~x=7cb8Hz9B{Tr%$hrhqm{~h`HdTBDD3q+4h&`@%%2%J*a%@_TwkZ4^J(Cmpwka z*(9{8auC+(uYiAQ{NWP-L8&+cGl=B9ndOzGVdV zCRbW#w1&R(`Cj-G^}uRe7h5`e*g3PH*NZze?jksap0Nu7Su$BdEVbn;K`TIZ z!=z@G2>b;Na_M0RNhVP_gXW@{Gbt|Oo5qf@hdW>%5sg!*(Hb+SNc;cg7H7Ps9N*J?Vr3^3pnmI)h~)g0d$ z0SS#LCbS69MKVQTAzSl7IWty4Sc^VHW|#qiki{hmF3%Mj;U6_Y_ODxEJ_S!7rU`g-ETgR{@8=$Vy}jgvx=6}b*6sz z#rND7^d@>uV^1CB&CIH(O(#BldH%tZQ!|T8fBCl#TWksY^zS~nx;j2O9mhUeGi+tR zU=b3+h{%Z#$#{?q$&2@TiR9HDZ?v_weeVL6MmKwL+n?WTB%2#qs2d588%Sf-@wsNY z(t*RdgS0VPk1XK75XMn^j!`zZ`H_745J%JAC%W(cGR=#o`+QrpLWrS~+8~yxQl8!+cp=MvRQb z8-aZc7$0377jJvtkukj!n;o$17%Fa^f}w%P@^6*Oa8%0G?6@u@+S1&3cRn}g()@Pc z30@r!Flt24Y^8!hYlJS&#g<&jz53g`B;$OSeIQG#9pecwj2Byfw6y=>$M61k z-+TMr)AHGQ|HaGmwA*=urFwk^@5o_eR3cV1-#10^S0OLD;0sQ$L-#q z-;K|2yD|^bcaQeoVSTdL;<(=Pdha*q7$cXeOb|$T;H$CKA3gy9ASp6VZ5TFlJHpSc7O001BWNklr~?h=FxeQ&a_FrVKuIZ< zXC4EviayL*2<9{vJ2pyVB8L2ArkYh&n61UQr<5>pumokY{Cy=vWlCZaTh9{8M*hds3owTT3wKfGt(Ew zoTvo9TK=yn(^x*EGs>)1V`yDls~Z0AvXRidwPo9P*+n;9m(o8;U=K-Hy=uaQD$EKq z>4NKlq->&6=)s;TCCh%T7^?`uqH5%-jDVsiQ8ZyUFRpFQ+yOZmbh8qBspm@aOANtF zHv%<@Fg3BJDl$rbq%Z{1MQQXKpV_)5n&p37^n4Q7BYv>-cUI>fxyT$&w0d4IK!|yP z1mwg;L=-yTR-zGT$V5-%z&^6HgF@P(@7isQz$~heS-oC zbTX8CN`$8f1}UMX&+Bw4Y!?v4vWy74>HzoG$2dm%D946x`_SdjinA+@%2&Yuue;}z zQW1T`x-7md%f5GOY|amF&M)@y&T-k^{16B~wEg<_`tui$o?O{JJ3GZ4kId#2s-LCe zeBNhQDui1J6GNp!3#gIlUU%%X>;2{3UId#U2D!K$8V&G106Ddu2M8bGBa%cUfHd|> z=r4lh^Kf4oJ@EdcxN5k*`wH!$+(>}5a;)=N47zjxriNuHp4`KME~vZ#jI3lJyA(0Y zg#Q4rd6kKlO^3!^@pogW_$&3y}v zh{!ZUTj;**kzq+01c!UU$r_q35{$MkOKaBL5`1}gM&@Zf^vvGl(dpo;M`VO3KD%0< zoGh@u+!p73v*a~H%Ddou$HRB_{a0ImYiWNpHt=o4$?Us_^?H1}bw9spylH;^mG^!1 zU0j-f^7+fV-k&UMNJUn;pQr*PULBX_4>mHG;mRyEIW7-FV#~3Q>{06cC9`7{*wVPC zs7xUO^un)~6e0k`fP6Lq@}YkX)E+nYX3a-j*hc>5wqGs$ci(^e-+uq?cdyp#ef<2z z-J6I0HFoKpr5)YgkO!>Pb;Q4TboI#nWsHa4114EAyrk){Hs445?6cdSynXfW-aY;w zpPv8blbiDx?>{}A4#f;D>jP!LY!c5hAG55&x9yhoB=HPVrSrBt<9BT<}^fMrUI49_Zp z5s!}a#I~aoBeXcP6p7666}zE=zFf!51imz(E(NrQDnE-nt!zdkztqd+>%*TpQd(L& z9M^rjb2YHsGC`oZ?K3maoDi@{fkJ{wcax_ClPxWS3Amv0@TdYO9RxhkVK75x#B^q8 zpa@k0S`h^;Mp~#8Yz(+^E<_R~iQ553nt3-%Dm0}UN_MQI6EZU4$&51ZGGIW$i8Sa9 z0aEvUnTJcMJTCsRz4iGPW`={2NMO^0$+<9j+xPo}F3i*qHaw3hos`5ja2~kLL~61b zC|hOVF)3;j*sy4}G*FPxf{&Mt8-q9BkJ z@)Ky1)zSl`6u>#!*DB_Hd&W0zQ~JseU;e!^Gi1(nU3wpt@5SU9{fY!BeaDEcn_BQ>Rox0YYc!$Be!vEEe|#V=Ek?K4xe6cTaR^ZkEFY;_lU*4 z6pdv(fDW9;cz%6*nB-s_ninQJT}N-3iVPYZmO>vRQ&g^NTbmc*DKSNhu>E@#MHXJ6LP$i|ts@yKguj0fF3;e|~j3M|{@%$=kvIah(CG_Algr^W;f0 zyZx^?0rD6r? zAKVn3_;(2XA3mNHm#BT?#U;=)KOf_Vhr^$qPIq}PB6#^UgB6720w!7)?~yr_| z|IVomV2^lyyWigSt&g56S>Bn*5F$9>fwb3Lmfw;9)M4;)G&3pGJl1c%%%ODS>2MtV zPLPZk6HqfU;qd0Vzo$}+At92GB0@#yf-p2vLs=@5Be=Lg5C}|Fvm0-qL{MGsmjuUg<2>BJh3Cq>|lpsk%4ArR7YVT5UG(- z6vx(JW_OWUbJwQFljCBMB0w-V5Lw82V&8IKV>{cnrxB0bb}4{C$S7KnNB0wfMIkn# z*=&XjPEA5gGi9Jl%sh`UvZqY&W@H$c+0>C_jHwGK0EzYB%av7+VsQmX$DvtwT_yTR z0ee^=63Da}Q&|8`S?>xTgVuMM!<&J&2ba*kYm1>F8BMQ$%<8t_fm$*y-WU3fKoe?FDs%mGu6C zX9uEUs>^GQ_jmeIiN|b+-dAM4j-Sf;A3^=_?RV~vJ@Ns>rwg)cZfy5Ja_ZHi1uzn; zLsHMz0~o#yqk1g&M^4hrs~-1TQE+4lFd%b=+%!noM%K>pJD)RgueyWAa-)pQLtDLU zB2+1W&9tsK8&xS+b*!e2GG?KWTl9}#p6~Wp-9g)(EBT$f+jT?;|37De;^0+i-&mWO%Su2r1BqT-8D-kW!oupHr0DibL4h2n%m(p-yEmiIGQseArm>Int*bK$X zZd1%GGbxy3YDr_ESE*&Cv>it}TaCHp`8Ynw#hk5LN{Fhv|AcFw=Jc<{-%xvVvRSKsb;*pkF0(D#@RzXRUc4epGu8$x+g zLu&^x7eeGU3XodrILBF6-v!%3v)g$KqY16oW&5T~lBq34GwQosE4!N325r+@bJe2V<%o8y97e7{?Ik2Ps$_Oz7$ zc$^Fv-rksgjF>Y2XgmJp#YG778=~m~47WvqZi8Em{KscEpFiCF^3nFqpP}^aS7l(RN&W}QAreG(R|-paAUgn=QV29TWM*<0(VC3f&jS%BU?0jduS=z5FtnD~aDKpxN_n>J6Q1 z=?D^9W}&&^sD&9*y%&kvi6xQ#Dn{-pA6BHo7Cf`c7MPqfADcgv+Ul{4f9D$&>APQ``Gb@Y+QYsfJF~ zAr-gLi<@bUE^w;ICD4VrLNl^=%`g4&OSGr`Tz`FeoLhG9zdCp1)BV9~o!ms?6{&#l z;Vueekx`2DUGejw)Ql+5O< zcDrFL1uG4j(LrW}yGhzlGhm<}LuNvv)0$_hwcM29!Pa(zPuSg56n<#rEa{jr(*ES^ z?6YzBfA@!9&$TAE?mu7@P?d)kTjReyKl@@c4(6Bb-bSK;iFj7bfEyFAJS^ zQ`^5>-*obWE>}mPE3vGbFApv92s5-$%P#4%Ff(_#8?)}U1HC@blQ(OjbuAn$K3HFn z%}@iK&-%2}r;wpy$|Z*AQMabZntFby+k(IRiSrhLqC4KPUS5A z>26!4=dJBq9cdf)*ECBHtySok56-{bYz~>nxWC3F!h-2*r=kF0aEs7amxo#UvxmFS zH})TH+CN`SRrr$I-KNtooRXgX-Bb%rQ`;Zg&D8dDyPh*5zufYV&qjCt%k}i~>Iliq z%&gq^#z^oW?|2ul*}E$M?6|1^;oIxlu>|DS`KRY&*ESi*&v!0$4iM~HHZ8Y2XRo0X zN;CIiJRGN*Fhlfbcg@T$ZvCnaMpq^!WP=YP(4a}_VHq;hrYBA%q|4HnYAy$h>J3|y zjRvN-1@okpE}fmQndtkUmilh?92J{nomw#oM6hRa3Q)+dr=DbQX%QUb_;O2_r+ z(4uxm!lvC0W@-S;5@RSp@HzkiS~>mtidXbE29NaqaTAQ1&Pkl%)pTv z!ENCno73E)l5<#7hD4dbWCLY%rloY8+a+~=KBTECBXl$As9amVPFdf(PaJa@K%s!K@n#BuRw?)iPUlG1N4=ap@#jxrh})F^)arl!r`4 zHx344r`7?W3O+Rb+W}Xp7tnL%H-Sme`ff>BX^lQ;aa>dIAa1E+2pEzyEE131w|d@cwv5#BAwO+P>+Ev_o@nFrU5O9-&qj59{7@Y#2)jYP>D**TZ^gCmb*f@Xo zX!qjly06il;WHl+7NHjT{s=$-P&1SY=JgcM4t3-HU;WW1fBf|P<)NMm{olc885z+! zB(r!a-a4k|1Syg)0f2}IH7%S>3%8XK$)=oY`{rtzYi^4rtrngGPxpJPt-9-dH}~DH zdbu)5LKEC=TZZ!?6UuZ$J;sY~>w*C?SS)v82`rBC;-nNpWJ9lXD-xMq^B@-p@AryS z?wSg9%u>S7O@I%kG7#sRZ*Pvrsckpqp`Yz%tKbseLp+Uv9=fIXgS^vX8iq_B$Hezt;#k%dzR@A$Eh@ zt=Bl;eLEz`bP5`7W=Ob$wBkyF*m-&gG%bFA=53i#(qXPz`rS$Pb{F=oQs^i=^pIpp z*lSG$h`zS!)0rv%zTKRcitL&BF&@jGLFyG5T*kn<1G@du6$D zCz3C&j}iI#gY92G+5FQ@`}#2dW8%{Xn+Mx6tmGcOd#W`Z=XQOlH&eZyW8ZRT{KdI{ zu`33AeR+6sGZ!;2Z+T4?-~l|5_cc{^dk+NYlhOYBuW$alUtNAO_+TV37@rK@b2b~d zKi!Rk(I^tXI2(7~VenSv$+x`cJvI<+XQo= zCJB|WpbEs~(d3p)niz&O6=p#?$hF$R{%nh63*|K%qa+gSiQHe!E$)ZbWP)Y`IXqal= z%-S%ow;>>fmS}33VP-?2ly0^eeN&9WSt)I4(d0x<(ioOeBDn-q?5FQU+y=|AaL~M? z_`EhSCs{E|t4bnD$k@I@%ik14p0&4RB&Zy$g+d z8jZVizz)uqb3xdzC8DJ^@VmBw-gV;p1LJ_33b^g8O5!a3OT|^_vgzvBcEn#j88&9~ z?>gH56^qD5`}5B(zId?xPcIMO?&s^d-qaW)TZ?2VPd9S+aE9)85G73x_F)@D91_{y%#~r6xnsG9uAZ z(}H4Hc8VX)!r?b{TgID_Acs)w3ZI^Bzr8+8a~p?p@nE~(Pj${(TPaRMr%NiZq4XRI zGQtc)8Tw{x>e$j}Q%iEEeNt;^MmX~wg4)$a_Jl&MP{o>JfuwOj67|kB- z#$$_rzCOM#==($1l;O0E`5*6wpKbH`T)(aLd29O?hs@8$;TLCTpN!*+*5ZAQQX(vr z4t4kmmWR&GQhK?c4|6;{AAhzRp0@neRG+`pi+$M)J=v~C)G{v#y_1xyvr(6HS zU3oH?5?|dMU*60MYxA3S%6rBA%s+SSJpq7(!T8x&e!6k*^18shvcx^F@psoVxGW7% z2HzNa8~4x8#z%t}QwZNq?T^kjfAMf5#q&em4!v5joNbL?*po!;i)p4CTcY*uw5lU1 zr6;Oq36hp2mOQI6TUszYri>zw&^X$l(x!TXl{9FB;VhAfRG)*t}gEj4~ncrBL<|JbsF`Q zW~9iJt)#33VdBsm4}>;Hj%6U|bf-z?PSUcuk#pA?v({IJF6GVWDdU=&=0xHc`ErgM zkui44y98iaV6enO?aJN`h@}gG==!GInj1{O zU}YhqX98@Ik+6;=FuHeMJQmW)!p^x&vWr%uFWr6B4Iqd}RPdp5Q*@SiF1(bcrgIZ< zOH}+0d!-h02eELQJ2(OSf4F4k_qWr9^kN-}4Y4r<5VD)#KTp`F{$<8KbQzi@0pDE3 zH*-AP`rkhGUmbs+JOV*;%i{Lg+2-+faPXh6kN?}(m-}NK$uBOpgIQwH$65VPur~lo z&XsgPVBy8+fAY!G2b&?F%c&{#QQrS@WnJx7To}_}>&w`mrRXhyR4Nw6Z^%$+Db*IK ze11LE$k8onbKxV?oMlTTx-=( z2BQqi&Mo!+H)HYQJ-yQFs!F9brRFK7T3g28?uKZcTObYGZZ`s2i-)_-!%f+aeqG0# z31j(K_gWGV&~;!We|~oMsFc4y9KM~KC3o(3$M7U{eeWWa(v&$x{A4ry;cok67(=*j zO9JqFA%BD)VJ1J^Y`uTvV2m6urx;ti*ko}#-5-`?0Ln~8tF7G3HYFVSI!uJS;{V65 zUp_lbPqxFV$%ngc{W@eTL+JY3#ogyp)597V^W^1Qm&oY6!#D{GXo(xxGkGE1)R-f$ zre@?PyW#1!{1;z7dblaScyci~A8y8!uBKLz|LN+mH2L1W*&o9Cxk4GCV`c%LjKgQ+ zcu+o{>s56~W29l3*aT`~-+EDs|Ksz07p_X+n>oMOPXF!MC!d_1?d$a%Z8MY(?KKq3b zmeSmiG&5RzQO=wcfJhYrz9zs=l9Xd3X!q!A53s@5gI%(?o*=9h1LPKU(LT1tnjROp+ zENC>sV$P{qF5q^Ui9&0d0UOMTCe+qkrk?BSvAn!@BX7+ctunZYA#|KEC9ARv(54)O zc}g)=hmeK|nkGz5=Gq9S*!W}}r`;kV5q3hL08l8A)-ohbwG%w1fRr+D^cES>Vi7u6 z=7lvonO5OFO#sV67EP_mikbH^s3H+-7m@)j;AWIUO+xLnNHxMJ5sIa`Da8zAN{PC# zq-CMk#>g}vGn=wyK+L2VgWEvNq1I3gVRZ01^I46Zlce|Ryt9xFiYM9H0Ej?$zoZ1p zY?0b*V1*{p$aB&RQ|aVDJoQn$!}@b5iV0G(B)sQ)mV^SA@bGq4-o1AGnAR_#ldl`G zC7fMBg3ki`if0YqRCcF7B_{@AYrG%_^7E&=ucrLfl>3&&ti}flCI49VoxZ*EO}(5{ zjK%TOhr6@EF6Z19d%7D&dxd^w^%)ksTPn#|Iy$au#1cJ!sJS0O<9tE+lb`rTW=5 z<3W+9*4~;+4LO7)TA=l2fJAoTVd9kKH^-s{fMqj&=dj-6Q+~iS$eAt1E5y!^1Iy?J zIyadbFAtN1GT5+nFWYIFBa?_O`qoSCg`{EGR3nm7W{b$^l-7()C#{s|s^A7>8oAq! zR_u6eyP-VVmGiMo8ZKuR*Q>4R-`NCFIfKt1T5FOF!oF2&p%%zvAKk28~N@sAJ9q z%1MLQu$PC}csm<0xV2ms@*Whn@O|@RrKG{$a0Cg!!9(P+W*xD@rE%)aT`KC`U$^yF z>*{~&1+7W$+o%BOg;fbBDdD*j-w~NG!@lNzZV$I*Fncr%|Nf^>H*SCN>BXk_yfTdimks;C7n}0M*1p_&O2>?shjw$Qg?!!nU$g!K z81SIw?OeRW-V*=>P>gPvx){V8cfaIlK?lm3p9JuzSg!e}b2kt*vKXIUoITs`j}e2p z0&YuX$px@GM~24HIwGYbLuzJpJtxQw z#iJw&x*D-96jvbRD4a8|XMt#mT9Juk>KJioF*QY|gJon1t2LXc$RJLpnzC4%Zr~J> zX=Y|L#{i{dG7yQZHR|k4bU_MNz|2kA9VssT&510dEzx{*MhHtKfMO(z(cFSaZ#jj{ zsaQuiVT6JJtPq*1EvAH^N63+{2LL@$*)nTr5bth`k?F-EG-aD39ZQdRS67SHTFa(H z!sw^OXUz-}Z*Y8{o-0Vv32UWJ1lAu~QJG0)c##*dbDSxeo~F*RyZYe4uuv!yAw(#f ztY*isWitqZV^=tq{uNyoJsGURQYYqXEh%T?p)+feJKE}Y&noKWeZZu zfo(wvB-9B^t00&mS{M3!RX6r+R_8fdqj7ZebYd_!H@d}OHmY}E-?AA3Y`CYka$25$ zkbUxQ$)S7v1O{qD1W-XEzpB^^UsYT+TqmwuCrDMH9y*LHT(aN*TIR7u&iN0s=BH)g zcNdYq&jhp{k@ACfh?AwV3U$fde9)lv`g}{a#LPS&hld-c)KYV_yC-?aq*F}vu=e{- z6pffOT3cr;-8nbjM)`y?TLTuU34owcflw&%?R7oQZQ~xax$r6R`1;Ul#PH*J|Ck$p z{xmO!ygJfG%Q@*x!8<~xCuWi&+!hv~zM&f6OO>Oy__Kpr7Z-RP&&2^+VryuHE_Us} zo)zkF=Y&$sHT^1KAsBqubChmTwP9-mXAI+LWnd0FgYe=wp~}!> z#3C2n+c#6WtWtEh&bQm|(_q%s3^GP5+ug{*!&C>_)AQ~5P~`S}@5rvMcBk#}V{Gjr zrLJ3Z+SASE-<9&KX~rTM0RbXw#1zpI?T&}jAGCjScJ}3F+!Wh4Ej@|E58x~sb2v$} z{1yTL^=fg;Ts=P#Dx@&%tJQ30V{A&lLTllNRt}9)I`8WXTJkzcy76+VRVc<(r}GiP zofo$yb97qpB^6rdTIf3{detQsP|hilu&>c_f%!>j(&O!TR!UR4zGgXJ`Q}$# ze{?>=4|z=A6##V3pNEBiupR!_m+e8h4gcP}^*0B`*7C1Gg>-gi9X{D^zdhVcsip0* zXBpM|MHarm4n$25APpjFMkE0XVr+mV+yXdc4g^gNh}MK6Ldg_lVl2E93x&A%w8xUq zY<(*#3(%;8MOv!Wh1aNs29l26M%|_GPNG2+lo~p23t3wusN?{HitM*kJ7mOQvN$Vm?g_-ges;Ptx$mn=Y zBF&1?33qB>MjByIOEnCc{WnUoHM1snri4flHgpL#xxpZbfozZwG)9VGL7!K*(cHpY zT3}8_W{ocAL2wZ|%ghRep*FRK&Gx?MlZebYa!5P9ZW1EXopWSsQA3Sni0maAO)clh z8VMuW!8edFX9l_y^gZ82AcUGpsD+MILt!A3)>b%>q->f1DikZb5Hl%gH@Le^b1qUz1i%Q*skwDkVq~fz0qoq|Se(Vsn~+GJsBA{%wfpnU zdA5B1{2J2Jfk>9k*G^=-BlP1I)UwXewdglte^S=kPd58#+}LejoQ*3dMn_U=zIy$SAhO_uK|uE(#cGOLc+IK({YYX@u1aW zpHUC?ht}GU>iuKMCF9(ifL5Z;5lj)05K)8%G@*%}QGuq#eP^PlnL zUCf?P5QWT;`kNB#b|m%PDH9>}bW%VOxIDItZL!<&yx)j$c-7h7c!p*o;Jd+xhlS*` zo4rMj#d{K=jKv2ZQxVx(#Mb_wci3_}?@bqUN88Qj)=;n+?~W}2j9?^>-IXE}n4q+I zv+b|sn-f9wzt}fnKmFv>|Hii=6=!Gx3eKs2y4>&Q)=BMzh5EJ_uWG!Q=2J&bN^W?% z-2xC<$V`#=&%Zo>uqlz~T{N@u=a0@l-EF4`BU|Ky&G29xuIGAe5zw=J=kRyXRLXMa z0#=rwA109d4yM;ajW>fy-r2J}!=s)KJbk2Z^(C0e81L{j_j@9ol-Q(sZZ|-g>c;(S zH(cySq@Eq7;~dvh%M`#{g8$Qn+~@j#xR}d(DgZULGyZhr|5NJK_VM@In=z4u7U^aW zw!3d{4onPX0g9gTy~~e=t_LNiLzLGHDUDu53YHkvTm5R!LC>9dp`mN4s>cv!DV<=M zvDCidPVa)aT5^iQLIo3nNDPhuB6Yqk3u$9wanrzF-|4-?gLT>m&TW0GfDM5ztkY=_ z4M>>*mP*k$I*NN5T->7<$U*i7*o93`$_iGbC?by04yi`eIYP>!V<-cYFh>S43ypH2 zr=zlS4gm!m&0x6?nD;JPs^_+d5L2MB1zd|hp3q?Dmx&u_e_wJ zmq2% zK3dMwTy@!Kh7<;jO>6Zx- zM1_BqjKER+rs4?fLoenmJ&BxcL%$#jjF=+( zi%R;^J%|Kpq{LK<%x72gp|(x&M$2NKGau}a)71FIx*-9 zBGMN&6Wt*apimOvvVC?%ye>M~r#_cCVegm(I!fryyL0--vN;L2|He&?&n`BD+rGYs zQj-XyAM(7_<9Vs0rDVm*Paj=ejKjD4{b6ok7Gu{PH8(FlZU?0ZE!6+kTldy3E@QD$ zHc(`*LeSW&>x23EwmjGj+hG_iUq;!_K6nyp!@CX7X@9{x?J=6TJ&DAkG+I?m7bhkp9It;3xj;7*}sz1i95wSe zHHzl+dtHBhyzAfXeNDj7K6O@jR@kKR`^UaiQ*3?s^h_^qjxA(n1C?E~bMdpdbVn+I zrI%G;1mF>A6U_{n7-n^DB8$wHOCm4WJ6bbfSlF5g05W+ek@m%bL|JP~wyq`$5Rh?> z90rb~w<`BEn$vt;b-Gt%X2lJL*0R|B%?ONoPA^k@fipdF139Dzn! z!E(3*q(a3Yvsn5A5r7MuaX8F#&EAqN>wSIwYdYN>04!xqO z%f)v0)w9dZ&aUQa&Jd_MiN2eQ97iqYq)U=1h7$} zEgc0&IZ0D*`7J?`CbYR-*N{*l2P)W7BRLq0TX7UKgBis>se*_xG-npbft|xT`EoX( z6z?4kDo90_C|WsGyNbenqah+{oenuq3xlkptF zWjp>|)SVfT75F4$sL@aIS-~UboHEi38!}gNp#To%K?1#lLIl1EUIhYn6*^=V2~CM` z@Bz&jW}=Uj%+th>YG|&tX4c5a9&phJl6Moz4v3fnce4*4Z31TH1GlH{??3ugBT#{l z_Wpk-Y{@7_=LlSOd{UA9^;m>H`!n2`9+Y$B^Q&o^WAXk6`@Gh(!|^ES$M^mL42~B1 zyKfz&oMv4PbV>8|5cEV4y!@}z$B};L$J4HOD`C#Hi=OK`wNTr=vKZYtepwIu;bxp7 zu8#FXJlD=h)N=E39yX<&msWC4mB(k>2iwhy%jZ{L9f#cy$kuxI{`r=FzwP*U z+DE*4DMU;JM`|7$8e?$=RS5J5o;MnU>3&B5!rV4xMIaC59Air>-4zVnZslJ@rTu79`p z1ONbTTK@5Fd{lgn#oPW~CV`k+T#REzetR_!JN2Z?vQcCzGZx_jS|*FZU{a4kZNd99 z9HNk5$fPdblD&UAIt6>A%zf4R>5T9xv-DyqiLy?^zWAme554sR=M->TEC{>@WpFG@}rSepoDE2&wDgxziR|E4maa15-fKiuDoc zK6lCl%&7q>$*L>4uW@K?q}6nV^>9$R04E#(RoqypzG;bG*_heYg;Q<|s@wolgUlQR z=FsRikfV3l695`4kqeT98B5!)NE6_Ixw*p{3$vumePU%KDh=sbC#l0yR2K0WaMBR!N^X^olT58l1%rE zym6lD&E?JJ^T$vxNG(Hj`@Y}z*>Pofz{t%wlxP6Xx5K33q`(n+mO3=KGNE4+)>>5# z=0!SpN({iHt@A252U2+q&6(;#k=Xzh={%E0I-Cw5lXNR)5?gD>Ip-QvWQSArn=-Qa zTUV@$V*g>^{ASlXZ&pfwFO4)SSdy&?qPUUli`xPQOoDV{Di2fr z_G)UOv3R9vw9i^S+aD%SZ=bRs)+D&$!KMrTzCH!FDY`f2=FQ&`@AozCe1xz3=k14o z;8Q`QQz<*tamwM`k7pj4A(cnl-NWtXIJfI#J+zo3S_Xq1Nqn!TzW8K`gjxu|#b!7k z%UC$l#^PRdHT$#U#sOy#OfRL)4_+g^h6gXcE^SUPZwml$rxZ}C^{xQ<{V|&nW_Aj?Za=@2V_-q= zscOEDl=PkUUK&sZFcLeno44QCcQXOVed92U7rQvLHhSr_hDu7-6A@Tq8q0NY?v8O4 zi?s068Y&YB7ppiY4v`Q079#x~K#C6H3PAyt?$hFK3LXh%h43`@x)8M^7*Jwg9!E9shpn0OeidZ-nmNh8v zw`w9lNkM>U31uFt4$b6<=$I4sFlnio84Ebj3eAm{OA6mb1#&=kU4ZQ2BMo%B4a%Kn z#$pJOpp=bDpx}G{}pA98-*(2wIoNr77Kdt^9s$YZFG`kIpv2eCD@m z-2Ive8hW9F6k4h!BsD>)3_Tu=oqnGHFh!15{^se9K)v7d70Jk$Qky`ejzfgo+#(=> zwaGj=c%hVNsV+yxL77No=h$u8i&xeWKH1a?Bq%TuT_QuBMWJ(s^ol?y)^52!wpn$c zL1=(W4PLzTXTV7#dMwy8b^UpZg{r)_5-h}OgF671igN%et@a1GGf>^ZQocSMlDU;( zP@L#8-eXG zZV$G@!_BZQR@{TOZ|J`f_1Vnm->e#%Q&SKlH8rPMB^hHg^ZBk6oUAzI*%+ z_l?jU0-oQny)BP^H*@ih>c?*;4gcG+ertn#_L6q$ntqpw0Mom4m5@ciEm^`VnS6qY zmA`4(zB?13<@a^{yS={xFsDAadsYuO%7D7R55KIOjQtCqP!OWh9CLz1lWHfT|s&k=1h>sQ0ZY40U$(6SkYiMz}(n-fm6K;qSp$k zo{}?bkxM7`DK77z5kO8h&Viw@%Y<~4(<%2MEZ|;&FlN$Hy`$O88R29xCi-1dfXI6V zOPi8uzkIy;&mM11&*dpsM#+|d1wCw8(JAVZJp<`>`}XC!VjkkHN>2o#7-QbZGvE~) zcOqI9$)aH60F`p9d`r+HyUSR?luBYSmB<_AO+?AMRrWen!7`@3z~qkFG-c9g5RzG<{4|>@IX#7hbzU!}vcEgo z)tX!8-10cb%``vUjSsfNvFXKraPVxWT)W3PMxo-Ncw9o$Q zFghSzKfiqXT1ziRm^lmaazB52HEZ?$G5V*qo?Rd6Z^`@rS7beL z6Hc3(9ox7m<$Rb&%*X#ys9ohpjIzoyk&(n%x*>)o%Mb?wWsDEdygAf9kPZWJ0V5d@mx5eSISe~jka&x#Xm7LDbcZvIc zCwqSY(6fw%OAGAx2LYWdGTi*h`Q~4)4v`oJf?`rqfCWNV3Nr(((_|Xu){upUq~^{8 zkann3jgU|yrbwqpLdZ;}F|s8a1JQeK*tw{wrQ^#I6w-l~OHMqSwwq4j5?fmB$K9%7 zB)CATjhrKIYESfP01Ft2RF}}DlpW~YYAS+`CLpnMD{d__Tb7Z7S=T-vWE{s9&BU#j zsL7=!l1uZhLSVom0?eA6YPzSS%5cEsWByIvt96Wikc&Y+4RnNm6^0WDhqG zGEX=>nUP^>OLq?zz9z0{rd8}FJ03_dhm#3nggMe-qF^@AAQs&A!@XuTQ?kb->-n$8=ALOdWUB>A}+c4-^=6A2REUJ!_3q1Q4$?K{#vCx z;kn463o0NgjX2VeyUisz%nZpEN~ooR(TgmZ46Z|$pis-0e!>dlko?TzXO^H3fTPz~ zc$)<1ETn@u5ur@M5P%zPD8sxLV=nGZX7q$DFwfiK>s>qTNk-!;MgD=dtmp!i>fFwd zz(P0kW1Z({B^?Az{p=_DxMf6{1}X%kn?Y>Ko8z%X$04bqOGF_vGqcmlbxKwcrPyXL z<&syvn~{3;D(|<_`{ond-vr?NU%3g`Y{sDsE#^cgbK}`|L-O)4O>^6fgOits>DO0B z34?njIock#yyQSQ<09i7z~4J5jayI3|5Sr z!qG@K^I=NAshopz5-B%1b#I_e;IO0{{7pw_rP=!!dz<5Xa;AR+$>x6MX~`Msl|O)h zpP0k>YKirYG{5!tMJ3(GgH~p zA8f{FH&cZBNHju5v_Lv~OI@OqsBvKxg<46g-brj)qgN?YDKx33a?Vgk^=FbT(L$ye za&Y?6Y|!1hm6pkb2uY%-mc`P&EWmXEt~?Q;ETuSOZ?rcYju9DdjL>dVV78KA!W`MU zx`3D+p$?ZKpmFVUB^(%>?rK0OuyjKX1JB1&Bi(x%*m_elqjSPb3+s^j=vY_(1u64Y zz@fXI(UPG~$km}cA($Y8s%|y>>{QcKgydM6Yt51Znz};365IFG2UFRbDAbjs0&swq zG9zK6dO2e|U^G;m7#i-erq15H7=cmw(#o^##n&$mems7<^M{2G%m2sTyYWP z*IFNA&b8Lw`&?ZYJ7v3KIgS$?6UA6SVgX7d!bO6>8xayb@q)w;;1?kH9S9^Oq=*Mz zcmkp*fMr3HICjd3tIAbARp++P+Iy}!$LOtnJoG-soa?st+IydKY*(G8s(t2~b6oo9 zqhH$PYhU9)oI9_oYUbR1;5gyDdAZa%e&O-(zwZ1QdF~BL)SUc8E9leWPB&Nl<%LHLRnF01+6S@i|vaP<5-mRhOim=)|grzy4n~{w}GY97|m$_KfQYX+2N2a zNg^S#Sf^EK4Oqh20;y=kvjSK{5wU~?l9bd6Cd)uKb7G3xa^FYiX0Ye`@TEC-y!X2| zt1jox?_T9))o9$mDHYI9wWL%AH@8O2m6S;UpPX;c#^JN8{Z#9ZFRwm*K0_GXW+MiB zuhz56U2Wi%ujKO-5h^B$SM%mzL$P_V!>HK!P|c&I$z_&O3eBC)EDoUvKBZkHr-?Oz zY@{+t$9>Cc)AshVs*-EX+MDuQI)RYz~Y%EDe6 zwQX=bmWpHT6(NA0nRZRVU$4A))4vqCuQ!+PZ}!Ap@5|6ivNXe|6$)sX_QwO8qgOm$ z;{`1`o_Nwcp6o}s%QVtU0aR}^bZ9D7#@AxL67O!Ah(dEVk7TC_(}^z9O{VVqV$bAW z9Q5lY1x%UOm6)Tv+yIcU5B=QP@OZFY&CP3t0C-RAM^Yfq#^IgBu4lE`i2wi~07*na zR8F0`vR9oe4Tx`zAsxtGcoiKmkS;1~R*y_JU+-KoMUKu{NN7XMii0399Ti~=aBP*^ z8?8#iz9dj*Nv&{_=ncWI5NfM%uU7h1O)GKHE6Wz3W(nv8WXxgCDN?CYTvfFO8t+qs zLNrntlZYTg3tc&KC}p>sGjcm{FKi0WN6cZPb07wAQ_3Myl@KEoY7C(aGBd#J1n8t2 z=mzs5Bq$P&GzsuT0JViOv-A36QOf*+*lT}{i5c9$eN zTUim3Rxmi7cD^ZN@u_61Ir6|6XTX&YGpJfWob{uc=T0Zy8TeM=TO-cR9=i;BUK^wK z!@^_Ilz6w`J;W~fh`oA-0CqTwfaXCz8Z27Iv(VI6sH@t_me6`#@4t1^?07d=8!=&%3_>R6e&7G)KPmWP5ftW&0s%w z_ST1=?f&TF=ldFNRx^jOyf@dg=T~28|6intL}3+dip`W|(r&E#p_H*~1wmnin-ZAi zyVIpsu^kNe{$HY(aN*3$OpV%6(7$@;-TSZ}ysZcOAI= zZR}vMS(!^wuvU7mdxF~O1b`Gm88{}S+<3+tp%3Z!=Zj0-uLC1b2Fybr_F)pT#p(As zEoH<=cjFt?*g%`06og>Qz&bW01vhTp_K|mb_a0yX^g^O~tJu>y@aj+b z;=Yw~4qR+TS?=rP98whom?=5TniW|k!38#+f5?=rsJzS)a|H-Y(ws@-9D*F!N=ddXp{ltHBozZ}6gi?#4)ZEvmhRtayq^DHh50`Z+1#kf0 zCw^(T!eDsvR#=&{rm&YToB5w8MlZHC7TV+OIgQzgc$hV|wN{6bls$Rp$vN;&rdv78 z^}8Q@QX|(&A~)C5S8Voi>lKXINTH34jD4L3bFj3!G}cWhC)066SP{9#g4dl+fRcog z%lc;M5H&UfKyFqe=Bi=9b|}xS<_R&jo$SGPbo4a?3?sRV{J}nc{@kyEZ(bAkr&i1u zk>+LGZ0a;MI)p~bHm7RL#r+rFf9uod`+Z~m1Xn}xIVri1(q<<17^`ez3mOj_+#uA90p z>qWr3v!?&A#W&1NCaG2Q0oG0T&SwNp2w1T^;BCkM?PlMC34abkat4P7?W89`lhp>g zC57&W-}&(J!$W;*Q_hNS2iv$6x5nJqQ0oz@iBPuksdH#<6>s{^+G@k=*WZ2g_48rZ zbmAK~ddTA)LSG-tx6g;)eRgiH*vMV1`7I?rd+Z7z;62 z%Sz_5CcJ21w3TZHK-QX)iV;8|3b6s?tiqi5=ewAyzV-ImyKkR8x!RrO{6HH(Xys3= z6-et}@t)P^`u8hQQFd$(@se%eMbBygL`Oa<@Z!7uR5caAfDmUw)LeD88J-MgnUdyc zRSMP{^ZAn}Fq-j^SVkY+3T!)+^X(A7^Uwb2cYpNwd`leL*_PmVt#-%SCoR{dJ7#*1 zE{~-iUotWp9qkc}#3h+{^(C?YzroAUAyx#E%a+zhO;u3tEkB|$ku13^FB(?Ye;XW6 zr~Kd$fBDJq@$}}L3O~J4#$osL`49fZ4VCVFj)+MRdc;%ZNJKO9^zrV;lIGk z5^&!{`1-3l(0nB#WDpW9>1iz)*BrSBBs(8}=Tdm_1@G?Jeg#LnAY4m{E#0i*`bID4 zrN;bpc z-o5p3f$u=6!_~eQOb~|6FrJO*rKPW(HxP%&5B9YeL@}7Tn|Yyi>h@M&9S%fNT&OFT zCvKapk+ayUo<6`>8W*!q}K08Z={h z`CMXW>Or}jXEp0)EDkU-=MUDhJ0Zauc1suvL&i&NF#CE#d1znNChHumXNScxzpk>P83UbD3qDSXr3^u6}y87 z3n2)1bE+Um*0E@C4q_QOL4)ILM3sF69ug(+D6ofoZN;k&Yl>goBbAEvv7?u5(U`EhRKFNRc3ug?2`p zZBf=9ASHEK3I>no`;%3(3xR@J3?Pwaxhx_5@Vxqsq0BEZ~qVbt#Lz}G8wO5rl z_8m7*kdinb%4OOQKE86QB?zpW++mJ-Ha;F71++U%Et0yBgc4MegAb!SkTKQ0L~^$$ zcrkc6f!=qQNnT%JUrG9+E`ip_xUkkm>Y)-C7z@60ea_|V<7#u;$y1xNHKmn{#O6W9A?4BFl zlc=SmN1SM-a6ltAW(nMEDOidv(<-}%wDc{qVP@&6u&yR&>db9h z>^}SWK?Z<;XElE5V)Nd3b%@64_W4U@n)}<2&OW)CBVrhb&NlbUlk`hPDpb&dOjaqa`!F*#ZX6EPB-uRVPClRFka^YS>Mx!eBsG+0I z5eXxOTHN70q{f6N(7;QGc~-)QqE?p)1p#p;(U97-qN5cbjT^L^$Yt3^JA75{} zaOV8OT|Tec5c8`%{-0)1bRfWuPT>!*vrP)glR)6*S{JH=rX~x8*)XW& zAKK390}e3N;1!wrAWK{_!>?zzgXhnN#G1~p3q=w`Xrq-;k3 zxSr0tHsjQvwccUP55cYDKUZOPzw{{pl@dSt;fK#Z+r9nGcgw}uZ~WG;Zys%a`8R)M z7{;iveYE}YcYpMM{k^~c2mjCSsph-ic<=nlxfuy@$)fLBs>_>QqwJ@>aeQDiE{Wu{ zPKRo^PFRJp1BW$6~m(qM;iVE>dPD=99)Ft!KtM4w<6PtR zNHEYgC3c5=wr8<>-xh(y)XO!#DMWy`l({=aOQ7IOo3g7P`XO>`9s%JHCjo>z%|iiA zrD-fc-JHAD3HL+!yGCJbJNPkjdX;I(jaw<3jHt>`l6=Fk$;;l+>kI(_L!!VExC#ud z?9cTlUhTb;eeT$v7q|2D_|r}54W&7Wk0uX+M5I3X@yFl%%fImF|LQOQxnKF#xE9e&;*i|Gn?M|8qZc@#F%E)rM}P zWoah?^!*f2%cgEbD{Z>dfP{759=Y0@_i~gzFan@ic)Rdh+w%Wi*2izyVK2CmG)F$! zmT$d%{@qV@73pKkkMHliK}Y7fQ7+L6nUH6YG|R|C)#w5&8%GX@s=SJb)KDxFvnW{1 z2&E@Tt3V^3j0vK90Sq++W@G|p3H1tP4JiUa?i`#`)l|dD_6>XW;*NvC95vEhUN|Qp znDt0ssPQ>MAWftqG1VN30ai5`RmnM-6=*b@G`DbaG;B-D?A8`~ymb&~qiseXT`}ok zwLpcVkIi8$&e)3}Q+HAoHxzk}0SJ4VH|M6(dxUqDk;^7^@ng0nm!vE&~k< zg^(5|rN!9jx@9Zp3aAy3(V~F@1`Vfmw!rKWObybdm83DX8N6jdOp#GD12vPzLMAZR zcyhMcY=(Wt7;{||=NB*5t&+f;%7_{-@K=1{(%Sj7@?SmIHwXS;V(8YS6#$r%W)U?N zhPINgy>~*5aNAD{71GU^nQHq*Ul|-UV_zv>MV8TS?7T>w@?vfA@{-XAJ%Iq%vb*Af z`Ck_31@qsaKAmD{QJxx2P=iFwUA^%5HZ0I)HBFvUN6Hvi_ko6GuV zJ`Erbb$sjM{O8`y$ObmOQ+>a!>YZ+lyvG1o_qfyRU^)Ht`1PkgIvX1-1T%N8%J7{A zz$;k=_bFtjkAReIiVbCWd#NDSwjGS|(aatU(Z)}i~kCt9um6606^ly|H8 zNbaZW)U*gel7;o9W&2;gx%vXo!zxT(= z#Wj6LTfydYNtV3JPI&QJeAllp>Z;}V2iW?rA`iRHLvOVvI|+H6#^=64MRZrxT2|nO z^83ONZS$Fk&2h3YRfC*`De~O88H%T#&vmL<-rNZIyiKpR|71&O>|}nt(ig%W z?%z2=#F~VkSl6_Ve)!`c{=NU|KYIUb?|k^re;D)p(Letq1cX*KQxNt~pOww{D}VKu z|H{AhFaPMfKl;c2$3Ob*|K%S zzob4e2LN;Et+VpW7vul^>HdMIyq=`;`Gj}R&#vb9?x)Y6U<34LAON@BF6K#v5VhH& z6jzYRWF9KcQz%kei)<1IVc&}Orbul88LmPA+~|-cBC+hH=m)NYa7P%lTL~#cQpHLy(xs#9Yot0#c@wM)O{IghrU827{tRE%Xhs zP_Gy%Fw`l#5=dbj?dlLw(+6)ytPv*lO_8fDu$To9m((c-<}E}OP^wHi<7 ziVX#lHTK&Q#Wpp5=Isk-3s`85oFflYjno_oDTK-44 zaTsLR7w0d{v9t&cd}lKaMfmqeD>Xwaq*|fPlOm}Cj{oTzr5-D;a25stv`k-RV)}S=c zk=vm-2j`q>#W8SHdVzaZ?A{t7rG)0tv(N)!$A8L2k$yhf*^tjBThgSC8`JdhE?e*CrA$Ajl;&*9xr`EtL*#Ln!1PEWLyY7_=^jH>o?fu?v$mxeRJLAr7Z`@*Y z_RPN*ED!_}HE~BiDc7M`FFf?FtLecfzS3piOt>s@?YhzGg5vtOr^mN11)c!5 zuMe`9JR^asPP9NC5o0uj@L7$maPEFK3{~?X)87mW^kR99E3*N~$O5KeT6r%&hqmCx zMv0?i=~d*e69`mxm`W>V|NQbfh=2FL{0}y?@BPm2D;Ek*_4ksI$|PAMKl;NT*!Ro% zdr$tI|Ki_&=bP{Tz5n)q+-%3qqiuucEfoN;SOT4FFwwq|bhHwhM%P?tGAPl}9QVsZ z4S>P;S0O~($953b7V=!m)3qVzfDdJ! z<1od>oP|prvzysbP5(Y+=dD5pmXZTl*N2jMxw*K!cvP}diqKqjP_`|2p5km%E+~;< zqKTrJZALe1-Js}2;ux6~wyojHq?Jrdg;_OsrAhUc`%6NNEaUcP-hKPsA$(a7PV#ZS zP%B_*PrDPDQAYdZa(edB%%lA!lKd+ymPYfIDTKj& zD8AoMo~|P%;Ml4g#Gu*qe#wC1EapFZF@BKt(Uc=`^`)DApRaiFXP@r)*7=axDjWVu zx9Crk+%6SUU7^QZdWlXo^2$_(p8xoh@9*~i(%<;C-~Wfd z`<;LAPaa=<6M$+JAd?U?-IE|;)~iuvrc{NHGF4NmQYxTKVeYq84QO*8F7H7G0D-~q ztmgNw=FOKf%PL}&|NPsJfAnlOMHDj{MZ_EfPXdtvqU8vZlo@C=5lR6KEWHq6Wyl!@ z$5c_!DiWy@1cN}*kzNofDFv&UHD%@rD$|GnLJ}c%%Bne2f$+#m!Ij?z+-ku;P- z0z)91Kg?Ln%3u*vU>MluJ;i0Ve-ogv9NJ7}aiu#jjEZfeK6BbY!ID5CHpK~-_8HHwW_Px{rm@&i z2BUh82$`7zlDe3uvDW=C9ENdr4=?jD((vx?ay(4a^{A(S=V^c5r~mir>Z58~cEwr? zdj26^g44yW`{{J;C){3XmSC;`XZMz;>}kZbm5ujIRsjvg+wq+@Th{M;+sb zqX(@9($stdq+Hz4*^`-GK?p!Rbxk!}l50DbHfLgW{@?H?u6qAzXZIigPJ#ezWMD0e zMI@uDMvPtt_tq9uhtHnc0NsNE)l^DG4sK)dO)2BxMm(GJqy2mpcHv)~N9@a!Y&b>S ziv#&e-cWvey0w?ySSjW25t9N6GX=0JL-)zOHObk^*}t$o_guPdieHkbl}0))w4ICo zBp#L!JDsOF3BonUH9F24YfbxH*rET|5TFSGv={d3b!nv)w`N96HD}O3DKBdTY+LMn z94-%aO4w`I052U7FL+ZgzHq{TG)pLN?PM)I5ly!!5^*{dI?`4g?{WLtjlR{4Ow4WupxtB(8ABfQan+ zE(!z683s*?NQv^ant~LGSqL$^69S&T%M1@j{S@q&t0}$Qn7-YH3aRn`^i?J3?**IoI55hV7t( z+ts5-ht0@R(ySx~=yKK{&HnR%-{P03z_}~ud=8}bO2FCI;A=YRNL<9j^dMM!L0v6DLjWuZG*veP)npR(0fK z9+buHV6azI8JAbQ>hf(WvReRMkH={uZ$HiY0cv?YM*wI*m%oA^wDfSc3cu|J*1&Vu z9Bwq!nl%#8IJlE3IAIHnt?inr%$B8YI2*mVZ_LMHZZ-jv@aew(!Kb^w_P9J5>?;1u z=KypMW3#)yNOJVAvNor}H z{rY&>1Gcj&K(gWK-C30hkeJB8;b;Y$}ICV zoV^4{1az{v_O4&s%3pRrx|lHJKo1y-s(f9!9yWHtrYJRxSt5%MdGhPKP$``#r*B<_M_*! znNiGg(Tti|)v_r72uvAMhbfHK@~~P3;Se$vhSI!%Qc}_E^A=ob6#-JktX3gKa#kYI z%3@83h7>wvL$Iq6vQB~BoHgly8I%aep=Kn?U^%y9V63yMqN#)pjpr^i%oTK+BNMwx zhtPRpalfiUh$GPKf&P35pw94-q^98Wy+6B}GJ@XipL#$BOF=+wctk{0cPFGc)@|zD zn~}McTY@nO8e2^(^Tr~jrlhu-6Z4#fM%uP`MAVuNgR#Bb>}a7*#(0C}la1}M#bj!t z^!Zqv`(6F?dBVYl`)>)U&^+gRZ=ZkT-EE}i8WDA5z^rHsCbZ(+B&zR&AGzyz*bNK z5HNVl!=*c>&?i^n)Z5$A*Bb#`sObSE<|#Tjh8Q-k$Pac0z>J8@Z_|He^LU3LRd3Ii z6x>kUfL6io^pM6QjmDA0TcPw!nDNZbg-WiTl=f-{(A*B4L-3X6Xh#4EB$BW>vnq|= zoDl1}tFDdqEsskqCz=pDy&2a^!DR5v035JcL%A?yk47 zSQNc3JgCG$C?=5(+e;vfCgHMXfEPnKAMELLFz1?Na?`PN=Z#2^`9-)(3;}p|P2B*x za-kpT2>9b;-!CU&W}KL2pR-iZfcbE!k$>mE{!hOBmwxes-~DczG+elNn2P=U*{9E* zUOt=WG}=7yFxh5PFV4@)#v$cgKmGn6|LgzpZ~gf9zW2j_@;yGF$y!xauih=5WC ziim((?x4^}50%Z6&V(p7<6X2wjRqV68p5ZNSzE1Y)yy><=@#vhb2j>a8wsVZQoEW7 zIl#dajHwR*MFfUIH%3O7`r1oGOOrH`qN^pD z8Ig&)uvcovEIH-N>|K1mikQ7nKqjp?jZ(C#Iau^46hTBTMOZ{AX)YQJ98|9q zp)w?$=9GeBCer<=o9V=h+|zFXqJgu$5f5Z8h;RTL+=im!>}3)JNdeSUF%%Gz9IFs&9;(P6rr}uz=p-v}L6g303*X z%FmozK!+I{%kwQGJ8DHO7Apw~pjbEmyr_mYH6?vxR7>Pap>?fEX3W$T6apkSoNxV5 zaoAP0oDn5FpA7c#gefuHnr5jS=tD8Gk-nX-)!jO2+sQ%(aGWdxAZ?6Z7-lV&21ufT z1u(OxT6^U|!p?2G?n`9D$RSpfzyDxp)e3IV6xB>Yo579Nd|+&RCW$HP6p3bgLXv7L zptuqRkpb=I`Xq;;*jW5>uE>m#5kv8DTgIVmii>s#J&Sy{&vR3OzESim=XihQ`{Qut zd^FgP4ta=txkKsCg0w)3z+8$XeX zNoe|g1(p!1))i+BJ0E!o+Ty|PH)ZqU!5V34na$;xd3 zb)8$C&p@j+-(agy$1;L#Z#UL{+Ogg_77|A;#lvtNdUH($78+RB4Q}S3ObN~aMbZZ4 zJ~}U$pr_LevqwXz$fwh6!0I`&ljpthDw{pi2sM&RL7C4}7^#!=wBvmVoGxa%r;)eY ze4jl0$d_D4Jyt#M=ZkkAed||$;j<4u?g%DQ5fr0Fo#xBS-Dj6qhq;0>T8c9nDWx9q zyo^Put52Uj`Nn&{^>_c~|NP(l5Bq2P&Dr*)4OrO!yR#d>!C>ntQ3?jDT5Y zcCb5WQq2s|O-#&e00vPwgkVsJ#8nlbnmI$F$uLV9%9MnfoDz{7Mn)ooG^j!*AH~5U zP@zrp+$VRF!m`>B69NI>|0yjzyLL-EcbzQx(UcRRf=!71gZrHmD2K6d#3_uY#XiKG0jXgT0z;cCO8f$ zg-AnY7Fr`f%o$oYduIQ%AC$cH@B)|UT z>|#4A+u#s-tsILiwF+P&TK()fA|t_`!aLR6+Az3fQZi=?AN%>nHe)GfDNe$N6Uh0D z`g*}%*x+kL?+x4-9~FBRI0(-|pDdR2PlT>a5H%CIW^evPJl0q8CmxJ$ul>~ftyy5C2@b050>>-%*JB+_+FO#>Kj5xEapDC#wc^_6 z&nbkV?9MCH!@T?Wa^sDZpII}m4u`{hILudvX}_Q5NQrJHpoU0cssKvy3wJsJ{`fmT z{N>;L)xY*1{`LR;zx$uQ{)^vu+44;^&C41;1_z_Djfa=Z1M2{AAf0S3_*b=@2+WCC zX6CDklvCxSad^HNcZYgD*g7^0pd$medS`*AH$$)l(1GcTq28$aGm#c0nE^3_33ICv z%{s1<(0t)yI;xC_)D(?DQ)R$}*iE^gBM2iDd6+U%SD8j;#2k&uR&!uxM+%mtfhinX z^w5yt?kcXP+!AM|S`{e@W<4K%su?MgnYIt5Qeq~g7Dnt^TjTSL00cU!7SBy`nLa5g z0|>ToNl;U2TN_(Q&%Ys%-P^59pdyPZ5CJ7>jRSNx+E_S;9iGn)jm44%2b2V&ss75& z4KGtlnFre7Y|BSFTo{O5;=_YBx8U*pjp_JjE0y?yQ7!fLeQ>%{i8-@nOG9|)d}P5@ zU)? zQZkgB#4BM2Qz-P!(4nxN37D&NNKhNi**hViL(Oq0?>=#J1H6(~fz1WUI^+E4D z&J1V9y|7O_PkeefrfK}dDaeXQ%LbFfO>_B%obHPE9iZzUZl8|p9=V5K{Khd4IsVR5 zUgN%ZUiKlU-1(Syp2&L+yV3spKD^)xFKyKg@92GR=e}k)5nJ@Pr^&sbbDD-~h~Rk7 zN|Gn!qyof+1fuERJaPr!zSWJkH+|ZcqPDAb(pIE6Iryf=Vcldn!H^ugY@w!ThCzlm zW%sVf<&o>6Gp!4{2BrtFq%gGu7M6^5zeMNFSU`^Lz>|f$BmTMmvwBkUVctfJn^Axf)APNu zA8=1Y?rIj>V?J;p10HAq6!MVy!BmUc%i(}ufJBD5|Ll|VKYF^`&#@_Nrfn|cv}W`3 z_f)}9HxDF6&rAeCkqTr5kYW{N#+ah`056$AD51zSSWpsbq!Lb4Va}%4Vl&tjyqt5V zw93tZ6b=znYF|~{T$*d9*<7_xCB$Y?3?!tAI%fhhM(Ft=cZd45x5mehhW(_PQ5VYB zOzopqp)}xN1ldM~Qp}8O4%4byXKhCqqJ|~=bWE5~6-Ay)`t+nMXa;CjRFQyE$%KrO za*30s2@u0(*PK#?z^hqwxuX=iTSn|_6!iuq`$f4nqs;(vZct z8GSHCj92{VK<)@FZ>=0UZRrSU7bb-s%APltXG(bsTDrz@c zUFgNC;x#!gngR{B6wy^GLd69sl@X|!5S={Rl#5axZANnvaPtc6B5URjCSW6d4fQ=L zsGaoVu$E?~l-NBQfrcj1)UtGthr~`^XpaX)U*<;4RaI0m4;cm-y_&EAkVk z^aG1e1VDt?0wrxKWoMdNw^-bR4LTmy_H4rvTRJ-22x!^ybh7oWaMj~Retjoe(nWd( zpKeh;u85_s4sglPTu;Zb+5ObD8Ow;&dYz?w1Wptdom}cvq$5xbyneM)ZIbff_>)H-rbS&;!DgE;qcHkLVbHP`4Jkln~&u358YHYp+-kB%KeA6`xG zU2Gn0H*-#*TAW;J=F|k2?mX?rYkv_Y$a@BMue7~Pq8r_&(@!UL?3dcMtCqhUMF=cC z*wEl(8BoU++?vPtDfCTl*mCQQZXbE$o6|X!Ctvo1g=BM|u0KdE^>mJTj*P4s63h(J z^TU3cbhh=g?HJj-qpfOf140l+MU83FG7VoQOHT_#&RA1zUM>$Z07k=SHNSf`pZUuV z{(@wVH2OE5oPFoR%bc}!yS`8(TeOPob*%sZnQZiv38P@-&^Ts9A!i_y4w?%YNWvIu zy#EqJ8Qa?xg_gZTBO){>YSmOh=nS|@Qrgd|iAY&$iZt>d&LL9n%*6hX?KMwf#g!HN zw5M|>_4v$3=cVGR%FGg+E6h<)pg9p0HByu{6+LPv*31BaXvNFGDp*^@10seE6PyAD z3=Nak$k)4Tw)s#|iKfB@lt{=(L`DLeAf{GN7y(4h{hr$m&9E7{Ka@i#1D;5c6)aFOCaXGp_EGHtE+T{e{Lb(Q%u8aXx&@A8$8h7@cNwVs={Sz3E^) zjkWfnlTeBUEFi!NwUpWI)(n2NhbX$yy@V#$mMLY`n_=2D6A1LGxi?dLXhb zbP7-^h3+n`JmD1`X&&vRpGc+uhBTFTip*4t@^t$!Z+76RL2%S8Pqp1uVZ}+ubH~_1r~b0U4aMVKoVkja+Vht!+4IUi)txwW8xuT5g(aJ?Y~iWG|6}>)$ID zeQKRKSajv~@w!^dMJK&>sr7aNpf9S>@&VVcxq|T2=$RMeeW8@hdeow>X*MT0SI0MY zqQ0ZQD|D(Bo^WcdeTc=JJ9*<=blGK`P*qGdw!M3;4nkszqBR}*P8*=NnSxr@6GVhr zt9jJ)RXKEvxA61}k{f3uwqLumy|Bfy;PU=fkVtzlGMkl>#}iMR*S}OkfSIgo($~w; zwtkMT>|)^QG@Z1fyWDd(~Y31G3|pa{r7b3Ti-eSPO_bFtlA9#B(mu(( zu0c9WD9DT)3gJKv7;8(Kp&XV#7y>qA12$xaDspSCWd?JE z4wbbVw&|q6t2Bk?%rk15Se2jbrs8&1G%K$5s)rmlmdGhvWitjN5*et;2!#~V9H<0g zimc=mnj*PSt@K$cxy)#h>KRUEsR$v2nwkTdm}?$t7AGYHs=5n6R2nOp|37othHm~`xJeadN2kph$Y3qNV2mK#MYk4@0 zST+e|WbpRhm0j=52&1`k@_kZ0V@`XScpWiix72gQyXfyC_smNOh68vDdkH{rz-xt#H6 zjhjtiyWw2kenf;?E4_2snX>VSFby#7=phfQ)nkqP^ut>ZuHo55ccW;|p3Y&KI1iwH zAU3aUd9V?UlX%ky&TSg!&plTFw#&4BxC>@)O3_0NNM|p2{$VuitSY>@ukK5?nX*wnTepRPz!AyFxomwLZRj*ike$FF-Gd#nu0qo zdirqcdx3({SC`mF%01Dx_$)%P=}_agWJ--7tQi~442@+k8BG=tsij9qXn!I)J_1qWc1Sc&ywCRifn00eA@An11p>jGE9pybm`%})Z?G2k@CXDC_Px>D#3sB7xmh0HtR{RAN zL35Am-Sms^x0^XWx;ftV$V4cGG!|{9CDdVNt5dRsP0A5d2ucHxl_$In{xCry1<=Zr z2{k}i7J^`gieq2O1iLhAqy_70b7m+HN&%u}W=LYrresC)U@BIjzCQ|cER za}ZEyGV5TMhzd-nH@39iGcyyKnlGt&(PVB`;<6+}%8)+UAx%Bp%y)J{wQ|amlu6{i zwUm)`Gp9jW4Gd`^U@aMGt^t<-v^lk3I!mcq<&UA>6M2%D9~GJu-SPM zmrj!Ud4>00pX)bqYT^CY-7eGJ&v?)|=Yq$Z-tk^lxLeh|mp#AWytTO7r4PsG5zXLk zdDz=rM@qvC5f(^Yt-8UR3XuUOECy?+&Z}Insa>ZL3V>)-Dx!3NG9w67mf$yJWuqIJ zDYz9`^ycM%E|6?n!r2qK{=`}uZ$oo@))}KaP9`X#CzRSX-#I7q=Bv})>AGJIHZ#x;$Jr}G%qn5)j)T~#q%^s?+c9-iI$g9iiuW{+ z#~BG32DnC`cR4|NNIyQz<`?_svDfX~dwHH>%iyvdv^ZN`36vwoNq5#d9q%rVZ56IZ z{ki~n8ai&Z1Da@V#9&T3T_mA7n-}WOT|+95OD>s!m1enGJ@2jUvo~0qv_XI8zpl!| zs_bm*ROeX8x%wh%4RJqP^-|i<4-KRQce-=QLKw5>0P2)$rCZ6kF&05fgpp5n?a6MsnU~k|^5Ur5C0oM;8I>H_ zh;mXWk6l9ghIt|ZMr9@qHG;H~+e?G@6%ZxXOad4j>4F(Mur5F#_x z1v4p&6H%GSU>KN7SIgk+)-ykTJ>Lo-Zx%>-jJQQ!$PQh$$PI_NM;DVJy1I>3OUP+Ty<9Qp=l^@w9ukOrN2)pb}h zGSg5A6U&p*fs4t_SfSF*9mH^J$ns${=YTjRNO?$1?#A}y_V)RF+!t%ytK(?c3$SD;eA@3qoK)^b8AyaRS~K=Y z2Paa>CFF3zAsCY2f%dE~yVoyo;HF_UdQCqzD=Xa8*czv4$91PFKS>R5DRwE9N?aUo z_r=R8BzYBa-Iw%n1R2h7N}$sYq7j?@pFlhH*{Sn3@qj|oV39eL+yFomvA`DbsGOJ= z%x^5+kH`0{Uz@HPjVz2nZnH+6M7x?*l=Z>PQ`O6^Zs%3 zsCuv|>Ns7!o%vk<51f4HH&1t-`4MxI4j#5)ebDxZ(~ai>-C29?wfPanZ@qU5XS{z| zwd%aKtty>52dk_0sp}p}?Po{h{o5bw^Kt7YpFR2tXN@^?%Q<_@-Pas%%KKlQzwDjX z>dv31cRIVbgGSiEVn3}2Cgh{C2k(3q0IL@=f|eD|Crc%eDBqP7jgzyHf#D>Ur(wL) z6K{Uj=@o4qmeUM;IAgYYM)Ox4K}3 zPOTDYD2J^IoIX<`s*R;|p2a2!R4GL)K@p$>CUi4SZE`LII@Fq9U9^v093wb2yS|=y z7PFK}hPbk@-!nfxT53X9gzIEba6eVQI?@0DAOJ~3K~z~JGV?77j^4@z=)(BpC2k|% zdHVzdUs#cp!ZCy7<cuxe*b;TzbxCt*0-^WE$t}5t`igt#x8S zpgf}%_2iO>grFt!5Ijgr>KJLHgFUr`oCwLJp5<1fW8gMVPK%j22P^h^2}*WkYDRX;rz02h7;gFf2 ztPxN|I(@%uf|MfM@G6!kSW4Uxa4l+K zlal<=^|dv#3N7fTl*0lzH3!~%`AJ1Fw2XBR9J_RPdsJcx@B;b1@<;Ifddd@cDO+jR zHlc#xy8Foh8j>A5Ve;wN^JQ1dj_4n_e%^AD-cjFYw~0qu7d~9a2psQn)$x z9d!>H#sjJKyga;8Z~hZ^Yr8j{KINNxKE(H`I=}egpWE%{AI?wbu{8m>n@Ic29`MLJ zK75gfor4Fjvwg6~E_it3qrd9zh~O++&UsgFH|E{TQ^qnjO04B1AWPy)5l$PxpIoXo`+p60}oVfP4K^-TiPIu{$Gk62Z@|m3?QU;9Qnm>kIcQ&{$5ik)l()+Rpfyq4=jQLq~aJZ3W3a|6(12YtxJrM zNg25E7E~}3xSi8YB07+fH(F$B-P`19v`*hONpr`cJo7pnOscQ!z+LnO$3@4k<05kq zh*V^71_U#7RyF`TL>?-O$k+{Wln%1X1^{znF&ukL0#VyWSEe1EZkZ}#okVuwm=U58 zi*V`q*{kXLa(7}p7P@&)9e_RI%3^zK2EW*2_;k^olB`Jh*Ev}k7D+5)dw;vx1dKot z3?xc0qZI^@iOyvDz%_bpo~)$8G?2&+1iG-_wXZ(Kj*KXti7Xh20-f1aDny06x%-ZG zC@;+f&2pNMN?@j)Hl5-4E|&~k0I$+RW zw!;DRVf#V=f2g*cMgFkn^SU9L*iAnKZ-iKu-Ol$B&*qo!sz0Nq&}HHXcJLKl>v()A z_kVFk7}M;~J2qa92O{!A(frXb&%fba!ITfaIsfUQWQhkAo`3)F^TQ@>)!q}(H+e{B zPuBwl0B3T^y|$fyIG0xW;Gy>_8JFD^K=q)j&l_BF&<4`$9ML_yU_(uZEPe+6bA8PA z;^p>m-hgUVfs4X@`_E`(Ek*)c+{Ic+E%5Cv=Awt*(>_J47(xpWrwZ?NHO}lp=bKx_ zxK8zxv68=dc|7K@`VI;EM4)r0_H%6b)KO=Y!0l2;b(+S)4MzZvDCGBi|iquH4?C zocZc4i`S}xB19A!%A7e8DVEbtk?(;QQ`;MRs4H)zp4y~Jfky6|z3$mlW)9iMhi>pE zJ5P@Qri}si!GNCc1KT>OKF-rjeIy#3XS43KOjd5Fa(J3k1`f8CEd=4Dy-<{K>~AR? zdv;?p?wY$<&Jng+aMqH=#pm3)?V6Q8j}1t#5=M=F38^PS>QU|zXT+mgeU>*P0#hb3 z4cuMqUVZrT_kR7if9bFNxx*(ff(fYY+HN-$ndGv_jn`LBDTO5hWHZ~j?Yt3Q5vzpx zes}rwdhphNMj?jWQZ2;i5dYuK0>By);w>8UQ!J~?xNaAbeCKli?&bcl#EV0J74zI< zavS@|;0!SbLg_Mf$jZ5+V%;+lbDo^tQgFeQXb9P$bnAkM3To?BvFlWUuUWitW&oe2E2s7#Y3aA$Uk6 z;B$9+&XF`Mi&D|1(vme4rjR601K^OPxvN|ZJ9uIG+2tme+jTz{guPLWaDr7MEKF6_V@l*&TNVDeV( z_|8mbM4fGx_WaT^u|%RQN`RXn^-%9Jz{yG}?ItovT0Ro(dcKI`tltS7mw0tMhtx*c zGv^p!zo0Dc)VF5!smo@t0sAwmk_P;OE%*I?&rpdXocWeBjEJLNy{7cUvy(Hd3m-rB zE?<@}v^3i5m|rZ3v^(aWw=9op17|1ncG;t1`saDZTa?c=Zyu{vs{s9zpjK~r*IfnR z&i9|v{)f8JBe#?HD}Pgz^l6!%Wb2`CpD7LxA9PP$d(a*Mv*Zr4kvQ8P9#kWwp*N_l zdJE4q7>v|bL%iND!0PtA%JB(K^vR%NxDQ3q@|4!Jx|yF3&Dq}hhE8AAG9n7s(fZ{{ ziq)w-07}3fbdzN9v$RH;LOk^BJ*H-K4%gw8bie8x*@s9Mdgj6m5zc+HW=!d}$8BiI z6oO!yJ$F5C_%Ze$$sMbnV(X}H^68l?8VSgcZ@D*P8m08Fo@C z5+u2wc#M=_&dB_Do||7x({9N{COEoeXM!k&+;mi}>6g#cNE0}SR#n-Q&&)?e!RmNG z15nkl+Ll2URn(>`2yn1-h~e8vmuG&@2wF>!xZKKPG&*{<1sx4XF9+pa-UV!GO8=I?*!dl%OipSgK+T|wj1=R9mb zTLIWRKVIUWy;`msd1uJ}R1~2)K)16u(+MrM#!q8l*G_v{sw40bA{V#LoxPctfHR5xkq2$S5>5D19=k3hGjM9?l2^ zm&ulj89-JnYA-s=RcEc~ex-QY`#$prh);IAy$@D0mIOZZKIyb64s680lx~mlERvtY zU9HZY7%?A$RtLlYlH=(swqugq2`h3WB6Flo$S8uj!e+JrwMdZGv!}|%wSu25LPvlO zc~MtwQ|~j16Ykb{20lrx*-78|)Ns8wl@9c~^22d_{Irgn$`usIOc0;IR#VQG<)>W; z7<6>|{>$5!l)tS4e76dGmY8_w-^cF1R|y|p@rKIpe1BJJIL-9OAB@MKudN~b$(!5l z+;uL(ZuPEoD3_D>)ZFh9`>&*&Yin7pyVu&C5kwE&-Iegj#cxrzeq1puje5@H`BTwK zig5a(8gPFM9ya9DcN_sTfVs!s%klD4+Pr!`u6+s&?m5*XdS5gB8{Yhf$;}U@07X zEGhRkaO2zrSLS*^tRwCXMrd^=fynVM!vh7F0H}Xr4c8)(zXFKa_4@C0MeXG{8A zc9=V8h7iOJC9e@KM^Lg(ux4%sBb=2Jv(||sv80w1hC5BACrJY~l7iDbG#HS>4W1p4 zhRH%D4wwYgd;S)Aa?N83DKVf8p!@`2YMz|Lj+PsE7?Ub!NGP0TiLdlkbwgN zH5w3q?|xktlRNe*!QML0-apQr@(9q za4JlG1iWmu;@)jC8QH;OYuDMs-cAP)Kvy$GU*nD}g*kHx-7LZ}cNf*2g#y6#T-cPt zk|U%@h%PxOWG37Q^UCKU30xv06kR>w&GzKs(4%8&8gvSjSO?>qX7~z(_&Tn45tPr( zFgkP)dDJ zTLb`|&Ea!-brZe^^!5fgd6dl4jM6D4j`oJP67bl1C$QVu_ddM+@ypvk|BdHv7Fm1^ zBg0?;w#7H_&wu#xz3bgCeDLHrXCgOBS*L-Z7ldfn3w%d`D%n$UX!t)q8oWl|YzIFuRL z%uF=5%5=$%BBFGsh6zwApe0fXBLgY*E&i8)DmjBF_;6k;HGoBh4xlms(9Z_+eAEb} zu!uWrlx3+;GIwugNOi)Jb2)NX%=G{nxOUel5r{-HDzE?)Ci6%wy-X&fld{&8F#cVzZ1$ z>1*Hqx!?KC-}_(w%m3l|d(Wn0f5U?RV=JF&0U(53K}nxM-F~N>FG3NA)FJWots)No zh((g3LNCGR`~AQDjp@fX^N(&0-~HtEq2~wJ7m&>9ERXVH@?3?36keeASJ&lAR zxtasPuCaYJhl2w-2ZG4q=FM5^!1iO)Q$4dabKi)oP>4d(l0q?vqO@n2 zR8gmq$638&D5~h85IE8(<-s7VM|LcjP0scrvM9t%c;N! zQ9Yd;G)5{jD`7mKHd)M(sC{d-nk85#OlF1Hk4@}NL%98)gJ~?Xkab~fo^Oyg6K1-6 zx{ue1*USBgxi?Okluhyp^8!;QE_U3JS35JLUmFE8)Jx1uhLAzC)dyd7ih<51v}V(; zl{B=Z%}X?gF?V3wJLr)?$Fs}nhsPdEHZxkyqK6@Aj}%f5#ej8+JUHLJEPs}YfW>S& z%zycM&$pq1yC*w+`gQfGnIJbl-%SDC%zfwXW*2TD9ed1~A%uoBv^t_!`-ZQ^`Qm@$ z)6WST&oBCvQ|JL$R_DCC{lYu@n=60+(qGMbox>jmYr55y_yg}ezr39Mi7|>qY;*n{ zfk*>ChGEU{IuK9_Hy-0zd|0J(_dnSNp6{mQ|Z{obhZAV?Rm@(I2z&x2u znK<=*=|R;EYi345tNY4|(JazM^B>&wV+g=yx4XPtkyPLIuNC2+@jU(Z32#uWBj*%n* zy`KBt{mIS`z!GvyS~Xs+keyLp(X_Qlj5)ZQ?*@C6X9SV3WI}1+oL<~DL*^k094sS2 z%^kN@jUFoEFve?B+U_m{mLAb|KrX!#n#@5I^U{WnohHHdZ#93LL7if<*jx0~71_nzSgA3mm%|8bVj63L0Z^9RTNvghu79~!Gvx>cVpL)nU?f{Ov%Fimka-0tgHVWB zu~`H;j=k!)ee=U{mRAOFLWyaTIX{)Zi=dhJ?5B=B|FMj_U-X{wW%<)xI{4$4htCG~ z-yY8?jE)4*j8FE{WcE8RUi{kcfAoj1kC&4_znH%9R6!KAFDx{&eia{IH3GB{}`#ySoVW$l>6Z;F@#0 zocD%6TW?T#PDUm`JeeAZNab3iSjlY*KKR@OdbQC_MJpj_<6qoR)3cr_X|<$W8wfP5 zTth0yNlAMoK`Tq67YoX^aT*|Ql@l7CmsmnQNn-E(gV+6sujZ?EFCcKe$4>FrIzv?@ z6k$UhFiF>+C6lJ4%@ z2^Z=+X3|9WRkh2MySdraeAi4U%Zz&I&>4Ul-AFbGIQFpNGc#ULE8(6g%bmF17ex1p zrWGxNj^UG>Mu;O>*sd|aIW&=x@p@S<_uiT>5$0-Oq)Jt;X=P3`kXGHG69GTQxD7i4 zdJ2*m>8?~}IxMmh{uKiB$_Rl;bDA{+b)W5hT6 z%-x&D5N~s5t8+Ym4Od7Y6J|vdvMMd>BdlO zLV^J}VaDhcjBFBSN#NeioLQNo%M+)9P}h(X5>^R#K_k6fb&4`ln4IQBjG*30f{_~W z?c1U!RE+Qdc?R=jO-LfP)5V6RzQlb~0xqhLciE0VuG=jasVR+?NKig`UpfSX0wyGEqB)|J0~hI)0FdHmu6BX*q9tWESejK?b<9}i zV4T}Czbt>|itxBI%;&9So7g28(fDN7E}Q@1&GENB{P;URdNFrhO!mnfAI<%@KfW>I zdOuydUGJu^Kixa{?&bd7%UxzZX${gba*ixFmGZPZHw12o+6h{Fw0ypWJ#Go%&{J;z z&Nr_VPnV%5X#n7ND2$cxzq^2{^~9 z{0Y~jfVOVVr$frmKx?p$n%WM`FqH?Vdn0IQgp&<)qTt#_7`fYFa$1s9NpcR*&J}4S*#(tr99MT-^{Fb&Q1Lj=rk6`s0oV92o-g{ zC@b_@n`8w7N(5oF%l+=KWRE0p(nV^gJ)6Aec>gej*pLXz`jb$pB|I5v%vLR;U>`Fp zllnB${U(N3z%}xKATw3IvzC|`gjLfk_M-?&W~{siHY7NnpRISM2i9%J&OQ$fPzYPqejuO< z+E_A&ay1m_RY@UWu)tS-=Kb&g*1!DjcfNc5wRhgX`r0So|IzW)?FtNx9;$hpJwRT( z_w<8r|Lm{*?Z5w9|Mzcv{aarj3egu2<$bmSK+(%RM%#25WtI3*M7GD!-tFDVo%l;v z`*$aQxB1UsH3Ck4(&KZ(vVY{VMT`dc;;h$3P(<&A3`~Mc2^@N+u$#`KBqGAOR$#Y(6RwqyWN-2GY6R~opo2u1B_LK@YK2lWBN7b_a67{LcAB$y!)4P0Z( zYUkUIw@q6%f(ZoVgo(@OCN6<}Lsl5h8lQ#1BPpFQnok`*L$3zf-Kd{!{Su{b$*c=X zwN&f9^|uZHI8~V@G@?sA@bXoE`K0gMCV~c^&UiL_AZ6$0422wyuB`2Xq!|PhV=G_XW|JjaKJ`S(74nd0@XJ=?ct_Onl~ zn)CU7`rvXerfmEu}nFt6j24!}nV7*Ml6q31$=F0L~0L~nvKW`Dx*Bi$cm=NF%E8_r%4cL%^ z2?lf%GP~GZMLIDRB0-ViG8!AuND9W1=VTZJXtm|~D%GqaGHzRR$sQW>Yey$3j=Qj8 zr-He;8&>o2aJVHZ^bEjc?5QaCmqG7nB@vdXbL29#K`J4Fj?2BxoyT4wswX&-E6?hA z8`nRJ{Lxs@8n*y68^<`nEs>T8GR=nhWkjJtG)Wu1N2vtLatlHij*-WVV+t@c-xGV~ zF6W(MZ-o2NrXx+FCF%fe#$7XzA%rpu(Xru*RAe}!E2D=*Hriz~_L2H(Rhn12P@0p{ zQno20m=w{>QT*JQX13vgCB%1OBA+;3Msz1aFXw(e`OdinAU2w^0s}D(fjVL97O+|& zYV6O_ag<{*Q!J``5pGtSMi~}_#LBR#A}`b6guukrhu(i$+$7%n`UgM! z=Rf$b|I@$uGk@`0-~6|J;oE=Z+h6-Pf9~ePmxmWOeV$39ak{+l=2!1Nh1u=l_z(Zi zKltDNtH1T$SKqz7+^vDsUwHWp1)#K|myw4Qicj+l?r+})Gi zRvU7^M21nMtYIt z>OV?sP6G(U*^7{4|Mn9KIs8M%jw^>Okj30H1Y$yp%9yx<7L=525I_inifn9dC5DwV zXOUqK&yD+~1p5(6v1yJVO0_UkdB+kkxU7QH21O77q#@1F3wF1WS!cz;2FO}7j;KtG zl3~{f^EqS1@P~BA)m?RfA+~BHHR{wVm{u!MA{^I{<@JqFS#k%|FO>Pb-nCreD+Uiq z(mHV4`yn(-f;GclxmR2w_Yj@*DZL$F2N;S`5CG}K&IV{-G!))^efi-9PzapCMJ|Re zToC)o)uEBD3d-`}A^|vhFe(TzB`^$xcJ58=Hf%u=85M)!mf+I+JBSOz4>}szBR`qr z{fpghvWQ~91Cd5|4wo{laNa5OW!0!QbWFn#0I>W7vRB-Lvf?C_!~A`kT3jvScSZbR z-9Gc%xwktkApp&abbR&CFI{CtG)}jk{v5+;9ROt&atwt?m5NnD9A$pZ+u>`950#=ujg*TA~Emo$>w2N&e#1^sTF%0sqGJ zG#RhlE{%uOtDYhJXpWv0iNur5Ga-Zesq{$%)KCY7C1pl zd0Yg8lXK)v*Uoqm{(6ZQw>=XV4NJx$@@9@mb4R9@P>K7!a)yXIzrT!bqW&3{H@S1#a0F3RK5=bnocnY$xn*wqw54|Ik(WjM^~6Bns6T2=h7 zZFY=EnKKO)1k|i|2udFe4BEEC(ya{uGog@L8NxDy+>S_`{tuwQzg@F(r}BoLxLtC$ zvu2vhoh`@S6et5jsR3hpJSwpY@S*(wGDL&-~SX43_M z4h`e&BWLTK-dMovT;7@J`!n1JfGo22;~eDjAUNR5@@09;vd&HHn_W+Bk-qoI?eBg3 z>U%G4ZPKmo)9BW;XXYMqwY>&(quhfAo{&9+q+PY@~|94F(4TlA&^Hls|L1ELUijOj@P? zLZu}eNjn7ff!zxDG`0S-3M&`y`B$so16L8ohV*jp9W~_WqAFZ#8(_YTbb(yK)=juA z8E)&JlJtf@hO`+!AM_{)ql-SKPzgfKt^B>XhC)fhB05l9dMHZHbvno)scA#v*Jp@B zzG4CvnP!;GLYXUj=GvC=|FXfJe*+uYrf}vxvi&od0IAjKLD-B51X$mytP_cGqIKhK zkDK0S(P=xwHTo6u!g4aYTemjT7uYN&V0A!AaAZZ$nMs;Al8nviWNh#201KpcfLIwR zK`+g&TDM*ex`~KM382%#EKw$r2JFmhc+6}XFF_}h-m^bd-ijZ|D7@~=GxTuCja)JhnUs}S$&4&I9rDn7gh-%c@@1Or80E$^ zY`eDFw%ib5x4^OI(gz>548{uouki-zl&VOER0`gZbLOJiEhFbH?pg81OK=s4S3Lhs z!%I5i`R%I@5A71UCo^@q%rbbWDU!^>!Oa%;P27I48GULQ0?lbMk=RX)^vLwF@#~+X}GtKy|FCxMI+A`nx^Zw`1h*e*F4(KYI1uPi{iGYX1HkME^I`cKT2&N<=g6+u+{L(g$wm6n^mP zR;i0!d%kZDe(>bt*?zik|H_kn118@!TEyw*yI-9e@bJehBLIOlljZqkE`XLu74?NE;1Kbm_oH%0 zJ~KV%@`U-sByw*1TTGqmSh>cbb{dKSw>6lgKE(OQXLZe=3NKEwN(y9-)IDziX%hLmu^ z*IwH2!|nCR;jMO((IXp%7NaDh7!-#GSB2Ln2Gx&IR`wOD6tV;<6UDPY+&k#uP(uY+ z`9kZ?q+h2q<%u=ixF%Lb?3E@p2>FtrY)~Q&qY<{?5hNJdMwpM;N_u{G)F=`(d-mS5 z>*r6F!~ES}`|W@BtG`Lo+@3stvfH(v{r1lc7dryTPm_nffbzHkP(63q{Gu7aOUHlk z?6Q?XKzbbtsHa|}1e+WUz8@0ry^Z2ik_X%wwa>cdUU_)SJ=F7lOz&e=<#v}5Pj+{@ zLJ+aDReR(LX{2CeBLH+EB-_qytVifp$JylDw!r$(o+0yTmsaECO!RXt@ z4rn8RiVgwh zfZ$GLygc^d%gN!_?}lBo3@l0#F?nrH>{tMC1}51s;ezHbA2)7{x~ zHoRne7WqLQ4QPOf*n4U3;_jr2%WuYT*tFaGe=!NAMOcW$50pYHLeoc*8Vst*XmJ`kyoZW=^Hv;cp zUwq|qKN-LJ^)q4#RfG4dyy<`4FmAw!(+5-d@~hoC_g8S&|A7Co_>x&v{JM2`C> zU>PfXli+`XUeo|J@6Lrh)mi`6c0!=l4bU2jw28bYp%a^8v$pTNk+unlLZP3!>(TL` zIb#^SIFk~qM?T#~An^vaZo5_(BpNBiP#n&M?$NjtM@wlkgL$83nQ#V-GDq?bC+Hug zte!_Bo^zEX2*QjyE|CEHbjx z0BAN0PhLT+Z#Zlm07xX^2`AG4GjmqeQ|Mpfo-H#=dq+^usGNv)gl#&R`uO^t3JW~uQygWP90 z*8xBd1RA#qV|%)58>VyCF?fDKR&4wT2S`q5vht}13SW{)-<>+jNT^-3DQjhLwOH0z zPFoBX&kV-H9Cy*Cy;}lvoKDR%bO$TL&ejTa(%l1?Piv(R`BSf+(G#6Iohz*lhwrYm zZ3pMN8Obf4w!S#)fjct6-4R^@!qXC{>2&7Icvqh|uSLB3!>5(=i+DQG&$kW%JVs7# z7tN0mU#b9q`pW;u-kUXBl3v$gYwi8zIrrWgx~m6(pqrD07fOzB=*eNzvLE!|2fg_( z`q>Iw4oeQoK~oILK|4rs6iE>TKms5d-PK)PUE{qc^V>@gdw-dEZ&f#{dXNYk89?

?*F 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