diff --git a/engine/assets/builtin/shaders/gaussian-splat-utilities.shader b/engine/assets/builtin/shaders/gaussian-splat-utilities.shader index 81f1daed..bf4a2184 100644 --- a/engine/assets/builtin/shaders/gaussian-splat-utilities.shader +++ b/engine/assets/builtin/shaders/gaussian-splat-utilities.shader @@ -1,12 +1,122 @@ Shader "Builtin Gaussian Splat Utilities" { HLSLINCLUDE + struct GaussianSplatOtherData + { + float4 rotation; + float4 scaleReserved; + }; + + struct GaussianSplatViewData + { + float4 clipCenter; + float4 ellipseAxisU; + float4 ellipseAxisV; + float4 colorOpacity; + }; + uint FloatToSortableUint(float value) { const uint rawValue = asuint(value); const uint mask = (rawValue & 0x80000000u) != 0u ? 0xffffffffu : 0x80000000u; return rawValue ^ mask; } + + float3x3 CalcMatrixFromRotationScale(float4 rotation, float3 scale) + { + const float x = rotation.x; + const float y = rotation.y; + const float z = rotation.z; + const float w = rotation.w; + + const float3x3 rotationMatrix = float3x3( + 1.0 - 2.0 * (y * y + z * z), 2.0 * (x * y - w * z), 2.0 * (x * z + w * y), + 2.0 * (x * y + w * z), 1.0 - 2.0 * (x * x + z * z), 2.0 * (y * z - w * x), + 2.0 * (x * z - w * y), 2.0 * (y * z + w * x), 1.0 - 2.0 * (x * x + y * y)); + const float3x3 scaleMatrix = float3x3( + scale.x, 0.0, 0.0, + 0.0, scale.y, 0.0, + 0.0, 0.0, scale.z); + return mul(rotationMatrix, scaleMatrix); + } + + void CalcCovariance3D(float3x3 rotationScaleMatrix, out float3 sigma0, out float3 sigma1) + { + const float3x3 sigma = mul(rotationScaleMatrix, transpose(rotationScaleMatrix)); + sigma0 = float3(sigma._m00, sigma._m01, sigma._m02); + sigma1 = float3(sigma._m11, sigma._m12, sigma._m22); + } + + float3 CalcCovariance2D( + float3 viewPosition, + float3 covariance3D0, + float3 covariance3D1, + float4x4 viewMatrix, + float4x4 projectionMatrix, + float2 screenSize) + { + if (abs(viewPosition.z) <= 1.0e-5) + { + return float3(0.3, 0.0, 0.3); + } + + const float aspect = projectionMatrix[0][0] / projectionMatrix[1][1]; + const float tanFovX = rcp(projectionMatrix[0][0]); + const float tanFovY = rcp(projectionMatrix[1][1] * aspect); + const float limitX = 1.3 * tanFovX; + const float limitY = 1.3 * tanFovY; + + float3 clampedViewPosition = viewPosition; + clampedViewPosition.x = + clamp(clampedViewPosition.x / clampedViewPosition.z, -limitX, limitX) * clampedViewPosition.z; + clampedViewPosition.y = + clamp(clampedViewPosition.y / clampedViewPosition.z, -limitY, limitY) * clampedViewPosition.z; + + const float focalLength = screenSize.x * projectionMatrix[0][0] * 0.5; + const float3x3 jacobian = float3x3( + focalLength / clampedViewPosition.z, + 0.0, + -(focalLength * clampedViewPosition.x) / (clampedViewPosition.z * clampedViewPosition.z), + 0.0, + focalLength / clampedViewPosition.z, + -(focalLength * clampedViewPosition.y) / (clampedViewPosition.z * clampedViewPosition.z), + 0.0, + 0.0, + 0.0); + const float3x3 worldToView = (float3x3)viewMatrix; + const float3x3 transform = mul(jacobian, worldToView); + const float3x3 covariance3D = float3x3( + covariance3D0.x, covariance3D0.y, covariance3D0.z, + covariance3D0.y, covariance3D1.x, covariance3D1.y, + covariance3D0.z, covariance3D1.y, covariance3D1.z); + float3x3 covariance2D = mul(transform, mul(covariance3D, transpose(transform))); + + covariance2D._m00 += 0.3; + covariance2D._m11 += 0.3; + return float3(covariance2D._m00, covariance2D._m01, covariance2D._m11); + } + + void DecomposeCovariance(float3 covariance2D, out float2 axisU, out float2 axisV) + { + const float diagonal0 = covariance2D.x; + const float diagonal1 = covariance2D.z; + const float offDiagonal = covariance2D.y; + const float mid = 0.5 * (diagonal0 + diagonal1); + const float radius = length(float2((diagonal0 - diagonal1) * 0.5, offDiagonal)); + const float lambda0 = max(mid + radius, 0.1); + const float lambda1 = max(mid - radius, 0.1); + + float2 basis = normalize(float2(offDiagonal, lambda0 - diagonal0)); + if (all(abs(basis) < 1.0e-5)) + { + basis = float2(1.0, 0.0); + } + + basis.y = -basis.y; + const float maxAxisLength = 4096.0; + axisU = min(sqrt(2.0 * lambda0), maxAxisLength) * basis; + axisV = min(sqrt(2.0 * lambda1), maxAxisLength) * float2(basis.y, -basis.x); + } ENDHLSL SubShader @@ -25,18 +135,21 @@ Shader "Builtin Gaussian Splat Utilities" float4x4 gModelMatrix; float4 gCameraRight; float4 gCameraUp; + float4 gScreenParams; + float4 gSplatParams; }; - StructuredBuffer GaussianSplatPositions; + StructuredBuffer GaussianSplatPositions; + StructuredBuffer GaussianSplatOther; + StructuredBuffer GaussianSplatColor; RWStructuredBuffer GaussianSplatSortDistances; RWStructuredBuffer GaussianSplatOrderBuffer; + RWStructuredBuffer GaussianSplatViewDataBuffer; [numthreads(64, 1, 1)] void GaussianSplatPrepareOrderCS(uint3 dispatchThreadId : SV_DispatchThreadID) { - uint splatCount = 0u; - GaussianSplatOrderBuffer.GetDimensions(splatCount); - + const uint splatCount = (uint)gSplatParams.x; const uint index = dispatchThreadId.x; if (index >= splatCount) { @@ -45,10 +158,46 @@ Shader "Builtin Gaussian Splat Utilities" GaussianSplatOrderBuffer[index] = index; - const float3 localCenter = GaussianSplatPositions[index]; - const float3 viewCenter = - mul(gViewMatrix, mul(gModelMatrix, float4(localCenter, 1.0))).xyz; + GaussianSplatViewData viewData = (GaussianSplatViewData)0; + const float3 localCenter = GaussianSplatPositions[index].xyz; + const GaussianSplatOtherData otherData = GaussianSplatOther[index]; + const float4 colorOpacity = GaussianSplatColor[index]; + + const float3 worldCenter = mul(gModelMatrix, float4(localCenter, 1.0)).xyz; + const float3 viewCenter = mul(gViewMatrix, float4(worldCenter, 1.0)).xyz; GaussianSplatSortDistances[index] = FloatToSortableUint(viewCenter.z); + + const float4 clipCenter = mul(gProjectionMatrix, float4(viewCenter, 1.0)); + if (clipCenter.w > 0.0) + { + const float3x3 modelLinear = (float3x3)gModelMatrix; + const float3x3 rotationScaleMatrix = + CalcMatrixFromRotationScale(otherData.rotation, otherData.scaleReserved.xyz); + const float3x3 worldRotationScale = mul(modelLinear, rotationScaleMatrix); + + float3 covariance3D0 = 0.0; + float3 covariance3D1 = 0.0; + CalcCovariance3D(worldRotationScale, covariance3D0, covariance3D1); + + const float3 covariance2D = CalcCovariance2D( + viewCenter, + covariance3D0, + covariance3D1, + gViewMatrix, + gProjectionMatrix, + gScreenParams.xy); + + float2 axisU = 0.0; + float2 axisV = 0.0; + DecomposeCovariance(covariance2D, axisU, axisV); + + viewData.clipCenter = clipCenter; + viewData.ellipseAxisU = float4(axisU, 0.0, 0.0); + viewData.ellipseAxisV = float4(axisV, 0.0, 0.0); + viewData.colorOpacity = colorOpacity; + } + + GaussianSplatViewDataBuffer[index] = viewData; } ENDHLSL } diff --git a/engine/assets/builtin/shaders/gaussian-splat.shader b/engine/assets/builtin/shaders/gaussian-splat.shader index 5afef25b..80284b50 100644 --- a/engine/assets/builtin/shaders/gaussian-splat.shader +++ b/engine/assets/builtin/shaders/gaussian-splat.shader @@ -13,23 +13,26 @@ Shader "Builtin Gaussian Splat" float4x4 gModelMatrix; float4 gCameraRight; float4 gCameraUp; + float4 gScreenParams; + float4 gSplatParams; }; cbuffer MaterialConstants { - float4 gSplatParams; + float4 gPointScaleParams; + float4 gOpacityScaleParams; }; - struct GaussianSplatOtherData + struct GaussianSplatViewData { - float4 rotation; - float4 scaleReserved; + float4 clipCenter; + float4 ellipseAxisU; + float4 ellipseAxisV; + float4 colorOpacity; }; StructuredBuffer GaussianSplatOrderBuffer; - StructuredBuffer GaussianSplatPositions; - StructuredBuffer GaussianSplatOther; - StructuredBuffer GaussianSplatColor; + StructuredBuffer GaussianSplatViewDataBuffer; struct VSOutput { @@ -53,39 +56,35 @@ Shader "Builtin Gaussian Splat" VSOutput MainVS(uint vertexId : SV_VertexID, uint instanceId : SV_InstanceID) { - VSOutput output; - const float2 corner = ResolveQuadCorner(vertexId); + VSOutput output = (VSOutput)0; const uint splatIndex = GaussianSplatOrderBuffer[instanceId]; - const float3 localCenter = GaussianSplatPositions[splatIndex]; - const GaussianSplatOtherData otherData = GaussianSplatOther[splatIndex]; - const float4 colorOpacity = GaussianSplatColor[splatIndex]; + const GaussianSplatViewData viewData = GaussianSplatViewDataBuffer[splatIndex]; - const float3 worldCenter = mul(gModelMatrix, float4(localCenter, 1.0)).xyz; - const float maxAxisScale = - max(max(otherData.scaleReserved.x, otherData.scaleReserved.y), otherData.scaleReserved.z); - const float radius = max(maxAxisScale * gSplatParams.x, 0.0001); - const float3 worldPosition = - worldCenter + - gCameraRight.xyz * (corner.x * radius) + - gCameraUp.xyz * (corner.y * radius); + if (viewData.clipCenter.w <= 0.0) + { + const float nanValue = asfloat(0x7fc00000u); + output.position = float4(nanValue, nanValue, nanValue, nanValue); + return output; + } - output.position = mul(gProjectionMatrix, mul(gViewMatrix, float4(worldPosition, 1.0))); - output.localUv = corner; - output.colorOpacity = colorOpacity; + const float2 quadPos = ResolveQuadCorner(vertexId) * 2.0; + const float2 ellipseOffsetPixels = + (quadPos.x * viewData.ellipseAxisU.xy + quadPos.y * viewData.ellipseAxisV.xy) * gPointScaleParams.x; + const float2 clipOffset = + ellipseOffsetPixels * (2.0 / max(gScreenParams.xy, float2(1.0, 1.0))) * viewData.clipCenter.w; + + output.position = viewData.clipCenter; + output.position.xy += clipOffset; + output.localUv = quadPos; + output.colorOpacity = viewData.colorOpacity; return output; } float4 MainPS(VSOutput input) : SV_TARGET { - const float radiusSq = dot(input.localUv, input.localUv); - if (radiusSq > 1.0) - { - discard; - } - - const float gaussianFalloff = exp(-radiusSq * 2.5); - const float alpha = saturate(input.colorOpacity.a * gSplatParams.y * gaussianFalloff); - if (alpha <= 0.001) + const float alpha = + saturate(exp(-dot(input.localUv, input.localUv)) * input.colorOpacity.a * gOpacityScaleParams.x); + if (alpha <= (1.0 / 255.0)) { discard; } diff --git a/engine/include/XCEngine/Rendering/Passes/BuiltinGaussianSplatPass.h b/engine/include/XCEngine/Rendering/Passes/BuiltinGaussianSplatPass.h index c11e7b6e..f09b6d8d 100644 --- a/engine/include/XCEngine/Rendering/Passes/BuiltinGaussianSplatPass.h +++ b/engine/include/XCEngine/Rendering/Passes/BuiltinGaussianSplatPass.h @@ -59,6 +59,8 @@ private: Math::Matrix4x4 model = Math::Matrix4x4::Identity(); Math::Vector4 cameraRight = Math::Vector4::Zero(); Math::Vector4 cameraUp = Math::Vector4::Zero(); + Math::Vector4 screenParams = Math::Vector4::Zero(); + Math::Vector4 splatParams = Math::Vector4::Zero(); }; struct OwnedDescriptorSet { diff --git a/engine/src/RHI/OpenGL/OpenGLPipelineLayout.cpp b/engine/src/RHI/OpenGL/OpenGLPipelineLayout.cpp index 9a6b985f..34b423d8 100644 --- a/engine/src/RHI/OpenGL/OpenGLPipelineLayout.cpp +++ b/engine/src/RHI/OpenGL/OpenGLPipelineLayout.cpp @@ -52,6 +52,12 @@ std::vector GatherBindingsOfTypeSorted( return bindings; } +bool UsesOpenGLStorageBufferBinding(const DescriptorSetLayoutBinding& binding) { + return binding.resourceDimension == ResourceViewDimension::Buffer || + binding.resourceDimension == ResourceViewDimension::StructuredBuffer || + binding.resourceDimension == ResourceViewDimension::RawBuffer; +} + } // namespace bool OpenGLPipelineLayout::Initialize(const RHIPipelineLayoutDesc& desc) { @@ -93,6 +99,7 @@ bool OpenGLPipelineLayout::Initialize(const RHIPipelineLayoutDesc& desc) { uint32_t nextCBVBindingPoint = 0; uint32_t nextSRVBindingPoint = 0; + uint32_t nextStorageBufferBindingPoint = 0; uint32_t nextUAVBindingPoint = 0; uint32_t nextSamplerBindingPoint = 0; @@ -100,34 +107,42 @@ bool OpenGLPipelineLayout::Initialize(const RHIPipelineLayoutDesc& desc) { const DescriptorSetLayoutDesc& setLayout = m_desc.setLayouts[setIndex]; SetBindingPointMapping& mapping = m_setBindingPointMappings[setIndex]; - const auto appendBindings = - [&setLayout]( - DescriptorType type, - std::unordered_map& bindingPoints, - uint32_t& nextBindingPoint) { - const auto bindings = GatherBindingsOfTypeSorted(setLayout, type); - for (const DescriptorSetLayoutBinding* binding : bindings) { - bindingPoints[binding->binding] = nextBindingPoint; - nextBindingPoint += binding->count > 0 ? binding->count : 1u; - } - }; + const auto appendBindings = [&setLayout, &nextStorageBufferBindingPoint]( + DescriptorType type, + std::unordered_map& bindingPoints, + uint32_t& nextBindingPoint, + bool useStorageBufferNamespace) { + const auto bindings = GatherBindingsOfTypeSorted(setLayout, type); + for (const DescriptorSetLayoutBinding* binding : bindings) { + uint32_t& resolvedNextBindingPoint = + useStorageBufferNamespace && UsesOpenGLStorageBufferBinding(*binding) + ? nextStorageBufferBindingPoint + : nextBindingPoint; + bindingPoints[binding->binding] = resolvedNextBindingPoint; + resolvedNextBindingPoint += binding->count > 0 ? binding->count : 1u; + } + }; appendBindings( DescriptorType::CBV, mapping.constantBufferBindingPoints, - nextCBVBindingPoint); + nextCBVBindingPoint, + false); appendBindings( DescriptorType::SRV, mapping.shaderResourceBindingPoints, - nextSRVBindingPoint); + nextSRVBindingPoint, + true); appendBindings( DescriptorType::UAV, mapping.unorderedAccessBindingPoints, - nextUAVBindingPoint); + nextUAVBindingPoint, + true); appendBindings( DescriptorType::Sampler, mapping.samplerBindingPoints, - nextSamplerBindingPoint); + nextSamplerBindingPoint, + false); } } diff --git a/engine/src/Rendering/Internal/ShaderVariantUtils.h b/engine/src/Rendering/Internal/ShaderVariantUtils.h index 348608ef..3b85f4f6 100644 --- a/engine/src/Rendering/Internal/ShaderVariantUtils.h +++ b/engine/src/Rendering/Internal/ShaderVariantUtils.h @@ -268,6 +268,7 @@ inline bool TryBuildRuntimeShaderBindings( Core::uint32 nextTextureRegister = 0; Core::uint32 nextSamplerRegister = 0; Core::uint32 nextUnorderedAccessRegister = 0; + Core::uint32 nextStorageBufferRegister = 0; for (Resources::ShaderResourceBindingDesc& binding : outBindings) { binding.set = 0; switch (binding.type) { @@ -276,15 +277,25 @@ inline bool TryBuildRuntimeShaderBindings( break; case Resources::ShaderResourceType::Texture2D: case Resources::ShaderResourceType::TextureCube: + binding.binding = nextTextureRegister++; + break; case Resources::ShaderResourceType::StructuredBuffer: case Resources::ShaderResourceType::RawBuffer: - binding.binding = nextTextureRegister++; + binding.binding = + backend == Resources::ShaderBackend::OpenGL + ? nextStorageBufferRegister++ + : nextTextureRegister++; break; case Resources::ShaderResourceType::Sampler: binding.binding = nextSamplerRegister++; break; case Resources::ShaderResourceType::RWStructuredBuffer: case Resources::ShaderResourceType::RWRawBuffer: + binding.binding = + backend == Resources::ShaderBackend::OpenGL + ? nextStorageBufferRegister++ + : nextUnorderedAccessRegister++; + break; default: binding.binding = nextUnorderedAccessRegister++; break; diff --git a/engine/src/Rendering/Passes/BuiltinGaussianSplatPass.cpp b/engine/src/Rendering/Passes/BuiltinGaussianSplatPass.cpp index bf2a9210..84599090 100644 --- a/engine/src/Rendering/Passes/BuiltinGaussianSplatPass.cpp +++ b/engine/src/Rendering/Passes/BuiltinGaussianSplatPass.cpp @@ -205,6 +205,9 @@ bool BuiltinGaussianSplatPass::PrepareGaussianSplatResources( const RenderContext& context, const RenderSceneData& sceneData) { if (!EnsureInitialized(context)) { + Debug::Logger::Get().Error( + Debug::LogCategory::Rendering, + "BuiltinGaussianSplatPass::PrepareGaussianSplatResources failed: EnsureInitialized returned false"); return false; } @@ -220,10 +223,16 @@ bool BuiltinGaussianSplatPass::PrepareGaussianSplatResources( cachedGaussianSplat->positions.shaderResourceView == nullptr || cachedGaussianSplat->other.shaderResourceView == nullptr || cachedGaussianSplat->color.shaderResourceView == nullptr) { + Debug::Logger::Get().Error( + Debug::LogCategory::Rendering, + "BuiltinGaussianSplatPass::PrepareGaussianSplatResources failed: gaussian splat GPU cache incomplete"); return false; } if (m_passResources == nullptr) { + Debug::Logger::Get().Error( + Debug::LogCategory::Rendering, + "BuiltinGaussianSplatPass::PrepareGaussianSplatResources failed: pass resources missing"); return false; } @@ -232,7 +241,12 @@ bool BuiltinGaussianSplatPass::PrepareGaussianSplatResources( workingSet == nullptr || workingSet->sortDistances.unorderedAccessView == nullptr || workingSet->orderIndices.shaderResourceView == nullptr || - workingSet->orderIndices.unorderedAccessView == nullptr) { + workingSet->orderIndices.unorderedAccessView == nullptr || + workingSet->viewData.shaderResourceView == nullptr || + workingSet->viewData.unorderedAccessView == nullptr) { + Debug::Logger::Get().Error( + Debug::LogCategory::Rendering, + "BuiltinGaussianSplatPass::PrepareGaussianSplatResources failed: working-set allocation incomplete"); return false; } } @@ -527,18 +541,19 @@ BuiltinGaussianSplatPass::PassResourceLayout* BuiltinGaussianSplatPass::GetOrCre return failLayout("BuiltinGaussianSplatPass requires a Material resource binding"); } if (!passLayout.gaussianSplatOrderBuffer.IsValid() || - !passLayout.gaussianSplatPositionBuffer.IsValid() || - !passLayout.gaussianSplatOtherBuffer.IsValid() || - !passLayout.gaussianSplatColorBuffer.IsValid()) { + !passLayout.gaussianSplatViewDataBuffer.IsValid()) { return failLayout( - "BuiltinGaussianSplatPass draw pass requires order, position, other, and color gaussian splat buffer bindings"); + "BuiltinGaussianSplatPass draw pass requires order and view-data gaussian splat buffer bindings"); } } else if (usage == PassLayoutUsage::PrepareOrder) { if (!passLayout.gaussianSplatSortDistanceBuffer.IsValid() || !passLayout.gaussianSplatOrderBuffer.IsValid() || - !passLayout.gaussianSplatPositionBuffer.IsValid()) { + !passLayout.gaussianSplatPositionBuffer.IsValid() || + !passLayout.gaussianSplatOtherBuffer.IsValid() || + !passLayout.gaussianSplatColorBuffer.IsValid() || + !passLayout.gaussianSplatViewDataBuffer.IsValid()) { return failLayout( - "BuiltinGaussianSplatPass prepare-order pass requires sort distance, order, and position gaussian splat buffer bindings"); + "BuiltinGaussianSplatPass prepare-order pass requires sort distance, order, position, other, color, and view-data gaussian splat buffer bindings"); } } @@ -660,6 +675,10 @@ RHI::RHIPipelineState* BuiltinGaussianSplatPass::GetOrCreateComputePipelineState sceneData.globalShaderKeywords); RHI::RHIPipelineState* pipelineState = context.device->CreateComputePipelineState(pipelineDesc); if (pipelineState == nullptr || !pipelineState->IsValid()) { + const Containers::String error = + Containers::String("BuiltinGaussianSplatPass failed to create compute pipeline state for pass '") + + resolvedShaderPass.passName + "'"; + Debug::Logger::Get().Error(Debug::LogCategory::Rendering, error.CStr()); if (pipelineState != nullptr) { pipelineState->Shutdown(); delete pipelineState; @@ -718,6 +737,9 @@ BuiltinGaussianSplatPass::CachedDescriptorSet* BuiltinGaussianSplatPass::GetOrCr CachedDescriptorSet& cachedDescriptorSet = m_dynamicDescriptorSets[key]; if (cachedDescriptorSet.descriptorSet.set == nullptr) { if (!CreateOwnedDescriptorSet(setLayout, cachedDescriptorSet.descriptorSet)) { + Debug::Logger::Get().Error( + Debug::LogCategory::Rendering, + "BuiltinGaussianSplatPass failed to allocate descriptor set"); return nullptr; } } @@ -921,17 +943,22 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( const RenderContext& context, const RenderSceneData& sceneData, const VisibleGaussianSplatItem& visibleGaussianSplat) { + auto fail = [](const char* message) -> bool { + Debug::Logger::Get().Error(Debug::LogCategory::Rendering, message); + return false; + }; + if (visibleGaussianSplat.gameObject == nullptr || visibleGaussianSplat.gaussianSplat == nullptr || !visibleGaussianSplat.gaussianSplat->IsValid() || m_passResources == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: invalid visible gaussian splat item"); } const RenderResourceCache::CachedGaussianSplat* cachedGaussianSplat = m_resourceCache.GetOrCreateGaussianSplat(m_device, visibleGaussianSplat.gaussianSplat); if (cachedGaussianSplat == nullptr || cachedGaussianSplat->positions.shaderResourceView == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: gaussian splat GPU cache is incomplete"); } Internal::BuiltinGaussianSplatPassResources::WorkingSet* workingSet = nullptr; @@ -939,13 +966,15 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( workingSet == nullptr || workingSet->sortDistances.unorderedAccessView == nullptr || workingSet->orderIndices.unorderedAccessView == nullptr || - workingSet->orderIndices.shaderResourceView == nullptr) { - return false; + workingSet->orderIndices.shaderResourceView == nullptr || + workingSet->viewData.unorderedAccessView == nullptr || + workingSet->viewData.shaderResourceView == nullptr) { + return fail("BuiltinGaussianSplatPass prepare-order failed: working set allocation is incomplete"); } const ResolvedShaderPass resolvedShaderPass = ResolvePrepareOrderShaderPass(sceneData); if (resolvedShaderPass.shader == nullptr || resolvedShaderPass.pass == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: utilities shader pass was not resolved"); } PassLayoutKey passLayoutKey = {}; @@ -958,7 +987,7 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( PassLayoutUsage::PrepareOrder); RHI::RHIPipelineState* pipelineState = GetOrCreateComputePipelineState(context, sceneData); if (passLayout == nullptr || pipelineState == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: compute pipeline setup was not created"); } RHI::RHICommandList* commandList = context.commandList; @@ -979,6 +1008,14 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( workingSet->orderIndices.currentState = RHI::ResourceStates::UnorderedAccess; } + if (workingSet->viewData.currentState != RHI::ResourceStates::UnorderedAccess) { + commandList->TransitionBarrier( + workingSet->viewData.unorderedAccessView, + workingSet->viewData.currentState, + RHI::ResourceStates::UnorderedAccess); + workingSet->viewData.currentState = RHI::ResourceStates::UnorderedAccess; + } + commandList->SetPipelineState(pipelineState); const PerObjectConstants perObjectConstants = { @@ -986,7 +1023,13 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( sceneData.cameraData.view, visibleGaussianSplat.localToWorld.Transpose(), Math::Vector4(sceneData.cameraData.worldRight, 0.0f), - Math::Vector4(sceneData.cameraData.worldUp, 0.0f) + Math::Vector4(sceneData.cameraData.worldUp, 0.0f), + Math::Vector4( + static_cast(sceneData.cameraData.viewportWidth), + static_cast(sceneData.cameraData.viewportHeight), + sceneData.cameraData.viewportWidth > 0u ? 1.0f / static_cast(sceneData.cameraData.viewportWidth) : 0.0f, + sceneData.cameraData.viewportHeight > 0u ? 1.0f / static_cast(sceneData.cameraData.viewportHeight) : 0.0f), + Math::Vector4(static_cast(cachedGaussianSplat->splatCount), 0.0f, 0.0f, 0.0f) }; if (passLayout->descriptorSetCount > 0u) { @@ -994,7 +1037,7 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( for (Core::uint32 descriptorOffset = 0u; descriptorOffset < passLayout->descriptorSetCount; ++descriptorOffset) { const Core::uint32 setIndex = passLayout->firstDescriptorSet + descriptorOffset; if (setIndex >= passLayout->setLayouts.size()) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: descriptor set index overflow"); } const BuiltinPassSetLayoutMetadata& setLayout = passLayout->setLayouts[setIndex]; @@ -1005,8 +1048,11 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( if (!(setLayout.usesPerObject || setLayout.usesGaussianSplatSortDistanceBuffer || setLayout.usesGaussianSplatOrderBuffer || - setLayout.usesGaussianSplatPositionBuffer)) { - return false; + setLayout.usesGaussianSplatPositionBuffer || + setLayout.usesGaussianSplatOtherBuffer || + setLayout.usesGaussianSplatColorBuffer || + setLayout.usesGaussianSplatViewDataBuffer)) { + return fail("BuiltinGaussianSplatPass prepare-order failed: unexpected descriptor set layout"); } const Core::uint64 objectId = @@ -1014,7 +1060,10 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( const Resources::GaussianSplat* gaussianSplatKey = (setLayout.usesGaussianSplatSortDistanceBuffer || setLayout.usesGaussianSplatOrderBuffer || - setLayout.usesGaussianSplatPositionBuffer) + setLayout.usesGaussianSplatPositionBuffer || + setLayout.usesGaussianSplatOtherBuffer || + setLayout.usesGaussianSplatColorBuffer || + setLayout.usesGaussianSplatViewDataBuffer) ? visibleGaussianSplat.gaussianSplat : nullptr; @@ -1033,13 +1082,13 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( workingSet->orderIndices.unorderedAccessView, workingSet->viewData.unorderedAccessView); if (cachedDescriptorSet == nullptr || cachedDescriptorSet->descriptorSet.set == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: dynamic descriptor set resolution failed"); } RHI::RHIDescriptorSet* descriptorSet = cachedDescriptorSet->descriptorSet.set; if (setLayout.usesPerObject) { if (!passLayout->perObject.IsValid() || passLayout->perObject.set != setIndex) { - return false; + return fail("BuiltinGaussianSplatPass prepare-order failed: per-object binding is invalid"); } descriptorSet->WriteConstant( @@ -1070,6 +1119,11 @@ bool BuiltinGaussianSplatPass::PrepareVisibleGaussianSplat( RHI::ResourceStates::UnorderedAccess, RHI::ResourceStates::NonPixelShaderResource); workingSet->orderIndices.currentState = RHI::ResourceStates::NonPixelShaderResource; + commandList->TransitionBarrier( + workingSet->viewData.shaderResourceView, + RHI::ResourceStates::UnorderedAccess, + RHI::ResourceStates::NonPixelShaderResource); + workingSet->viewData.currentState = RHI::ResourceStates::NonPixelShaderResource; return true; } @@ -1078,10 +1132,15 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( const RenderSurface& surface, const RenderSceneData& sceneData, const VisibleGaussianSplatItem& visibleGaussianSplat) { + auto fail = [](const char* message) -> bool { + Debug::Logger::Get().Error(Debug::LogCategory::Rendering, message); + return false; + }; + if (visibleGaussianSplat.gameObject == nullptr || visibleGaussianSplat.gaussianSplat == nullptr || !visibleGaussianSplat.gaussianSplat->IsValid()) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: invalid visible gaussian splat item"); } const RenderResourceCache::CachedGaussianSplat* cachedGaussianSplat = @@ -1090,28 +1149,29 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( cachedGaussianSplat->positions.shaderResourceView == nullptr || cachedGaussianSplat->other.shaderResourceView == nullptr || cachedGaussianSplat->color.shaderResourceView == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: gaussian splat GPU cache is incomplete"); } if (m_passResources == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: pass resources were not initialized"); } Internal::BuiltinGaussianSplatPassResources::WorkingSet* workingSet = nullptr; if (!m_passResources->EnsureWorkingSet(m_device, visibleGaussianSplat, workingSet) || workingSet == nullptr || - workingSet->orderIndices.shaderResourceView == nullptr) { - return false; + workingSet->orderIndices.shaderResourceView == nullptr || + workingSet->viewData.shaderResourceView == nullptr) { + return fail("BuiltinGaussianSplatPass draw failed: working set allocation is incomplete"); } const Resources::Material* material = ResolveGaussianSplatMaterial(visibleGaussianSplat); if (material == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: gaussian splat material could not be resolved"); } const ResolvedShaderPass resolvedShaderPass = ResolveGaussianSplatShaderPass(sceneData, material); if (resolvedShaderPass.shader == nullptr || resolvedShaderPass.pass == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: draw shader pass was not resolved"); } PassLayoutKey passLayoutKey = {}; @@ -1124,12 +1184,12 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( PassLayoutUsage::Draw); RHI::RHIPipelineState* pipelineState = GetOrCreatePipelineState(context, surface, sceneData, material); if (passLayout == nullptr || pipelineState == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: graphics pipeline setup was not created"); } const MaterialConstantPayloadView materialConstants = ResolveSchemaMaterialConstantPayload(material); if (!materialConstants.IsValid()) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: material constant payload is invalid"); } RHI::RHICommandList* commandList = context.commandList; @@ -1140,7 +1200,13 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( sceneData.cameraData.view, visibleGaussianSplat.localToWorld.Transpose(), Math::Vector4(sceneData.cameraData.worldRight, 0.0f), - Math::Vector4(sceneData.cameraData.worldUp, 0.0f) + Math::Vector4(sceneData.cameraData.worldUp, 0.0f), + Math::Vector4( + static_cast(sceneData.cameraData.viewportWidth), + static_cast(sceneData.cameraData.viewportHeight), + sceneData.cameraData.viewportWidth > 0u ? 1.0f / static_cast(sceneData.cameraData.viewportWidth) : 0.0f, + sceneData.cameraData.viewportHeight > 0u ? 1.0f / static_cast(sceneData.cameraData.viewportHeight) : 0.0f), + Math::Vector4(static_cast(cachedGaussianSplat->splatCount), 0.0f, 0.0f, 0.0f) }; if (passLayout->descriptorSetCount > 0u) { @@ -1148,7 +1214,7 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( for (Core::uint32 descriptorOffset = 0u; descriptorOffset < passLayout->descriptorSetCount; ++descriptorOffset) { const Core::uint32 setIndex = passLayout->firstDescriptorSet + descriptorOffset; if (setIndex >= passLayout->setLayouts.size()) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: descriptor set index overflow"); } const BuiltinPassSetLayoutMetadata& setLayout = passLayout->setLayouts[setIndex]; @@ -1159,11 +1225,8 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( if (!(setLayout.usesPerObject || setLayout.usesMaterial || setLayout.usesGaussianSplatOrderBuffer || - setLayout.usesGaussianSplatPositionBuffer || - setLayout.usesGaussianSplatOtherBuffer || - setLayout.usesGaussianSplatColorBuffer || - setLayout.usesGaussianSplatSHBuffer)) { - return false; + setLayout.usesGaussianSplatViewDataBuffer)) { + return fail("BuiltinGaussianSplatPass draw failed: unexpected descriptor set layout"); } const Core::uint64 objectId = @@ -1172,10 +1235,7 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( setLayout.usesMaterial ? material : nullptr; const Resources::GaussianSplat* gaussianSplatKey = (setLayout.usesGaussianSplatOrderBuffer || - setLayout.usesGaussianSplatPositionBuffer || - setLayout.usesGaussianSplatOtherBuffer || - setLayout.usesGaussianSplatColorBuffer || - setLayout.usesGaussianSplatSHBuffer) + setLayout.usesGaussianSplatViewDataBuffer) ? visibleGaussianSplat.gaussianSplat : nullptr; @@ -1194,13 +1254,13 @@ bool BuiltinGaussianSplatPass::DrawVisibleGaussianSplat( workingSet->orderIndices.shaderResourceView, workingSet->viewData.shaderResourceView); if (cachedDescriptorSet == nullptr || cachedDescriptorSet->descriptorSet.set == nullptr) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: dynamic descriptor set resolution failed"); } RHI::RHIDescriptorSet* descriptorSet = cachedDescriptorSet->descriptorSet.set; if (setLayout.usesPerObject) { if (!passLayout->perObject.IsValid() || passLayout->perObject.set != setIndex) { - return false; + return fail("BuiltinGaussianSplatPass draw failed: per-object binding is invalid"); } descriptorSet->WriteConstant( diff --git a/tests/Rendering/integration/CMakeLists.txt b/tests/Rendering/integration/CMakeLists.txt index b00025c3..4fee5155 100644 --- a/tests/Rendering/integration/CMakeLists.txt +++ b/tests/Rendering/integration/CMakeLists.txt @@ -24,3 +24,4 @@ add_subdirectory(alpha_cutout_scene) add_subdirectory(volume_scene) add_subdirectory(volume_occlusion_scene) add_subdirectory(volume_transform_scene) +add_subdirectory(gaussian_splat_scene) diff --git a/tests/Rendering/integration/gaussian_splat_scene/CMakeLists.txt b/tests/Rendering/integration/gaussian_splat_scene/CMakeLists.txt new file mode 100644 index 00000000..f76eee56 --- /dev/null +++ b/tests/Rendering/integration/gaussian_splat_scene/CMakeLists.txt @@ -0,0 +1,64 @@ +cmake_minimum_required(VERSION 3.15) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +project(rendering_integration_gaussian_splat_scene) + +set(ENGINE_ROOT_DIR ${CMAKE_SOURCE_DIR}/engine) +set(PACKAGE_DIR ${CMAKE_SOURCE_DIR}/mvs/OpenGL/package) + +get_filename_component(PROJECT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../.. ABSOLUTE) + +find_package(Vulkan QUIET) + +add_executable(rendering_integration_gaussian_splat_scene + main.cpp + ${CMAKE_SOURCE_DIR}/tests/RHI/integration/fixtures/RHIIntegrationFixture.cpp + ${PACKAGE_DIR}/src/glad.c +) + +target_include_directories(rendering_integration_gaussian_splat_scene PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/tests/RHI/integration/fixtures + ${ENGINE_ROOT_DIR}/include + ${PACKAGE_DIR}/include + ${PROJECT_ROOT_DIR}/engine/src +) + +target_link_libraries(rendering_integration_gaussian_splat_scene PRIVATE + d3d12 + dxgi + d3dcompiler + winmm + opengl32 + XCEngine + GTest::gtest +) + +if(TARGET Vulkan::Vulkan) + target_link_libraries(rendering_integration_gaussian_splat_scene PRIVATE Vulkan::Vulkan) + target_compile_definitions(rendering_integration_gaussian_splat_scene PRIVATE XCENGINE_SUPPORT_VULKAN) +endif() + +target_compile_definitions(rendering_integration_gaussian_splat_scene PRIVATE + UNICODE + _UNICODE + XCENGINE_SUPPORT_OPENGL + XCENGINE_SUPPORT_D3D12 + XCENGINE_TEST_ROOM_PLY_PATH="${CMAKE_SOURCE_DIR}/mvs/3DGS-Unity/room.ply" +) + +add_custom_command(TARGET rendering_integration_gaussian_splat_scene POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_SOURCE_DIR}/tests/RHI/integration/compare_ppm.py + $/ + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${CMAKE_CURRENT_SOURCE_DIR}/GT.ppm + $/GT.ppm + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${ENGINE_ROOT_DIR}/third_party/renderdoc/renderdoc.dll + $/ +) + +include(GoogleTest) +gtest_discover_tests(rendering_integration_gaussian_splat_scene) diff --git a/tests/Rendering/integration/gaussian_splat_scene/GT.ppm b/tests/Rendering/integration/gaussian_splat_scene/GT.ppm new file mode 100644 index 00000000..f36ae0d7 --- /dev/null +++ b/tests/Rendering/integration/gaussian_splat_scene/GT.ppm @@ -0,0 +1,5699 @@ +P6 +1280 720 +255 +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +         + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + +   + +      +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  + + +       + + +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +  +     + + +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  + +     +    +                                                                                + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + + +   !    + +   +                                                                                + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +  + +   #"%"%"%"   + +   +                                                                   + + + + + + +       + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ##&$'$'#& #  +   +                                                                  + + + + + + + + + + + +     + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   !!$"%#&"% #    + +   +                                                                 + + + +     + + + +   + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + +                                                                                                                          + +   ! "" #"    + +   +                                                                 + + + + + + + + + +   + +  + + + + + + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +                                                                                                                       + "#'() +')$&!   + +   +                         + + + + + + + + + + + +                              + + + + + + +  + + + + +  +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +                                                                                                                  +  + + #$))*!,(("#   +    +                       + + +             + +                            + + + +     +   +  +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + +      + +   +                                                                                                                +      + +   + +                      + +             + +                         + + + +    + +   + +     + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + +         + +  + + +                                                                                                             +   + +       + + +     + +                    + +    + + + + + +    + + + + + +      + +                       + + +    + +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +             + + + + + + + +                                                                                                            + +                 + +                 + +   + + + +            + +     + +                      + + +    + + +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  +              + + + + + + + + + +                                                                                                           + + + + + + +          +                +   + +         + +     + +                     + + +   "%%%" + + + + +     + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + + + + + + + +                                                                                                             +           +              +   + +       + +     +                     + + +  #'* +!+!) %" + +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + +           + + + + + + + + + + +                                                                                                          + + + +    + + +   +             + +  + +       + +     +                    + + +  !%+!.#1%1%0$-"(#  + +    !  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + + + + + + + + +  +  +  + + + + + +             + +  +  + +  +  + + + + +                                                                                                    + + + + + + +      +               +             +                     + + !'-"2&5( 6) 5( 3&.#)#  + +   %#  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + + + + + + + + + + + + + + +  +  + + + + + + +  +  + + +    !"##"!        +  + +  +  + + + + +                                                                                               +  +  +        + +  +              + +  + +     + +    +                     + + !'-"4'8*!:+":+"8*!4'.#(" + +  $(% +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + + + + + + + + + + + + + + + + + + + + + + + + +  +    +    ! # % ' ' ' & $ !     +    + + + + + + + + +                                                                                          + + + + +             +    + + + +       +        + +    +                     + + +  &-"4'8*!<,#=.$<,#8*!3&-"%  + + + + +   (+ % + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + +  +      + + +  +# % ( )***( & #     + +     + + + + + + + + + +                                                                                         + +          + + + + + + + + +    +   + +     + +    +                     + + +  $+!1%8*!<,#>.$=.$;,#6) 0$) " + +  $+!,!% + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + + + + + +       + + +  +  +       +  ! # +' +* , - . . - *' $ !    +      + + + + + + + + + + +                                                                                       + + +      + + + + + + + + + + +   + +     + +    +                      + +   '.#5' 9+"<-#<-#;,#8*!2&+!%  +  (.#,!#  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + + + +      + + + + + + + + + +  +  +          " & ) , +. 0 1 1 1 / , ) % !   + +      + + + + + + + + +  +                                                                                      +  + +          + + + + + + + + + + + +     + +     +                      + + +  ") 0$5' 8*!:+"9+"7)!2&,!%  +  + +  +!0$+!   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +    + + + +              ! $ & * - +/ +1 +3 +4 4 2 0 - ) & +"   + +      + + + + + + + + + +                                                                                    + +       + + + + + + + +      + +     +                       + + +  $* /$3&5( 6) 4'1%+!% +   + + $.#0$*  +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + + + +    + + + +                ! " % ( , . 0 3 5 +6 +7 +6 4 1 - ) & +"   + +    + +    + + + + +                         + + + + + + + + +                                       +  +  + + + + +  +  + +     + + + + + +       + + + + + + + + +      + +     +                         + +  %)-"0$1%0$-") $ +   + + + &/#/#& + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + + +   + + +                 #$&* , / 2 4 6 +8 +8 +8 +7 +5 1 . ) $ +" +  + + + + + +     + + +                        + + + + + + + + + + + +                                     + + + + + + + +  + + + + + + +  +  + + + + + + + +     + + + + +      + +    + +                        +  +  #') +!+!)%" +   + + + + +  (/#,!#  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + + +  + +               !##"  % -0 2 5 7 8 : :! +9 +7 +4 +1 - % "    + + + + + +    +                      + + + + + + + + + + + + +                                   + + + + +         + + + + + + + + +   !!         + +     +                     + + + + + +  +  !$&&%"  +   + +  + ).#*   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +  + + +          +    !$&"   % 1568 : ;! ;! +;! +9! +6 +4 0 ( + + + +                      +  +  + + + + + + + + + + + + + + + + + +                                   + + + +            + +      !%'(&"             + +      +                    + + + + + + + + + + + +        +   + +   +  )+!% + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + +  + + + +    + + + +    + "%((  $ % 1578:! $ ;# 9! 8 6 +4 0 ++ ' $!         + +         +  +    + + +  + + + + + +   '+/!0!. *$                                       + +           "(2%;+!D1%J5)K6)H3'@/#7(."&      + + + +  + + +                       + + + + +  + + + + + + + + +       + + + +  + +     + + +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + +     !##&)()+.1345 7 9 : % :" 8 5 +5 :#2 ) +$"              +  +  + + + + + + + + + + + + + + +  + +    &. 5$8&9'6$/!(   + +                                    +  + +          (0#:* F2&O8+U<.U<.P9,G3&<,!1%)"     + + + + +   + +                        + + + +  +  + + + + + +           + + + + + + +    + +   +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + +    "#$&'((*,-/24 7!9!:!;"<"="<"<"="=">$=$<#9!8! 5 4 2 +6"=)1 &"          + + + + + + + + + + + + + + + + + +  + + + +     $-4$:'=*=):(1#)! +  +                                  + +  + + + + +       %-"8)E1%P9+Z@1_B3^B2W=/L7)?."4&+!%     + + + + + + +                       + + + +  + + + + + +         + + + +  + + + + +   + +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +  + + + +    !#$%&((+,,.034!7!9!;"<"=">"=#<"=";": 9 8 7 643 2 0 - +/ - ' +"      +  + + + + + + + + + + + + +      +          '0!7$;(>*=)8'2"(   + + +  +                               + + + + + + +      $+!4'@."N8)[@0eF5hH7fG5\A1Q9*C1$8).#'#    + + + + + + +                     + + +  +  + + + + + +       + + +  +  + + + +   + +   +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + +  + +   !"%& ' ( ) +!,!,!/!/ / 2 5 8"9":#=#>$?$?$>#>$<";!9!8 65321/ . , ) +' $ !     +    + +    + + +   +        ")/!5$7%8'7%3#- %  + + + + + + + +                      + + + + + +    #)1$;,J5&X>.eG5nM:qN;lK8aD3T;+F3$;+0$* &!    + + + + + +  + + + + + + +             + + +  +  + + + +       + + + + + + + + + +  + +     + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + +  +    !$&()"*",#-#/$0#0#1#1"3"4"6#8$;$<$?%@%@%@&@%=#>"<"8 8 521/., , ) ' +$ #       + %)'     +    ! !           %*-0!1!/ .)%!  + + + + +  +      + + +                  + + + + + + +     "'.#7)C1#R;*aD2nL9vR=wR>pN:eG4V=,H4$<,3&-#($"  + + + +  + + + + + + + + + + +  + + + +          + + +  + + + + + +      "#$$$$#"!    + + +  + + + + + +     + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +  + +  !#$' )!+!,#/$/%1&2&3&4&5%4$5%7$8$;%<$?&@&B&B'B'A&?$=$;!8!541/,+* ( ' % # +  +         +       " % ' ( ' & $    #& )**(&#     + + + +        + +                +  + + + + + + +     &+!3&<,J6&Y?-iI6vQ=|V@{U?sP;fH4W>,J6$>.5(/$,"'$"  + + + + + + + + +  + + +        + + +  +  + + + +    !#$&())** *(%%%%$"     + + + + + + + + + + +   +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + +  + +   !#%'!+",#.&1&2'4'5(6(7)7)7(7(8(:&:'<&>(@(A'C(D(D'C&@%=$;"8!62/-)(' % $ # +! + + +       +   + +          & ( / 2 3! 2!1!-+/1 #  # %%&&%#       + + +      +           + + + + + + +       #) /$8)C1!Q9(aD1pN9{U?€YB}W@tQ;gH3X?+K7$@08*3'-#*!(&#   +        +  + + +      + + + +  + + + +   "$')+ ,!."."0#0#0$/$.!+*)) *'#   + +  + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + +    #%'!*#-$/&2(4)5*7+8+;,:+;,;+;*:*;)<(=(?)B)D*D)E*E)C(B&>%;#8!5 1-+(%$ # "    +  + +                  # +2 9$<(?)>(;'7$4!;" F& +/%$$( , ) &#"      + + + + + + + + +    +         + + + + + + +      "',"3&<,I4$W>+gI4uQ;XAYB}W?rP9eH2W>*K6#B1:,7*1&/$-"* (&$!             +  + +      + + +  + + + + +   !%(+ -"/#2%2%2&4&4'6(6(6'5&2%0#0#/#.#+!&!  + + + + + + + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + +     "%'!*#,%/&2)5* 7,!:-!<. =. >/ >. ?. ?. >- =,=+>+?*A,D*E,F+F+G*F)C(@%;$8!30,)'%"         +    + + + +  +        &-7$?)F.J0I.E,@*<':%9#2,)'(2 3* $"    + + + + + + + + + + + + +       + +        + + + +      !$* /$6)@/M7%\A-kK5xT=XAYA{V>qP8eG0Y@*O9$F4!A0>.9+6)3'2%-"+ '$!       + +  + +     + + +  + + +   !%),!."2&4'6'7(8)9)9*9+<+>,=,:)6)3'3&3&1$,!(#  + + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + + + + + + +   """"$'!)",%0'2) 4+!8-":."<0!?1!A2!C2"B2!B2!C1!A/!@/!@. @, @-C,E,F-H.I,H,F+E)A'=%9"4/.)'"        +    +          "'0 8%B+J0O2O3L0F-C+B)B(;#4!.+(,5 +1 +& !    + +   + +   +    +    + +   +  + + +  + +   + +    #&,"2&:+D2 Q:'^C.nM7yU=€Y@€Y@zU%O:"J6 G5B2B0>-:+6)1%.!)%   $(+- ("  + + +  +     +  +  +  + + +  "&)+-"1$3&7(8):+;+=,=,=->,>.A/A.A.>,:*8)7)6(3&.!)"  + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +  + +    "$$% & )!+$.&1) 5+"7-":/#>1#A3#B4#E5"E5"F5"F4"E3#E3"D1"B1"B/!D/C-F/H.J/J/J-I,F+D(?';#5"2-*'#        + + +  + +      #)/ 8$A)H/N2O1M1H/F,G,M,K*B'8$5$. ,-/ *"   + +       + +     ( +  + +  + + + +  ! & ) ++! ++" ,! +( % #  !%-#8)?.B0I4"U=(bE0nN7yU<}W>}W=xT:qP5kL/hJ*cH&bF%\A"X>!T<Q9L6F0B.=*6'1$+$!)3$<)?*=*3%)    + + +  + +    + +   & . 2 7$6%4%3&5'9);+=,?-?-@.@.@/?.?.C/D1F1D0@.=-;*:+8)4'."($  + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +  + +   #&&' ("*$-%0( 3*"7,"9/#=1%A3%D5$F6#G7#I7$J7$J7$I6$H5$G3$E2#E2#E1 E/G0I1K1M0K/J.H,F*B(>&8!2 ,)%#         +       "$+0 8$>(F,K0M1L0K/G-H-P-U/N+C+D/9'3".,)$      +               +8%"     + +    & , 2% 6( 9* +<, :+ 6* 2& -" ( $$"#&*6'G1P7P8T:"[@(eG0nO6vS:{V<{W;xT8uR3tQ/uS*zT(~V%wQ#mJ!eD!_@Y;S8M3F/A,<(6&. *#"!,5 =%G0Q7O6M/H(6#'   +#$%#! +  ' 2 :#?'F-J/E.=+;*=,?.B/B0D0C/D0G1H4H3F3E2F1F3E/A/>-<,:*7)3&."($  + +  + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + + +  + +    $&')"*#+%/&2)!5,#9.#<1%?3%C5%F8&I9$K:$L9$M:%M:%L9%K8&K7%I5%H3%F3!G2!G1J1L1M1M1M0I.G+D+@';%4 /)%!          +" !     "&)-4!9%A*H,M1P2O3O1K0I.K-R/R/J*J0R: Y>!M49$,%!    !( - 0 3 8" +9#4 +*  +       D-)  +  +   !'/"7'>,D1 I4 I5 H6 +G4 A1 :+ 5' /# , ***3#;)G.P5W:]?"cE)jJ/rP5yU:zV;}X9}X5zV1{U.|V*W(V'~T#sL"hE _?_>bB^=T6S6S5N4H0K/F.@&3"="G&G'S4\;a?fAg=`6Q3G-9%0. 0 ;>@?=7- ' +% .2 <(G-R6^>`@S8G2F0G1H2J3M5O7O7U9^C!iI#b@\>S:G2E0D0B0?-<,:*6)3%,!($  + +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + + + + + + +  #&' )"+$-&/'3*!6,#;0$>3&A4&E7'H9'K;&N<&P<%P<%P<%P<&N;'Q<%N;%K7'H4#I3#I2 K2M4N3O2M1K/J.G,C+<&7#0!+&"      $ ( *-) & #" "#&)./ 4"6%<'D+M/T4W7X6U6Q3M1K0N0S1U2Y:`A#eE"T8@+1!(&#&;(@)C,F.W7h@nBl@e@h@lBnA h> _: +Z7M06! #  +   G03" +% +  + + +  &/ 6&=+C0J5P:S; U= S< N7 H1 +B, @) C& +L) +S1c?oFkBd@cCgE"oJ'xR,†Z2™f5£k6žk7žk5¢m2 n3¢q3™j.`*†[(…\)…[(…Z ‚U€T„UƒRƒV!´€C g/‹\)Ÿl7b1†[*…[(€W*‡Y+€S$xN&T,{Q,yL&pG!mH!`=R/P/Y5^7c;!U0P,Z1a5X+T*U1A#5 +0?*C/Q8^AiE!eD`@Z<Y<Y;`<kHjH%tL!uJlHeFgG pG m<xEtI?*D2E2B/?.=,:*7)3&/")%  + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + + + + +  %%' *",$.&0) 4+!7-$<0%?4&C6'G8(J:(M='O=&R>&S?&S?&R?'Q=(XA%WA$L9(J6&K6$J4"K4 M4O4P4O2M1K/I/E,?(9&3 ,)#   % * . 6$9(4$0!+)),. 3!8$<'>(?)B+G-N1U6\9\9Z9W6 S4 O2 M1R3W5V6P5J3J3C-6$. +-5kGoEmAnEyM‚P€N}L‹X%–a)‘^,Œ[*ˆX(†W ~OgAR4;%, "  +" A+<( + + + +  "*1"6';*B0I5O9R< W? V> +U< P6 +K/ I+ +K) +O* Z7tH}MyNvN uO(xR,X,Š_/“d4žk6©q6­t7©r6©s6©u6¬v4¦p.f)a,–k6 q8œl,`„WzOpInL%™o;—d6˜g4±zA¤n9 m5 o6¤q9¢p1k. p2§w:¥t=›i2Žc/}Z1zW/rQ,oO,sP-|S.‚W.uN*sL'}T*{Q'hA"fB"X; :'1D,S7Q8]@tP&…Y'}S$mI"lH#pL%lH#qL#U vO(tN$pJdCdBcA`9b4{J‚T#aC#Z?J6B.?.=,:*8*5&0$*#   + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + + + + +  (%(*",$.&1* 5,#8.$<1&@4'E8(I:)L<)N>)Q@'S@'UA'UA'U@(S?)VA'VA'M;)M9(K7&J6$K5"N5O4P5O3N2L1J0F,A)<'6$/ )&!"$(*2#;(?+?+;(4%3"4"7$='B*F-I/K/L0N1S4V6Y8 [9 \:!Z8!X7"U6"R5!P4!N0N0B'C(O3K2A,=%:#C$)* + + +  $ ,0!4$6'<,A/F3L7O9 Q; P9 M6 I4 G0 F- G-T6aA[>P7I3O9 Z@$hI*xU2}X4}X5ƒ[8b9–h;šk5žl-¢m+¦l#œflJ"^B"_A!bCJ6C0K5Z>\@!sQ+~S&|M uO$nH#uM!{R#„Z!“b#Žb)•h.–m4e1ƒU"wR&oR,oR-tR.nN'`BpJjCR4O3P2D(=(7&- - ?+X8eChF!pJ$yT*}U*vQ(nK(pO)tP*cF&[?!X=R7Q6Z4b2R3O6P6I&W7{S#}W)uP"I4@.?-<+<+<,9)4&, #  + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + + + + +  #"$'*",#/'1*5,#9/%=2'A4'F8)I;)M=*P?*S@)T@'VB(VB(WB(VA)U@)S@)P>+M:)M8(K8&J5#K5 N5P5P5O4L3J1H.E-?)9'2 +'#     !#%&(*."7%>+A,@*=)=(A*E+I.M1O3S4W5X5\8_7]8!]:#^;#]<$\:$Z:#X9#V7"O1O1 I.F+M4N4H0M/L.C&=$X<L7@,6$;&B(G0L1R4V7\=c?gBkElFhBb>Y7M/?(2! 1 6$ +4!! +  +  ( ,-.. /#4'8*<-A1 C2 E3 C/ +B, @+ >+>+G0cBnIbBA/@.G2P:#]@&eG*eH-gH.nM.}V,Œ^'Š\#qP&iK#_D!V;^?a@`=C.E1L6pIe@U9mF rDM1R:}SyS#ŠZ!•c%œk-’j2‡e4^2{W-oR*fM)bG%`EZ<O3X6 D+ 1 +:! +A%7 ($'5'K3e@rJtL#rN%nM'nM'kK'gH%fG%_B#Y;S:O4O4Q4V5U2M2N6R6Q1Y<sO!mFiCF1?.>->-A/C1A/8), "   + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +  + +  "&)!,#1'2*5,#8/%=2'A5(F8)I;*M=*Q?*SA*VC*VB(WC(WC(WB*VB+TA+R?,P=+N:)K9(J7&L6#M5O6Q6O5L3K1H.E-D,?)9&0"*&"!   "!"#$%'''(+.1!7';)>)A,F,J.N1Q2R4V5\7[9`;e:b: `=$a>$b>%a>%_=%^<%[;$X5!V4!Q5!N4 L3L2I1R4S3<&?"X:I5;)8# 8! +;$>)E.S3U8[<b@eBfBiCfAa>Z:Q2B+9$ 3! .)      +  ' ')%$&'."8( A- @+ ;+ :' ># ;% 9(:*>+K5sKyPG2?-D1S9!lB"„T%uS(cG(cE&lI%|S$xS!{W hIJ6J8W=mAc8 Y5W2X<Ÿb …RF0N6N29*N4‚S}W!tP'Œ_'™l*—n.‚`2wY/xX-sT'fK"cFV=>*+<% * ! 3 ?$ +;$ /!*/!<+V;qHqHnL%nM(gI&cE$eF#mH!mFdA]>T7P7\:pGmFZ<Q8L4O6O7dG&jK I, C* @0>.?-B0H4M7I5<+-!!  + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + + + +  + +  !&( ,$5)3*5,#9/%<2'@4'D8*J;*N>*P?*UB*UC*WC)XD(XD)XD*VC+UB,T@-R>,O<*M:)K8'K6$K6 M6P6P5L3J2G/E.D-C,?*9%.!(%$""""#%&'()*+++ :)F2F27(7$=)D+H.L1N2P4S4V6[9`< b=!c>$e?%e@%fA%f@'d@'b?&`>&]<$Z;$W9#S7!Q6O4O4[9S6B+A*[?#V:D/?+>$@*F0L3\:a?lGuKnJnJmIqIlHbAT8E-A*E.,  + + +   +  &(("( E* Z8 +Q1 <& +6$ +9$ +; <% H3bB`BaDpNySV>"V>$lN*’g3®r1À€4½~1¢n3¤q7”g4Š`*„Y$~V$uT'oR-\3†`2•^&|KvFf<‚W%£j|MG4D0I29)E3vPhJ"aI'ƒ]'’j.¯|/j2y\0X*yR#tS!yQfD=++ F( / 1 D& +K0;(3&6'D/eG%nIiF!nM'qP,qP.nM*lI#~O…S|PuP&pO)pM$~R ”^’]zQ jG!mIyR$|V.|X2fG$G&F" C-?-A/H4T=![A#R:!>-+    + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + +  &) ,#8+5)4,!8.$;1&@4'E7*I;*M=*P?*TB+VC*XD*YD*ZE*YD)XC)UB+TA,R?,P=+M:(K9)J7&J6"K6M6N6M4J3H1D-B,>*<)7&2"+'$%##$&&'('++-+ 2%P9S9F2=)=*6%<&@)F,H/K1P2U5\:_;!c?#g@$hB%hB&jC&iC(hB(fB(eA(b?'^?&]=%Z;"Y9Z:\:e=d=P4e>‚V0†`5‚\/vP#gB!jH!qKmInK!pK"~P†VT!W$ƒ](a#’h.Šb2tP)Q7L2pJ5#  + + +  + !- 3$,!$!* 9" +H( D& +1 1 +A( +T0 I, Y7‚W%£r6œp8˜m9›q>‘j8Šd<”l=­x@ÄŠEÐFË‹?ă6Á‚6Ã…:¶€?¢q4¤r+“h1—l9¥w@«{E®~E²G¯{A¥s7¤r8‘h3–e+qI M5Z=U:@.Q:mLrS$¡{F¾ŒG¦|>Á?¸Kª‚MžtAi9\,}UvO[@V>*K5 K6$WA,Y="[= ˆg?gL1B/@0K5fD%cD gE"pL&jI&qO,sS/nM%sKyQ ‚Z,g:•i8c4Œa2Š\'}S%zV)€X)Œ`+”d.‰`0‚Y2^A"= =>)>-C1R: bF%eH&V>">-(   + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + +  &.!.!3(4(3*7-$:0&@3(D7(G:)L=+P?*RA*UB)XD+YE+YD*\E(\E'WB+TA,R@+Q=,M;*L9)I9'G6#I6!J6N6M5J4F/C.?,<)8&3$/"+(&%%$&&'''((),+8&H4C,J1Y<X;:&7%<'?*F.J.L1R4Y8^<"fA#kB"iB%iC'kD(lE)mF(nG(hD)fC(cA(a?&`=#`=`=\<e=e>b;vD~N)oN)pM%jFa=uM"uO"`?W:[>sJyP"lI oO#wR$Š[‡\$|U*lJ$S9R7Š](P6  +  + *8(A,:(4!4 P,Y3I'>:B) +\6 uC c: c9 +yJ†WŒZtQ%qS.tR)cH(cL,{Z2 s<ÈŽIÑ“EÀ„:®x6¢r:pO+tP$•duO"jG mJhI cF"kM%rO%Œ`+†].jN)„X&nCc?}T!eDO9gEzT g'®„JÁ•V£}G»‹C·ŠJ±†H¨|Bc&S=%O;%fL2_G+T<$L8!W>%dA&T'cB"mM*^C%R:"M7#N5J4H3Q9W<_>]:W8K%J$ a?jDnFmGeBk=Y6J" C<*?.G4ZA"jL(iK(T=!7)"  + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +  + +  %0#3! -$0&3(5,#:0%>3'B5'F8)J<*N?+Q@+TB*VC+XE+XE+[F*aG#\D'UA,T@,P>,N<*L;)H8(F6%G6#I6!K6L5J3F0A.=+;)8'4$/",)'%%%&&''''()*+3#A-J0W7`C%b@L1=(>(A'L/Q4M0P3V7`=!kCjA!iB%iC(kE(lE)qI)qI(lG*iE)fC(eC(cA%fB$eB"_=e9]0e8„N„X'W<>+L3qF}Q!W<I6H2L4Z;\>Z?`ChGTƒVjG`AV;aA¡m-~X$"  + //  +(:(K3Q5O3N.O( +e8wDj=]3a2k> qB ‡TuH €KKU +’Y b7 :(H1K19,;.A1kN,‹f7|X*jI$O:!M8_A|S`?H.?+K4Y=b;F-lEjDT9kGzJvM†XpK_BfIŽd!žp'}^0u\5}b6t5‘l4‰c.†^(M:"=/8)M.V4:';+K/\;O7A/B0\B(dG+U<%cG*sQ,b= fH(iJ*V>%C1=,:)9(<)@*F-N.M/L/L,Q/\9d?e@`>[:f@Y9I& @ :*>-K6^D$mN)fI'J6.#   + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + +  + + %&2%6$ ,"-&2'5+!8.$<1%A5'D8(H<)L>*O@*SA)UB*VD*WD*XD*]F'^F%VC*TA,R?+M=+K;)I7(G8&D5$E4!H4J5J3F1A.>+:)7'3%.!- )'%%%%&%&&&')+ 1#1$8(L3[=[?"[;T4?(:#>$O2T6N1Q4V6b> mBjAeA&gC(kD)lF)rJ)pJ*nG*lG*jG)hE)dC'iB%hD$`;^/S"X+tBƒX'W;=-X9e;Z2Z=dDL5D/L4O7N7V<_BR|OmHjEjDƒV²w/£o/@*, , +4 3 +0 D-R:_@dBd@c<\9i? +{GxGtCg;ˆN ‘W ’[Z—\†Q‘X j> H$1#F.^:O4C0H3\@qN%‹\!g!lH P7W<nFzIK->*F/Z8r>e=xL{N`>cA†SuKvOzOlI†[¤p"e)pU/kV2rZ3j/†b(uS&…Tb=7++ >?&<'D-R9dCO6<,D1aF+hJ,X?&rR1Y1Z8iI+dH+P:#<+6(2&3$8%=)B)E)D*D*H.M0T6W9[9_<a=jE`=J#> +8)=,K6]C$eH'W?"=,& + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + + + + $5)$4(7(,#*$/&3) 6-":1$?4&B6'G9)K=)N?*Q@)SA)UD*VC*WC*WC)YC)WC*S@+P>+M<*J:)G7)D6'B5%B2#B2 E2H3E1?.;*6'4%2$-!* (&%%$$#%$$$$(/$<+8)5&O9X'=&?)>)G-M1R5S6hA nD iA d@$gC(kE)pH)wL(rK+nI+nH*lH*jF(gE'fD%eC%fA!k?`4Z2g=tN%U:?+D.EJ a@eCC-8)B/K5D0G2P9nFkEdCfClG”d'§p)¥o(qG`=P4 R6 eAvN tMuL~P„PƒPNwLvK€P‡R|I +wDœ] ªk¨hŸd¦gŒT…S @*)I0oF N‚PQtN•c g¢k%¿}+¬k!rJC/_=…Mm>V6R4D-uHpF…QWrGg?rC_:kGxOkKb  m"†`&sU/|R)kQ.z[+tNkJa;Y/:)4'Y:R6A)@*B-T9K4@-H4"[A)_E+Z@)zW5e:zR-uR0cF-K7$6(1$.#0#2$9&8%6$4$7&8'=(A,F/L/]8k@iB_8M$G8&:*G4T0!@0F2E1@.;*4&3$/"-!)'%#$#!!"#"#$(/$8)3%<+W<#Z?"_B$?*@&R0Q0D*6$B)I/Q4T7qG~M b8[1gB&pG'zO&vL)sK*qK*oK+nJ+lH(jF%fE&dC%fE$kG!e@\7a=cB P8G/>!7: J4N88(7)S:b?<+@+Q5xH h?U8X:eDŒ`'[e‹V „S +oF fC €S™e +—bY“TšV œZœ\ ™]’^Ž[ŠY„U†SY§m°r§l˜\€LmE 7$6$`9Y9xLPrKX<kHšgžh"¨l*¤i Ž[!M6nEtJX:e=h>G1{MvMtJjCgBU:e@\:^=jH[CtR!…_"„]"tV-gC$_E(_J*xV fHA-F,<+R7{PoFW/A'<*M6M7F4 K7$R<'U>)ZA*vT5Šb;›o?†a8cH.L8&4(8*7(1#5&7'8%2#0!1"/!4$7':(C'Z4d<f>\5H E5$6(?.E2A/2%!  + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + + + + +  <0$2'A10''!*#-%1*5-"9/#=2%A4%F8'H9'L<'N>(Q?(R?(S@(S@(T@(S@'R?(N>(L=)I:)G7(D3(@2&=0#.@/C0A/;+4&1$/"+(%$"!    ! !#)/"4'3&:)G3gJ+dI-5$I,U3D*?&8$G-L2V8kBmDpF f=e:mF$qH%zM$rK*sL+sM*qL,pL+nK+lJ*iI(iG'kH%hG$eD e?nEmJcCS4?*  +0E1G2]@tMV77#9'a> lB +T6 J0H2[?†W‚L›aˆT |O fC X8lH˜a¤j bŸ_ \ ]¡b œbžhh_‘^}KwI”b¬r k›d —^…S H1 f= xF +\;€K„WV;Y?lLfyC•U§ef"kF†U{R\?^:g>G/wN}T`A[<U9M4e@g>_=`@O<]F!fK%pS&mQ+TB*N>(M=%fIS=2%8)E/mG–_‡Tf9O,=,I5J5"K7#K8$L8&N:([B,gJ0xV2¡q@‡b;_E,L8&5(M7F25&<(@*<(3$/!4$7%3$5%6'=)K.H/U5Z5HC3#/#5%5'.#" + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + +  + + 3($,"B25*' '!+$.'3* 6-";0#>2$B5%E8&J:'L<&O='P>'Q>&R?&R?%R?&O>&N>'K<'H:(D6&D4%A2%Q:T7cC vP `?G, E* + <( I0 J/ X4 +E, Y=UŒU™aŠV +hC\;bA‹Z¯m¹t·p­m¦iŸg¬p«m m¥n¡i¬l’\‚R”b šj ‚YnJ zM [9 1!L. \8 J-lDoGQ9iGzSŸlŒT `¶tŸk&S:lE…XŠZ|OuL>-Y?|QgDiB‡NiCrIzMqL_?K8K: VA#pN oP#L;$N;"L: dGnK;,5&U9„Wªl–^oBN2?. F4#I7#J7&J7'J8'L9'XA,W@,lK.•i=tT6Y@*M7%3&A/A-:(C.E0>+6%5$@+K,:'5%:'D*A,<)H/O1;@0((&  +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + + + + + + + !#;-7+'!%(",&0(3* 8.!;1#?3#C5%F7%I9$K:%M<%P>%Q>$P?#O>%N=%K;&J:&G9'C6%A4$@2$<0!9/!8,9*;->-=,9*3&-"* $""* =-;+8*4%8(O6 ˜qN‚`BN3J, 9$;&:&L/G.E-[:kBlCgB jF"fD%jE&nI(qL*rL(uL$wO&vO)rN+qL%qJ"sL$}S$„W$‘[!™\”\‡T{JtEwHmA‰`,šm7~U!eC>+6%lEkD05$ I. +a=J.Z?Ž_'”_¢iŸ^qHfEnGˆS«g²q¬l¦g¢gšb±s´s®tªs¦f Ÿ` ˜_ tH še ‘]!xLR5`7 7" "5! R. 3"K-W0 +Z=mI}U j§k©g¢hWC/G0kEiARfC8'Y<d?iBK1Y9T9vO†TuMX<M9WAmJ‡WySO9 M{K_C]@@-9)Z;ƒVžfzPi?Q4N7"Y?$ZA%N:'K8(K9(N:(T=+O:)lK/Z5aE.Z@+O8%6)9)F3@,G1H0A.:)5%C)M( ;#7%9'A(B*<+<*:',=-   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + +  + /$4(&"% )#-&1)4+8.!;0!?3#D6#F7#I9#L;"M1!<1!:.9-8,9*:,<,:*6(2&*!$ %*!?.A/F3M89)<-‹hJ™pMW<(;# 8#1"0!@)@+=*F/Q5X8X;"^>$aA%fE'kH(qK(sN)uM"wN$vO(sO,tN#{KvK"~T&‹\%—_"W€O{NoF];Q3F1†a0•j3zR_>)N6‡]#yPK2D0I0J/f@X2_>—e*•d#a‰X jGzPtLpG…Q“Z–ZU—]Z¢h¤f›e†[ŒU X ~O O1 _~R`=e: tA D+O2 X3 G% C+U* V. mI|VbŸm¾{³r“\qJE/N1uGs@ uIL2E,T9U.d<[9vNfBtN!rDoAa;Y:YBW hŒ\Q8sC^>N7E1A.C.W9tNyR ]@ S8S8!Z<$dF'hK*O;)M:*M:)M:)N;*N:(zV7rR1hL2dG-V=%D0B.X<M3K2J3F1?+:(I-L-8$8(9*B.E/<)7'+!) +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + +  $-#&!#'!*#.'2)5+9/ <0!?3!B4"E6!I7!K9L:L: K:!J9 H8!F8"D5!A5 ?2 =1 =1<0;.:-8+9):+8*5(2&,"%!!)!/$<-A1>-V<I33'eM2–pJbE/F* T4J./ :(D.<)B,J0U5U8[=_<iDrGvItL&vLuI{Q"{T'xM"|NzR#…W€S!…W YŠY}M|KvKR7@,Ža,’_'R`8H.nH"}RsMjEqM%iFU3`;_: \:˜f)—e#‚V–` |M‘a|SgDuL’]˜^‰U‚OzOˆVŒVxLrLyPzRhDcA›e †Y"Z:k> xF +V0 ]8 vI ]7 `9 ]0 +b2 wOœj¬s¥n!¼z´r]c@a<L“Y€NuIO/[5N4vKzNfA—fjHlK$j=c6]8H-:,†X¨nˆVN72&-#;+R9\:O5W;cDeH$kK'[@$dB!iD%iF(cF+Q<*N;+O:*O:*L9(P;)ƒ_;vP0xU8rM-gF&Z>#L2d<[8L2M4I1C.<'A*?(7'@-`?`@I57*:+2&    + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + +  + +    $$ $'!+$.&2)6,8.<0@2C4E5H8J9K8I8H8G7 E6 B6@4<1<0;.>0<1<.9,8*8*6)4'2#+ $#,$3)8+@.4%K5U;<,N:$gFT@(O2V3G+0!@,B-A,P7O3S4Y<]=]8jAqFsHrM%tJrGQyKqI!rO'T ‹X†S‚R[‘`„TƒPR\=D-…X&S%vKh@M2K/J.h?ƒR!}V&kD„P |MvKpHa(‹^ Z<{M„L +£izSP6c@œ_›`‰Xa?R6W<eA_=`A\@Q:H0pI­r$—a#m;_4iAm@„O +•\ e? X6 P0 b: +Œ]žjªs ›i §m£f„SI2R5zLS~MU7B+R3B+xMqHF0Q9H3lG!l= j:^;.#'!O9™f„X@.&&.#V6j@`=V;[@ jJ%ƒY"rO'lG$xL%tO*eG)ZA(O;*L:*M9(K8'Q;&X3yS+vR2|Q+wL&]> I-O3R4S6R5K1C+:'6#7#C.jK)}W)dEB.;)D1@.($ + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  +  +     + + + +  +    !% '!+#/'2(5+9-=0?1C4F6I7H7G7G6D5D4A4?3>0;/:/.>1>/9-7*6)3&-#)$  &1'7+:+7+4'D-U>F3?/a@dK2L3!7 7"*0!2$=+\=U5V8gDfB_5e@gG%kJ'pM)sN'b=lEqHoJ#wS,U …Q‡TŒRŸeŒ]!yNxG sJ\?@-hH%`C%qGmDP1<% +K0ˆX‚R‚Q„U\!ŠTŒU˜\ |R~R#H+…SŽQ›`pJU8_@Y|MnG`;K5F5K0R/J6H4B/D/gD –c3‹]&‹SvEyLˆP”Y R H- C) B' sF ©oŽ`•e…ZœgbPA,>)?,^;f@O4@+E,?,qHe>J2I4:+mE ŠQ•ZP1&$>,oL[=+" #*V7W:N6O6W@!tKxHwPW(wS*jH)nJlJ%O;(L:(M9&J6$P8$kM*tP*rK+}N'zL[9K.R4U6]9W5I->%5 16"O5 pE¦uC_D$5&?-U= W? 8** + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  +    + +  + + + + + +    !$("+$.&2)5+9-=.@1D4H6G6D5D4D4B4A3>2<1;.9.8-;-?/?0>/9+7(4'.#*$   ",%5+:-<-8+:+F3[@P:@.iO2{^>tR0K+N30#*.!7'I1Q-f>~QqIb@dAfE#iI'pM(tK!`9e?sN%wR(‡\,—f+ˆVzM„Q—^!qIoJtGjBiFN.c0 \;~Q wLoD];X;uM|QŽZ…OˆSŠK‹T™Y {Pa*g;T…K ’WC,@'\2T8Y9^?M4K5O8P0R0Q9J8D3D1`B!b3_)eBK1_>ƒOŒYsIH,B&B(kA“atOpMmK„UqCd?A.O3H/P3d@X7]9e@[:[<V3Q6K49(hD^–]…U#9+$J3tNF3# 4%gDfEV<T<S:‡X‰T \!—f*“c.wQ&}RzS&K7'I6&J7%K5"K5 ^B$sQ.oJ)uH#}MW6I,U6X6[6Q.A"5 / / 2@*}T.m=YA#3%D0iJ&rQ*C/2&" + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +      + + + + + + + +    !$(!+$/&2(5+9,>0C2F4F4C3B3A3@3@1=1/<.9+4'.")#  ' 0';/<0?1=1F2V>bEV>A0N=#lFg=gI+R:/!',3$D.]=€P‰WrJaAg?nHjH$oL'uM"nF[9mH!yT%†Z&”c(tH^7d7„Pc@eEyLtLbCU3f1sG†S{K|MyKhFpE pH{QzIrC†R€R‹VwP"†Y#oD‚NˆO ™\ F. *6!9$C, [9 V7R9Y=\=U4U6R9G3L6qL „Y)“_&^;1".!f?–]~O^:`:…Q}PœeŽaiGgH“b!‡UaAA.Z8S5[;tGpEMŽR PT7L.S8P5<(]=WW]/R53 :)L43#-B+*Q0uH…V‹[ˆYW;yOfži&‡Y(’b-yR(rO&yR%R7"G3#G4 H4M5|X5‚^7gF&hAwJW5B)M0N-J' @ +3 , * ) +. 9#S7tM,U: 8)@.lL(uR*G3;,-# + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +      + +   + + + + + + +    "$(!+#.%1'5)<-A0E2E3A2@1?1>0=1O; jP1¢V”tQpQ1@.&'(,=+dCyLsJbA\>iEpJiH#mK'qO(gD!E'c?tP&wS%|T&qK a8U,gCW=gC…Q|NR9T6wGuFƒN}ET ’W~N {H|J +vLyP!„V(Ž`(†[&…YzS$‚RuHŒW„U rG M0-C(O. A&N3T.Q0a>dBT. Y3 a;H3P7nIa7Kh?+  Z8 ƒM Z9I-f=‰U˜`a¯t!|S‚V›i!sHX5T8c?Y<iDsKzKUxDd9O3E)H,>++?,rI‚QŒ[0g:=!1!l@ @*E/_;@&9#]8uMrJƒPe?‡T¢g—d rA xK$qJ%xT.”_2a: H-C/D/J3¢uG’h=]@#[8m@^8 D' =" @" +<1* ' & & + 5 ?)R9P76'3$N8`E'YA(G7#;,  +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +      + +    + + + + + + + + +    "%)!+$.$2'7,?.C/C0@0<.%M;"V@!gK_DV?T=K7 [C)ŽqN‚dEaE#D,)%!'5&H3Q5Q8P7Q:dDeFeF$kJ&oM'lI#^;nJ$tQ'sQ(qM&lH%d>`;[? Y>kCxGh<]<sJ‚QƒS”[†M  _¨e”\n@}L„W’c#Œa-†\-ˆ[#Ž`}Tg@rEŠ\{NyMsMI1I-`.[7a;g;U6fA{P€MzHn;L4C1X:g9 e2 +M+  # T7 +b;N/ /!P6rJZ ’Y¬qzTŠ_…\B& >" U9X<_@uJlCm@ˆRuF^;Y:N+ C)*$4'rJ…V„X.^=+-[9 ,]@"V6:$I%i<]<^<g?k@vF‹Z €R"uJ"|L"o>gB#m2g*B(B.F0M3_6‹`1kH!P3P0 L- ;" / /.* &%$% * +5 M5•jcD"jI#nL%rO'rM&pM&wR(uQ(g>`7X8P2dBcDmDm= `7jD…U` +†WyJxCO +†O †V +‘Z†PˆYŽY{R vP{N‰Z wP vO"^'\ŠY©phrM „W'‚MsFlALsD†PŒ]˜`ˆSl; _7G+jE~Lf7H*// +>& +b7p?G, L/kBLžd©t oNkJbEN2F& L0Z6d@xKrEa;iAhCeAW9V4A) )-G.zM›_’c2T*S-n6‹N›U/{?!G.6$1 + +( (( + , - +- ,. @(xV0™m@cH$(#3%eJ,rS4fI,dI,4'# +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  +  +  +         + + +   +  +      $(+!-$2%8)>->.;,7*6)6+7+7+6*6+7,7+7+7*7*5) 6) 9+ 7( +-" ' !      ' 5+D7!UB'qU-jR+iO(qR%{V#W? J8 @15'P<#¸f¶Š`gJ#+  +#1"9*?+C,I.S8_@!dF#kK&pN'oN&eF"qN'qM%]1X1V6T6gDvLuFwB rD}P…Y‹T jBb>wI sB +j> ˆT ®l ¢f“`[ˆZ}O{R!ƒW‡\$”f,¡m*¯v*¨o%¸z£m ªu5žj.…QkCP1mCzG|A tK}Q~Ld>[9T3bAzNjBX:>(F, 9' +_9g;S5 +Q2 N.^/ l= †WkIoIfFnEf=B" \1 a<jDk?_:Y<^<eDR5Q1D( +(K3„R©g•e)X= 8$#  8&kG„cY‘ri£m<‰TV+¶l!²k©c¼iªb ²e¹iÚz$J–?”5q,"Y/&j7-=2‘E(T'·[E6&V)/& # +# #( - 5:93 2 >)nN/\3hG$0#'<,lO-{W,tT+tS2B0) +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + +      +     #'* -"1$6(;+;+7)2'2'3'3(4(5)5)5*5)7*7*6*5* 4( 4( 2& -" '      ' 5,C5!UC'z\,_.qV+nP'pO#S<F3<,3'L:"£Y­‰`S;!  +   (0"6&=+C/I3P9Y>!`C$fH%jK&iI%G1_C nI!T' Q(G+O1hFƒWxHxE„UŠYvQb=J/G/sG{L tG}L ‡Vše”]P‚SmGkE~Qc b+Ÿi(¤l(ŠW¡f­s)£n/„[*‹`+zP H/O3lCmAb?mFvGW5 X8bBE/\; \5 Q5F1W; 5% d? h=[0O. :&I-tFsIU:bBhFU}LY5]=c>_=c@yFnCV7[<R4S3B *-!I1sGœa•b(qN V8 <( % , Y6€cZˆon•lSP"RF_QIg\B4Z?*gE5…X0Y%{H®a O-ž[&²\4˜I/x91‰;4—C=“D=‹M8±\K¥-/)=%  + + % ,21 . ,D0pS8~Y/iH$6'5'F1gH+}X)kL(}Z4F3)  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   %) ,!.#4%7(8'5'0%/%0%1&1'3(4'4)3(5)5) 5( 3( 2' 0% -# * +$     + %2)A5 Q@&wZ)„c+wY+qT'\D"F7>/9*1%;)]H2jR<'  +"&+1$8(>,F2N6T< Z@!aE#fG$fF$L5_?oK%d8\3A'S5zNƒW}LxFuL}RcCR28$B-jB +~MrG[<hC~O€MxDwLnJvP^ ˜c‡Z!|OyKŠW©h£k& p3žp9d*^&Z;K0yOj9W7g;pDc: d@rIR5^:T/N3 1# @/- `= +m<P)M(U/ +R1 e1 Z2 H2C1]A~V oCa: ^?l>d;fAh8 +wI U4R4X8P2< 2 @*L7!a>„T–d#€Va< +R5 D+ +8 S1 wV=f_‰eK’ZlRLSMtOC_LCeMHnWMjyXLM³^&«UªM·V/¬D.g<2N1%E.$B- aD,£gJ‹0.{0*O'(   +  + +" % ' , C.hL2rQ-T; G3C/K6]D$Z;`C#zX4C0# + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +   + +  #( , . 0$3% 4% 1&-"+!,",#.#/%0%1&2'3& 2& 2& 1& /$ +-# *! & !     + !0'=1K;#mS%|[&sU*vT&U> :-6(3'1'1$/%2&  !#(0#6'<*E0K6Q:V= \A!bD#hG%fD#lH!sN$oD\9>&S4{OyPG +vA bBqGrGR/ 8%B-jG«n‚SP5Z=Wša˜]Ž\–`\’`”_€VrJŠV—c&œh)—h0¬}Dšj6Ž`)«t1†Y&U¤g‚HV7M) l?vLvLŒX{OzR'N+E( . @) jB †O ^7 j> +qD +g= o< +vG +a@B/D/lJO‚O]>b?rC {F P*S,K. X6 nA e: A% +9$L3V<#jE€O‚TrIc> +qG]8 P1d=xM†`FkPd$†Z8WHiH@dKFlZOjh[]iRKuGŽO±H¤! ·K*ÄQ1µM!—Z-N;4@1)XA.–Q8œ0$‰80b."."  +     # ,7! A( >*C0]A!dG!G4J4P:H-Z?"pQ/:+  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +    +      % * , ," 0" 1# ,! * (() + +"+# .$ .% 0$ 1% 0$ -# +# *! ' # +     + +  +$7-C5 _I"jO$dM'qP%T>2'+!-#2&.#"  +  )7(B,F0E0T8]@X>V<X= Z? `A"iH#mJ#eF a9B! +Q1{M€VwKkA^?yL{Hd3 +T3kGŸhºwŒVH3S8„V©m¡e•^™Z“]”\‡Q”\Ÿh˜a‡[)„[(_$“a%„Y"£p5¸‚?®z;£m.¡f"^ gFa<ŠS lDmA†PuK€\3e=<&$R1e:i>›^ ¯l ¨e ž_ +ŒS ‘V ‚J pIL59(\@™d‰VeCpK‘Z~J i9I&\6 +kA P j:2E' aCcCzK~L{KK4P/O)D"M. +pA +gD$nWf{^]xJ sL:KDsDBnNE\_IIbC3c@"oB™R°M%´I,¾X6ÆP-ÈX#¬b.h8-b8,[:)7$Ÿ Š"_+O2<) +  +   !-1,*+8'iJ"iJ L5E1I3C+V<dI(5&  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + +   + + +       ! ' * ) , ,! ) ' %$ %'' ) )! +! +" -# ,! * ( & #       + +  %0';0M;U@!]F$hN$XA,#!'3(3&!    1$9)8&<);*A-H3M5P:T:U; X>`A Y=V:pG_7E& A$ e; Ž[„TnD_@pEf9 yEa@„T¦k·u¦kzPqF …S ¨l£f{K}FI‰QŽX¤j±t"œf&uQ'–`¦hšaŽY®u2®{9©u5j)”d*’i5xT)yNƒOfB c?g@W:eI/_@!=%3"[4l>k? –\ œ_ U ˆP}K†O p@U qJJ3jI’bnDjFqJ ŠY €O qA `6[7 f> +vK c; , +M)pLW<zI…N„M9$: 9 + +H) +i;yM&}ew™pT—W.ˆO8”VT‰QVtC2l=k8.ŠF9®[-µV'¶[/´\I­Q>µ?+¶=)7/>-‡C-{)€-›"wY\ c"O+7$" H +V +A *$%=,eF![?M8B0J5Q6]@^D!0$ + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +    + +          % ' ( ) % #!!" # # $ % & ) ," ( +% " +"   +    + + +   *#2)>2L:cI!pR$nO"3(#7*7*#   +   %&)/"8(?,B/F1L7Q9W>!bE$hH%aAnEc?Q0;%W9…X}QqH_?hEa4qCrKš` ža `–[£hˆT ‚Q”`˜`U3h<‚MzLŒR§j»z!¦n#{U%‚T­mœašd"¶|2l.ši(—d&¤p3’g0ˆ`.mL&O1d< `<nFc9eD!pE!@%,' , D+ ~N}L wDmB_; +~L€M  c\W;uR_G$ h@iCaBaBm@U4 )9%T9[9 +9M, +mIK4R#“W‰RG-Q,W4 :(U5 ]7 rD#«YZÒqQ§`7¯\;ÅfCÄYo¥RRu@'•GEÁ][×ecÇTK¼O.µS;>0®3#¹G.¢>9§G=„>,‡B*Ž9œ w]g!q%|:#_%U ~:I"T U@ ' !'J4U<S:L7?-M6mJbCW>0# +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    + + +  +       ! # % % +#       ! # % * ' +!    + +    + + + +   #+$4*F5gJqQ!}X$D2!:,=.$ + +   %."<*B0@-<,:)A-N6^D!Y?/ E+G+M.I-T9€SqKgD^@qN&f9wERžb Zœa¨k fsH~J¤f ¶u—^†Q–ZP‰T©kÅ!®s"€WrL¹{#¤i f!¬t0œj/¨u4§r5‹\(—b —f-mK'eF!wMjAjCd;yL{Q$K.A)& + /! ™cU +zHuIa?–Z…K˜Z–aX:eF~UE e<S3J4J2K) +W3 :%D0nJ +qG +G'X0 +iBQ5{O‹V…O^?hE$•i>iG}O +†R ‚P¿N=ßYX ID¢VKµbW­`iOVMQ¢]h¦_h«Za¹JFÉA1ÖNA·8,±0‘7 f-)y=3b'‚M.žI!d #g1$¢kO‚Z>kL;P9.X5º],’W!kD@$)%! ( E3J5S;J69)T<‚Z#^@L6)  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + +   + + + + + +    + +  +" +"           # +( &     +    + + + + + + + +  %,$=.W?^BwU%M8 <-C3)      !-!>,C1;*5%2$6&K4aD Z?I0L07I+M2`@vNvNbBZ@ nM%sEa˜e™^ §fš^‰R˜`zI†K ŒOŸ_‘\‰P’W}O‰W¸v¿}#²p›bzSa‰U–_˜g'žn3§w9¦s;†U!Ÿf*•c2Š]-a.oEk?^<^:ŽS•d+sIR3( " +<% žb™Z‹QuKiD zPyBd/§c d@W8fB_3 h3h5 I1B-@)X5 O3Y5jClHR5rFmEX6†W$…UyKd:T1jDg={K €N †T¹[2ÛPG½[P˜`X£ea¥kg”^\œZ^ˆ_mx\mx_s“W^»WQäsjÃfUšP<†>7x.-€G7p;5ŒT:šS&Š7q<4~E9•nR˜uZ–s[ŠhP¤oPR0˜H*j:(?+.1'?/ ,0 ;*2E2O:P;M9J5mK"„\,S8<+   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   ! + +  + + + + + +      + + +           ! $       + + + + +    + ' 6*G5D3\E G3=-I7 /$    ! '7(?,D0I5S<"^D'eL%iR$N9O5Y7K,A&H3bC€TŒVQ]=rIwF£eš`‡U½s—[UŸc‚OŒR ŠLPpC‚L„LyM‡U®oƒ%²p™d$’f+a%‰W—^a%]!œh4¥r>Œ[+\+†X(wJ!ˆ['i<`4tFwG‡Q©p+P]6H,N*X0 wF’T~KdC eG fF uA`.~L}EŒJ ”O ˆA‹CN mBg@xO—][ +…VK|KsQ+t\=Z/’V©h!Œb*”c0‰Np= n= ~E ˆK ƒJƒJ±O*ÚLI×`W§e^Ž][¥`[žXR²ZZ´XZ•S\~[kY_¹^ZÖp`¿eRŽXKJFv/-m:$l8&zI1N'©=®J-…2'T1+YD6M;.ƒhG’nH¢^5’N6bDG=3%,"$5aPaEaE#U=Q:bF)X-tQ-F1)! +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +       + +   + + + + +        + +          +" +     + + + + +    +  '6)M7:+B1;,!8)H6 5& + + +    # +% 1 5#M7K6X?%ZC$eQl^"S@ aD#a@[8G&\?iF„SƒM †O€P‡T{FŒQ”]oI§g“W ¸s¬kŸ`œ\©_’Ml=…L‚LqGŽV¡c¼x$³u,¥m0 m,£m#¦l"d g¤g§n,¬n9Æ‚C´q7š`(«g)Ç|/±n+ƒH©g%Ÿa X ­t.•a+„P+žh:œi=S4 *H>"RGmNdL6XJRRK??&Il a( +vRlL#X?!I4N8%xU2cD&;) +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      + +   + +    + +               +    + + + + + + + + + +  +   +  &2'M8?.5(5(( ."C17)$ + + + + +  + ,9% =)M5U>~[4cF%aNj\#hI(†[2X8[9S0qHwM}NŠR ƒJ sJ„R„I ŒR +¤gxNˆS ŒO±^£OM˜R ŸT’H’CžZ–`%sGPZ «p,¡k.qQ/J5#G/X8];oJŠU‚Oœe=Ç„T¸zEšf9¬qC¾H„Q${K¢m?U.zS(Œa1|W7mN0…cH|_CCM - ):)5")#(,. N6uAzBp@xEM T¤W •ajJP6L9U>fK™r ~sjJXL7bP4D@3><3`ZJtjRdXC!   +   3{7ÔPHèad¸][­[X¢\WÄlh¹ha”SG¸_W¶bY©[S¢VOßgdÖ]XˆI.wJ,A'=ƒ.y(s1~7(yP3hK?S.1O" H" E& :, OI _\I@@N>J<"%@'QW2|VmM"T=B.4&_C*R72!  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   +    +   + + +   + + + +                + + + + + + + +   + +   ."C/C1."5&1&**9*9)) +  + +   +! +,>(4#D1zX/…a9cJ)T?!N;V9!mH*S2jEpGeCrMtIŠR StLwNsCyG—^|RrDzB§\‰9h4~@Œ<h4y>–ST.gF"H-[:‚](†c4‡hAT?(9%6! V6gD•a$‡W rM1ÂWµvMˆ`9”i>d<‹a7œj5`2tM%dC mM.]E,H4$fM6]H0CG 5 !< 1, #("?0oAyBsCuEqFxG—U›qmPN8E3L8V>z\›{!njN[Q=iV;TL>H@4aTCtiWQK?' +   ^)ÂX=ÝyTŃ8¯n8¥m7ÅyJÊrU¼|8ÍqVÖxMÇyFÂtDäu[âj\µ]=¥Y' T:O6’>*ŽPB‚O0…j-|l"~U&n;"`4Y' \4^=[L[KN:63!.&!'0>'nI~V$`E"G3/"J6L3;) + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +   +     +    + + + + + + + + + +                   + +   +  + + + + + + + %8(A/+!2%:*5'(1%6(, + +    +  +' 3%* $ 6'nQ._E*I6 B.9(8'I1R2a=^8]?dD\=LUrKsKuHpDvI uMqEwE †LŽ8e3o< b1\,w;ŽK€K&f*“S¶r0¤u-pR¶w4•c(fB{T#J2L4“g9oO*X<'›fF¼zRŸkBŒd;›qC¤uGn>…[5uJ)xR'|[6kO/Q;(pU;‹jI]V(9- 1 +,#&/+K=€KH…KKhCgA}K…`›ueME4 H6N9oR™wuhCXSB[K7UL=XJ<]N:yo\kk_<5,     + ]1•uVªS·Ž%¶‡%£~'¦}(®{5©‚+±uEµrA§{8»Š/àœ3Û•@¸m.¯a¦R*¡V6œT6™aL‘]<‡r>Šs%šm,Ã’b©w>zP!k7uCP=B4%  8%jD“g-cG#@-8*L9P:%S;*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +         + + + + + + + + + + + + + + +  +            + +    + +     + +  -!<+$/$<*5'/"*!2%0 "    +   3# =+%+0!5&2"8(I1J.5 O,U5[;S8qDŠR UfEtHd=rGžhƒPuA S«Ri6l8 b,d)~2‹B‰R!“}!p½y2“f!UÉq—`*R;‰a-`D:'xY2bI+3%`@*Å}X®sL¡uI£sH®zAšl>”bA›g?†[1}Z7jL.L9#F6#‡fHf^/%;& * * *369JJ„UžQ–S~K^> [@ gCmO”shOO;$J7"P= fN¥y‹p%QK;C;,QG:kcTj[Ezn]vsf>=6 + + +   +g?•x\–„X{c({†Ey“S‰ŠAƒ:w{BwƒHtƒLj‡W–DÚš8Þ¡3¶o!§[ŸOJ"¦>'’M8…U6x<*•5 ‘Z)±T¥d?•eAZ+]0+    @+sK–i1T:@/T<#_C V9!O9$&                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +   +        + + + + + + + + + + + + + + + + +        + + + +      +      + + + +  )5'#-!7(-)$,. %   ! /2" P7K3<*2$,'#*+'3 G! C(:"O2_>iF N6zH•[ ihEl? b?†Z­n‹VpA ¾x!Àtr@]2 V%a#u+@ šh-˜|<ƒu'¨h9•Y%§M+Ó`6½v3‘g1 p3K1."`E(]E*-#£iH©nLˆa=˜l?›o?’fA¶zJ³vKtR3dI0U@(C3 >.YE0ZR-+B&  - ,:9?FF~R§VTpFW>$Z@$]A%_F&s[`H&ZC(\E%aH"rSœvŠp&TWJBC0˜*g/_7‡C&c4jA)c:#&  +  + &J0pKtR&H3Q<$lN)qL$_;X=$2&  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + +  +        +     + + + + + + + + + + + + + +        + + + +  +          + + +  *8'"+ 4#  '-'   $%% ;# U5fFxT"…[!†[!vQ`BI12"&  ) D H)\:I.Y7rN(`=~I ŽR —]TwC qD’aªlXxHŃ'±ovC \(Q"Y"a&Cºz1¯{.¢w¬i(šP#¶GH“:3xA¸|!¼ƒ34%)F5I69(I-¬qN§nI“e?†`>vS3‹d8±vD¤pJlO6R>(E3"@0G5!S@&jW.LV$. &),059;^D–M’L`@X?$^B&`E(hJ%gsV#iN(rS&oQ%mQ!“nˆm'[]QELG;90:;8caWeO?h\LFHE [0 ˜_,’€p¨JŠv%‚}9¶'à·‘A§œ:©™<‹J™‡EÇ‘8ç¹-Ó‹1Ég1ÃaK´jg©h\X>”T2‰F@}A@U3*>'X-P*‘[5S&oC!I0'  +%I1fG"cG$R +o2Y' T Z( …G·b,Ãn9ÉŽ;e3œl%»‰4ƒHn.±{#Œ`++!4%aE"fE"~W,b7À†SÁƒM§t@e5xO%wT.•jBdCiL2XA(D3!F5"M:%P>(sZ5pg0(:"%+*118KBL~E_A fG$gH(fH)rL$’d}[ oR(tV&hL$gMžw—w^_RFLH883CEC\XK[D0\ZONVQ&'#  Q- ˆT.{j~–}Upy?f‰Vv‘S…˜JxŽS„TŽ‘O–Xœ–S»‹:å¯-Ô–1Âu:¾uN¦k@˜b9›c;›a3ŒP@}OFhG5g='n6$b0&™U/•R"idH'2"K.Z;jE{Iœc&šWT~LRS«p´s[lGY5†A s6 +J R\)’NÈc&ÃP0kGyl`µ’6Çœ)¶j §`§n$nP-5%jD‰\'tN#ƒZ*—c1¦l;¯m7 i2‘])tJ!jG-ƒX?tP8{X:fI.]E+T@'S>'gO7‰mDuk1*; ##*),,5G?®S IjEpK"lJ%kI'oJ&TuQ cI&fL"VA"[B‹h—t``NHPI0-&%##J@3XF0VTMELH%!  + 3 +i@$lXb—|Bo] ]X+i_/i`0cW0aR0qZ/©ƒ2¯…4§tFÊ…VωEÆ4¿€F¦o4¥k2®m2 g1€V-zS/€V/‹T,‚J"ƒH)šQ/šE&j2>=' <% +' %=(H3L6Z0‡a3”k9„^8_ H\(u7 ¯8»7)‘b?–uB¼sFÄqFÍ;Äy!’^!P@39'i@kEfAiD`;b:›a5ˆQ |KƒQrDgC+rO5}Z:rS4pS3tV3aH+jP7{[?~h8/4$$/'-),F7±U’IeAfE!gE$oI$vI$ˆTzVcJcJM9N;uX¥{k`>GH=9.1%WB'[VI>EB  + +  +, yO|tJŸ6rZM;dMvYz\y[%Žh(Ë™,“5ªuEÀukÇ‚X͉AÀƒI¾‚AÀ@½y>»Bµz=¤o2‘^*„R%‰P+©n3•V,‹L*T(oFgIcC E/#F3)Z?#?.-#fK)–i8’h:ˆa9^:gK+uT0yV+5'   + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +    +       + + +       +    )1!/# +   + +$J1Y;R:M5[=k8`0,#"2$4%0%5(C1\>]>"\@%P8#8)8'F2A0:+5*,!'' # +?'B'N1- +B( <#A(Z8šd1™^"‰LPxE¶iŠS ^¨iš`K2 _;‚HƒG;G"\,k4 j(€<%ˆhN…T(G-}G;nJ1{R%yU2TK<<, C+L/G0?.B-b;‡W3e<gGuY$a@qM.‰^AyR7lO2h>…a8fK+jN6pQ;…c?<4 !)!%')77ŽS K]:[= _A"kE"„J –R~WmSgOP<X?‡a¤zsg;DC8P<"%-%oN+UM>BID    # +|M{ƒC“š@Žuir>Ž|,ž~#Ÿz%¶'Æœ*¤?ªW¦ƒHωZÄycÂ|J¼yNÅIΈHʈJ×—_Þ•VÓ>Å};®tA¶{OЕT¸yBT(œS%‰P$£tB¦zKWBZM¯‡XO<&*#aD+›q=“i9Šd9~]9nO.{W0€[,=/( + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + +    + +     +        + + +            # +4#5$+  +     'L5Z=X=T<^C sDW31$'#6'8'.#5&D1 T7T7uS1gJ,U;!T9 O>(KC.B5"8-5(& . -! * +I.F. ,='-<(W5c5²x@[¢_ŠOœ_~NjD ™] U ?)<' {D ‰Bn"Q&d4l4 U'i7 ‡lQR'iB"VB.WC0wK"{U,fUBD0$G,V1A+0%9*8!A)Z9mDrV$`D)hN4fI4“bGlJ2^D*R:"B0 XA.oS:ŽiEPE&2 # $$+6hQŸS +{BhAfAfB vE…KxWmTbKL8Y=uQŽg ‹r)WQ6Q<#$* ^E(LC1ELH!""  + +  a=}‰G›D‰~)w‘S¤ @·¢3©‘6Ѧ,Ò¥.·žGµžK¯‰G×’WÇ}]Ç|?¿qI΀RÏ~Uʆbß¡|ÞrË^BÉrL¦n^™_X¦rR›^>ŠO¡[n7yF*jE0k82tF<–sQmL0&P<*™p?›n9‹d6|\8a<‡d8†`-H5#0%" + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +     +        + +             +  & . 6$:&1"# +  + 'G1bC aE"V>V>!L7*2%) "3%4&/$6(G3"bB!lI'yU3mK*cBQ8F:$NM9A9&:2!F@+@3!?3"3&* 8"<)dF%>+%-"J/›h4½F©g&©g‹O tH\: U7 ˆS j; +5$;(c9p@ ^*L%a3c2G%Z/]>€R'nH&[E0^G0yK~\7qbNUB2Y7k=N29)D.8 G,¢e@g9}V2mM3I6#E.%’[EW7)%# (B0%rT;‘jFXP' =,!**rU­\ŸN…JrEbB a@!tKxWeK[EN8W;|\&…`‘oibBN=& 4(bI-YG5RXW4:8    R<‡”M“ŸG¥Š"Œ„2¶¢2Á©/šŠ3™‚9³8½˜>µ“B¶ŒBÜœLÝ—7Ï„3¸j?ÈwBÌ{EÈwKÏgGÚXEá> èF¦`JvZ_¥tHœ]4–T±j–J1Ãy§I;ˆ9,Z2+Y?‰W 4%P=)—n>–n<‚`5vW5zZ6Žj<~[3Q=(7*'!!     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +       +    + +              +  ( 0#5%;'7$' + .!D.fE eG$X>!J41$&5))*1$3&:*C0"xT4|U+qQ2hO.cJ-=0("A:'RJ0SL.C;'WQ;OK9EA3?:+N:oJlJN5D0('R7ºFÁ…IOOc.[3A+ K- p<k8I0wL}I wI n8d&c1a3 >%S,tL/pL*fE&^F-^F-xLU(mXA^K5d<rAV6@-R5h:h>"¡hIfC+Y9€V:^?,;%gA0C+-2K6$uXL>D#'$"+#*'QI ¢Z ¢RŠK{GdA[=!]=_BcK]EYAZ>"kL#Šd«~rb6cK(-!E3"eK*ZP@Wa_R_[  +   + K5†H˜›8¯wx8uŠL‰’H…ŽHˆHŸ“D«•K “U¬ŒLÔœCæ©'ÖŽ7šh>§o?Æy?ËwBÑn;ßfEâ]5å`0‘MEUY°r@¸k.°d­a—;$§OB™:/z<,H-'`;{H B,^?$Œe8“l?}^8„a:xT)Y(tY7YD,:-( %$$#   +   + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +    +        +     + +               & 1"8';)9&.  )7'F1\?`C"W>"B/5(3&8+'"*!>.E1=-[?#hFtV5bS6aU9B<))'$"JF/TS5RH0TJ1TK1OD0RE+rT-wU#qQ*oQ,]0N:#-"V:"ÃXÄŒW›]%‰M`+t=h7I+ t>|Ia@]VHƒ9~.|= d6 ?&X0|C#nBj>eJ*bF*qH!tL%cL1VA*a:uDY9D/O3e:wJ)µuQ„T4œj?»zH°q?“`4}U4bB)S8 aG)mP4€_>gCzY8jb+MYGN*/3.93+-:6O™M…I}HkAb>`<yMtOYB[C ^C$`GŽf›vg]9eQ1:0;0 \H186/HQOP\\  + + +  RT,ut,‰h‚g‰m+‘p,‰q4„:²<¹;¼’E·ŠB°‚J¶KÔA¦sLªuWćMÇ…PÃ}JÍbÆtcºm`›]`}T\šhV¾{-²w(VŠ# ‹2†\GZD=A14Z6j7 +O3a>qL"‚]3€\8“j>wQ"mK‚[-iN0<,*!('''&"  + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + +          +        + +               % -!6'<*:'/!!  3%E1M5V:W>W= B/F4!K7"A1 *(D1!;+D2Q:!gJ'mS3jU7aV=NL4FC+61!JD+EE*<8&H>*F:'L?#R=!@(A1lS3}^6dQ4F;#8)R=$¯|N»„S©o>|Gt@T+R(O- +~I ˆTlBeAŠSuC€?„3ŒAu< I(U0r8n=nGjJ(jK+qJ#nI$cI.aM5^=jCY;H1O3[5hA&­oM¨j?À„OÒŒLÅ}=ÀC®l-±n7—d4›k9¥uBžr@~_9jO2m`,KSTM:9D;:6-16<oOR‘M}FsFrCj=‘L€QN7L5U=XA|`€j\J_ITC:1>8*,,,1::@JL  + + +   .D-K+\(f+d8!jD3cA±€Q¦z=œtFšrM˜tS¨vQÏ‹<³~R±zTÒ‰9ÌQÆUÀ‹c¹‚d¤t]tPNVHTvYS›a0«l(˜Z%p9G•b9qK7S<9\?#zD +c9 _>c>lG#yW/‰c8€X,aAƒV|Y4<.* '(* )'%! +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + +                ,8'=+;*1$$ + :*K5P8W;Q:R9D0W@(`G,K7$2&%"'0$ 5'XB*fJ0kO3rY9lW;QI051!=9'KB+JB*A:&PD0G=+K=*>/ +F5#S@+JC1WN:F:&@.Y>$Šc:šk?–e5ˆTŠUn@ k=i? +~L +qCiBe@j?p<q9 t1ˆ< ‡;[+V2m7q=lQ6iL*vT,~S(uL"cI-dT;bP:iC[<L5L3_7T6¤lJ²p<™_/È}DÑ@´s<¤`% b+“Z*•c.£i(¤k&„[/hM4‹h<{c'WSID"84426>@L|Wµ\—RzH~JGv@¬X SP3?,U>‡e_R@ I/ +]=S7nWlXFA60//*++   +   (8>DA#O* q2&r?.sN7uR7€Z?ŒdGeH§tDÌŠD¶}H´{JÔŠ2ljEŠPЋgÏ}hˆVDP700$+_ECŒU4ªh0ž] xD yF +ŒI‹M%‹U1”`-d$pA ]>{W4|X1{W-‚[2rM%a?„W#pO0:,(&'))) '%" + +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + +             + +               ! -8(?,>,4%'  +!<+L7R9W;J6G2?-]D+jM.U?(?. /$(&" +.#X>(]B)cJ1q_EtaH@6%0(80F7"B1:&@)4 2B-_J.`E(^I-mS/D3"K6"oP0zV4iM-mJ&ˆSŠRO k@ +n> w>r<m?nE i9vH[6v/…6 ‹5j0h?xAvBmP4iO-}W-†Z-|O&eH*saGp[xQ*\?!P8 W:rC]9ÇŒeɆJ«o9ŸeE¾ƒIÀˆF±q-Ÿ`#©rDzP)ŠRžd}X)ZC,Œg?‚o6SY#@H$UL'cP*ZO%SK#‘]¼b›UtG!|JwF{B®U¢bmFF,C.qUvZA2F1cF lShQt—wFTE3)!   + +  + " 3 >LOIF%a)Š1!…;(vD/}O7‹W<Š[?Š\>–_<ÁC¥sJ³vOÚ‡=¾:©o6©{d˜ojXMi>2L/.~XDµp,´u-ž^!”ZvIzF£`§g+ªl7»…E‚P[9h=Œe;™l=…\2mI%nI#‹_.jK-8)'%%(* +!+!) '#   + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + +           + +               " ,!9*C/B.9(* &9*O7[>Y=F0=,:+bF+nP/^F*O9%;,0#(*  - .!9,aT@eW@) 81.):-=(2;! B'M4[C eP+Y<{S…Z!M8!X?'„]9e%‚T&ˆUvK[5j9 n8j8b5f: +`2i@_5…?~6 x3`-p=u=p;mO3iP1|Y0€Q$O!lL,w]?ŒuVƒU*dD!T; rH~IT4‡]EÖ•`ÆZ¿‹dÛªxØ£n¦i5šb1ºP\?'dE'šo?}[9_F.€b=‚q7JSWU&ud-ua/jU/]I)pX¦d™WlH&lF!hAwB¥Xªo‰Wa=G0V=oU[F?.ra œŠ†o¢ƒ:¾•^ƒmM@,#1  +  + +  = +V K ;@GN#]*w1"€:({C-ŽK3R:…W<„T9ŒH/¨lB†bJ¯nLÞ‡KÅ‚Dšc7¥s_žcb°bX§T?}<;‡[Mµn)Âx¶mRxDe;Ÿ\“[*„`6ЙI¤o/mCvQ*wU4g>„^:‹`9a8Žc6iL/5)$#%&+"-#-"-#+!'! +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +             + +           # $ % &.!;*D0E1<+/" ( 1#U<dDU:G0=-;,jK.nP0bH-\D)H5"7)-!-!0&/$,# <)bO7^K3G:$6.QI+NE(RA!V>L4K2R7eH{_2ŽoE’i6£r6–h1L6 dH,b;¤tDYA(Q9!Y-Œ]$Ž[c;l;r=q;b3g; f9 _;]:ˆM}=k4L(e-v;r< lI+hP2|X+Š\(ƒY-mP/jL0…d>wK dE!V< iAxGL0I2#³sMyA€L#೎͜w¯i9›a2~Y8^<mM'’mC{Z:gM1{Z=‰lAJOKK i^,{h5w`5v_5t_'žg ™Z$pL']A&^>"nA‘U§i¡ezNQ3Q8V@^EdU#m_8”~A¤…M’qL°i’\G)#@ + 4 + ' % +4 M +M ECIA@"O)]0#c9(m@-}H4ˆO:ƒR:~T8‡Q6^?Y>˜b?ÖŒ:Ä„8œh>ŸkU¹VIÅdI´pN~>6ŽV=¸o+¼t%¶n“W›a…P%’X9±e Ä~Ù™C¼|+])uP*^C,mP1„^=˜lD—i:Že:jK.6)%##%*!.$/%0%/%+"'  +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +   + +         +     " " " !   ! $ ) * ( *0#<)G1G3?-2&$'-Y<cDM4@.<,?.!kN0hN/^E-^D+M7$<,2') 0$?.?-1cI1}W2ƒa;_:xW0oV/jT.nR)lM%{Y0ˆb5˜m:“d1Š^+ˆ])¬w:¹‚BwV'L7 oO0b=–i@W>%L5‡Z-˜c#Z!tB h: +j5k6g: N vD +`9\9q?};g4?&a*q8o;hC*`G-qP)‰_/ƒayP8‰Kx@{O0d;vP*‹f?gL1V=*^C0ˆfCSP!EDhY,}j4ye5qd1nc$™f§a"hG)T>&R:"e?ƒKX[sJI/;)1#R9~`ugN­o›xWwM3‚`B¡ŠeK6+5 ; +> +R +E K G 75AHW!s'p.#c6(l;+oB.ƒF3Œ@0‹D2ŠQ7ˆ]>{U9ƒT6Æ}0¿ƒ>§wKŸgG§E4¦[@±oVžXFŸZ.ºm%²e/˜Z3ºm·y#„U(~O6­`*ÉpÇ…B·w)”_)lJ%fI*wU6gFW2‚W.‰a9gJ/;.&#") /$3'5)6*4)0&)!# +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   + +         + ! # $ # # % & % # $ $ ' /"1!.! . 2$>+H2J3D17()!#'P9T>E1:+8,A2%eJ/]F-W@+U=(I6#?0;.+!."I5Z@Y?bJ.{W5fB’iBg=‹f<“k>†a5‚]3­Jª}F°z@¨w;šl5”b)‘a(œl4O8J5 vU2e>ŽfAM9"J5Œ`3•f8ƒY+rFd8 `-o>ƒSX…N k9 d9y>Š? `0@*V.j6m7l<fC(qK$LwQ*fH(vX8†`6yK#eC"S9xI†PQ5D.¹vT§c=vB V:)B-n< +q< ŠY5_7qO,‰e>O<)B0"L8&uY9PFE;YP"\U%bY,la/h`'e [ dF&V>&M7!U8]9f>uLaB7%,'P<„c}gG«ŽnµŽhƒW7†Y:Á™pxYB6 4 0 A W +[ ^ D0=MUV&U-$_3(e9*`A-qA0Ž/'‘/(H3[>xU;yK2¯f*‡I·„V¸qA«K-›L-±E1­>%z?¥bÀi-Än=Òƒ>½„>a@…Z0¾k*Îd×|0Õƒ*š^"rH‚[1—kC›oF[?oL&‹a;hJ.=.*!%&+"3&7+;- ;- :-4)/$& + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   + +        + +! & ' ' (')* ' ' ' ) -! 4%7&4%3#5'>+I2K6G2;+-!% #J3I3A0<- :.!G7&_E.S?+V?+M8'C2"C2"L9(0%*!8)tS[)zX4€\:–nFšqI©|M±€L—j>g<—o>¥zCžr9œp4¨w;­y=¨t3”d)vU*G3H3oO0“h?˜lCQ9#O8ªwIšoF›j8‰WnBi?d?vJ +U +~If6 h;ŽP Ql<F.Q5m;q9v7sL0}R'‚KoK%fJ,vY6‡b8U.\: M3pE}JG1C/˜bAÁ|P’Z8H0$F0p= o; ~T3]TQ RRxd1m`.RT!ZW&]Z'z["‘W%†W*nH$Y;T7X7wAwKN9- %.#]BŒfwd>u^¨ƒab?Ök¶‡c\6)2 !! ; O D @ : >NVJ?%H+\1$]7(a=+pA.>,|>.mH2Z<}T9yJ2«i ´u-ÈŠJÌŠM·_8µl<Ä[1ºL,g3wN”V(Í…OÛ“KÑ“J¿ŒGȉ;Î|6Ïq/ÒfÃj°i#£h'£o7®zJ¦tLgH(xR+†^:`F,>-,") +!1%7+=/!C3#C4"?0!:,2')!" +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + +   + +       + + +$ * , + * ++!+! , +" +! -" 1$ 9(;*;)8'9)?.I4M7K6A/2%% %]>T:I3J7#E4%U?)\E,N<,YD.K;(H5%L:&]G06*&1$eI}Y3”j=k?¥yI¯‚T±‚Qª|Ng<ƒ[3”l7¢u>¥z>¯}B²~E¤v<–g+œk2^B$C0F1cG+Œb<šlD]@)H4©xKªzO§t:Ÿh%zGsE]<f?„O„NzGf=zI™U xCP2L3k<t>m;|P3U-sAoN,q\B}bAe7X0I.E,lCoAC.@-ƒX8×b©nHlI4R5#sAtC}S6jG.nG'W-^0˜g4—i:ˆa8VPLO’j7“p5n\*UK&RM%k\ œi0šd2{O&hAj@…I¤U‚LM6D1C2D2ZAŒe…k0fYH[E/—mBÊšqªqSG0/ : 2, 1>PRE>"S&f,"d2'k7(;+x>-lA-eF/€W;€S8sF0‘_/­p4®v:”b9®d:·o>´M(«@)\"@C,qIEš^IÂy>Å|.·L ´1ºYÅi +¹g¼j)Áz5º{8¸~M°~M„]9~[2xU5T?(9+.".$1&8+?0 F6#J8%J9%F6$>/!5(,"# + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + +   + +       + +  ) +." ." ." ,","/#/$ /# .$ 0# 2& 6'=+A-?,<*<+B/I4P8N8G27(( %mHpJR9P=&O;)bH*Y>$VA-YD.U@.\G1]H0gO58-) 7)E1 P.bp?xH[4W.‹L¦He8N4t@„Dƒ@šN'€X3rErS3|eH†jEg8{[7L5!K0j7]/ C.A0cE.Å…_Æ…]‘bIfD.uFmCeD-kE/a2c-wB†QƒPmA[=aN‚Z#”^šg(mV*[U&}g*¢s4¢i4Ž\-xJc>m=“PŠT†]‹d]fM`G…_Œl)`R:W@+vH"‡E.x)D#!& * ) -8EG=9E$M*R.#[3%d8(k9(r9(`A,~T9€O7fE0ZA/qP2ˆ^:oD1‰Q;œN3 /9(o1,^X%(J»~GÀ†Mg=uQ3fJ/L:(8*4&2&7*>0"F5%L;(P=(O;(I8&B2"8+-#%  +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  +   + + +       + $ - +1# +2$ 1$ 1$1$2% 3% 2' 2% 3& 5' 9*A.E1E0@-@.C2L6S;R:L6<-)*nI{RV<L9&WB-cC&T6bH#cJ1aM8rY:sZ;gO5;-!9-M;)N<(O3W5‡^0½‡H½†H­{?²D¨v=ªw@¶€H°}Ck3’c/‘h4Šd5vU.W=!F3@/C/_B*–jC‚]:T;%H2~T.\C%jGX‰R}M€OvInBf9sGb:d9†F”?i6h;ŒFGC!”R.€`A]2u^>{eI„kN‡fD„gGbM2N4p=k9H2C1\B,¾Zʇ^°vWŠ\?‚M#€P&sQ4wN4Y,Q" U1`B'rI&rElD!aG"mI#’b.”i5ƒ[.bZ*k\,}T1•b6—_,“Y"†OuF~K•a«u³} pWsN}U€\*zU1†[1…T'z7!n E(#!!&9MVWSF"D&K*N.!T2#g4%w3#e:({O7€K3hA0gD1‰`:{V0nB+ˆD0¥D2¡.™F2’3&u+H-fF8^JJyUD‹[DW-D1J4H2E1E1H3P8U<W>Q<D0.#!0#lKsOQ;"F6)ZE0kN)S5jF™k>˜wTaB‡iEnS9E8'O?,fO5sW:[F-YA'‡a8¨zD«{A¯~C¬}H¡pAœk=”j=•o?zY2^E'X=%U?#L7H4C0=-I3!uV6—nE…^i2 v=rBwDuBkB S5†c?…_4oU8eO5gP5{V,}Z5`H-^:w@s@Y:!T9$^A'`:¶xQ¬wV¬qO§f=£h=¢i@¢h?h9T)jAzMƒPŽV%^3oV)„k;ƒo-b+zJ$nL$pN2Y83fB4S)”`-ˆQ~K„N–^©s«t›aƒF w: zEyK!”[+®r4«x?L+h,U$>$-+2+-S`MDOOP!U%V)`,k-"~+$z1%†H3ˆH/{@-G3­{I„[/‰X ˆP*“A4¨2'†::•,&—K(™a&sHnCuL0vPAU?B0(<<0I\*ÅwÆl0Âo4ƇIÐŽI¿…DV9 T;%bF/F3#;+ :+>/ F5#L:&T?*YD,YD-WB,O;'F4$;, 2%)! +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +   + +      + +  + +2# +5% +9( 8( 7( 5( 7( 7( 8)8+ :, =-@/F2K6L5G2H4L6R;Y>[B X>J44(+!6$eEqM \C(E6(^I3fG"_>‚X)ŸrB°…e‡jH™xMz_@YG2nT9eC†gDcL3A3#B3#U?+hM4yY=ˆcBgEŒgBxY9_F,O8#I5I4F3E2B/>-9)H6"…bÔ›ZL*g$P)[8 P/ D I4#< _ T 60;<>A!D%N'J(c' m*"C3ˆQ3zF1rM:¹†L’f5{O'U99^CEœ:2Œ08Š#(œM*f.¹oÑz¹mlG&8*1#&*$xN Äz'Îo)Äl'ɉ+ˇ.²x3F.T8'eH.G4";, ?0!F4#K9'T@*ZD,^G.^H.ZC-R=)H5%<- 4&+ #  + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + +   +      + +" - +2# +5' 9) :+ 9* 7* 7* 9+ :+<, =. @. B0H4L6L6I4I4O9V<^B`E!]C!P:;+.#5(\=tR#lN+J9+kQ9|Y4g=®€KÉpÍ¢oL›xPŠjDkR9‚eDoI‰iFmT9I9(?0$K8(YA.gL5|Z>iG–pI‡dAeJ0O:%F2C1@/?.<,9(4'<+kN2†b?wU5G3 S;"–h;iJ)dG&¤q9²v,dTuOxNtMyKpJsM{P}MwIzJc3 _3lG |R!ž^GdAM6]9r= pBiF}N…QuFbB#fH'‚S'™a&…W(^C'mK' c ‘XsGe>vDIiB‡Y/Ž^4‹W.™h;zM%_AlJ&pM,zY>]>(R?<:(\5pB!gF#iF${N!‚U"}U(ƒY+X,lH"rSƒe…jrYkU•m;²~EB p2k;vF n@ +W- D, <wF6E"1.(.MW>CE 5#3$`"w#oE2xT7dCGM*[D,_H-aI0aI/\E-T>*I7%=. 4',!% +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +    +     + +# .! +1# +6' 9) ;+ :+ 8* :* :+;->- >/@0C2H4M7M6J4I4P8W>_DeI#cH#V>=.+!6(^AvR"cI*M;*ƒcA¯€OÇ—`ПhÍžqº’plJnK‡hEoW;ƒfB‘qJ„hEkS:M;+@3%I9)S@-[D1sU:‹gEšqKŒeCkN2Q<%E3?/;+:*8)3%0%/"G4 wT8vV6I5"Z?%…^5V="`B#¬y=‚/¡fQ}Q|OyP!tMmHsO |SˆWyKsGL"Z/ lCzOŠRo; h>K4`?s?wFd@d<Ip?Z:\@$ˆS$š_(†W(dC&dF'€Q$…V%yQ#_>$j>xGiG"c7€U2kA{Q+T*Y;b4ƒ[3wT6_A(Z>*Y;'[5jA#vN'†SŒZ$~V(X.‰_2zU,fFfª„©Š5†m(ˆo0—x7šl7h?O+Z5o?\2M(-"6ŒN<‰A1=5.(6QWXX5*O"i eC0uS5pL8J6D0@`@3™Y –W!†U+’\)lXAWUDLGFKCTJBT:6CJ5)ŽHŸR¬\¿o)¥f4ÉnÍ{$ÑŠ6ÀfN7y^?…gDx_B_K6J:,;."F5'N<*O;+fM5…dC‘kI…cAlO5U=(F3!<,6)4'2%.", .!9)\C,dH/I4!Q:"]D&@-^B"¢p6·x2Ÿg!†SƒSƒU†X!wMoHnK"rN"}U"~U!uGd1 +o>g;P‹T †PrH\=mFK€MƒQ¢`’W€I_;dC#ŒW"“['\'vO&~R%‹X$…Y%sR*lJ)g6 uChH*ˆb<°~L©sH£qB†]7Y: ’h6Ša5ˆa8…^:|X5f@&W0mC)…T-…O‡W%†Z,f7…^3bC#R8tT"±…BµˆM™{;—x?¦|Dµ„N†_9D)U.b0Z#Q"(.-IeUKJ#9*<%Ta[M9/! [ *c2O>=nO7pI6P3?H6.=. A0 E1F3J5J5H4E2I5S;^DjM$oQ(bG#G30#D/qL`B:+O=+{]<—pG¢~Y´n²‹itW@qY=nW;`M5^J4gP7mV;fQ7UD0@3&5( =-#C4%D1%\E/}^?…bB{[=jO4XA+E4";,4&1#-"+!* -!9(H3#M8%B0O6!`D&<*V;šj1´z5žg$~PƒTˆV„RS~R"€T"{S"xR$…VƒP‰P…OPŠZ%X“ZƒU#`CmFO}PƒTŸbU‚JjE!nJ+ˆV&ŠT$„S(}R&d#£j$€V*c4’j:_.•a1Œb6™m<¿†KºN»†SŽeA{S(‹[+Ž]1—i9™lEˆ]8^8b;!pE(S7b@†Y0„X1|T1lG&\>Q6S:!±ƒWºS¦Š8®ˆL­K®~GzZ*g=|Bm+|4 z6 +DC?>EVh z48_),A"%P(#V'"U%#PG @&%f"&r !LEEWJJlD,d>'T7'E0'D2'A-R5[<*{H#‡Q{['Yf6;R21>#'--6&63#¥n2Áu.Ïs-œd8T7&“f=³w5ăA¼9œm9zT*[?K6K5$T?*]E-eK0jO2lP3mO3hL1`H.X@+N9'C1"8*0#'! +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +      + $) +! /# 7( 9) :, <- =, <, <- <, =. ?0 C1E3F3H4E2B/E3N7\BkL$rQ+fJ%J63&D-eGT87)UB,qU5‚a?ŒlL†jKhQ=G8*eL1vU1YD.RB.UC/TC0P>/G8):-".$1(7*9,!M:)lP7tV;qS8kN5[C-J7$=,3'-#* ()-!:,B1 C/!A0_D-cG*=-Q7a2±}@še*„Y*Œ^+XŒX!Ž]&‹^,a,‡['zS$~R|Q}O€U!…X$‹\’\—`&‚W*cD'eD#}M]*‚_9d;”d1Œa5–mGµƒW³|Fže2b;„`;…Z.‰Y*†]5šrI¨|M©{I¢sCŒkFnI¤vE±{G°SžvRƒ`F{O0‰[9“fAc>‡Y9vH%yR/„Z=ŒaA•iCvL/a:$a?(X:#Q7"F0G0R:$tW,„c3¥{M®„O¥{FaH"_<w>h%w/2 o%X$S$S%Rk# l'|: p>!d^2hk7eF2^@6X:5X20V+)P(#I2%FdGF]RR?-V5P2O3C1 B/Y8U6qExI^?!N9$0'(%%!/0#2'!€]2¡d)Å{:šg,B.J4Y>hJ$tT*lN(M97'>'T8N7?.\D+_J0aL2aN7iP9G9*:/!l§ylU&K=)E7(B4'<0#8,"3),".#2$7*E3$XA-eJ3jN4hM5^E/O;(>/4(."*&'/#=/E4!B2!B/mH-gB#=-I4hK'˜k=zV-iJ&yT+ˆ^/Œb3†^2„].‡_0„]1ƒ]1xU+rQ)wU.{X0€V%‹Y•b*k;™h;{X2nK(†T"—d.•jA¤wK­zE±}KÄ]Ò™dÖhÏ—c¾Š\£xO¢qC©tB´P³…X¤{Sžm:«wC´ƒT¡xR‰e>Ÿk;‘kEwZ?@.!hA*™iKžsWŽiNƒZ>€V-„\:€[@ŠbD¢uO˜nOŠcE]DvU=bD/]B+pR4hK.eF%`C%[@"“g8¤tCnO-O6]3g&m y#r,`;%\6$b0j#r d)’SSqD%{R xO#pQ/iQ2aA+`+A$2;+GlFFhFF;(I41^A.oJ)W;%Q6#pF!N2`B.’X*zI:^9*aI0kN4pT4uU6tU6rT5nP3eJ/ZC+R;(F2#;+0$(# +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +   + + + +" % + 1$ 4' 8* <, >- ?, >, ;, 9+ ;,=->.?/@.>-<+9*=+D0S<dH#tS*oR*S: <+>( M2N4D1bH.UB.J<,G;)TA0A3&>2£y´Š‘rC6';.#2*,$.#/$,!."3&7+ @1#O:*ZC/dI4gL5bI1T?*F4#9*1$*((3'F5"L:$E3!E4"oJ(wM"G4J4V>$|V1[5sQ,{W-Žd7”h7Ša2‡_3‘g8™k<•i;ƒ^2uS+tT,uS-vR%}U&†[.›h6žm9[5uP+S#€X,f@—mBži6¢tE®~Q¤vO¬|Qº…T¥yPŽgD¢q@£k:¤sF§}R‘lGŠW)—e6§zO­„Y“kB m9{Z6:- mH,eF€aMƒbNŒbBwN"qL*lL2hE©{\tX‘kQ‰eLŽiPjPŠeIjG€[9mM)^A%H0|T-±H˜k9uN(S6X.l~3r:[5 T2 \4!d*` i, šZ °{{?r<pS&jH/iC/jA$]/A*>I/NbAhY6lH+eHDzXD¢m9zR1oJ5©f.jG-M6-–X' [?r@O[1@:7!8$!4 "T0°l,ÄŠN—oE¹†S‰`<–\(ÍQÀˆOªvKjG(O:$Q;(]D-hM2rT5uV6yX8xY7vW6oR4gK0]D,R;'G3#<,2&)" +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +    + + +! % * 0# 6& ;* <+ >+ >, =+ ;* 9) 8)9*9+ :) 9*8) 6' 4' 7(?-M7`D!qR*sS+[B!H2F0N4L5O9#pR2UA+E7'=2%C4(4*!9,¤u +²†™yA3%5* +"() +#/%4'8,>/#D4%L9)V@.`H2eL4dI2ZB-M:%>.5'-"()8,P;(U?)J9#S>'X6‹_5U=$Q: XA${X6«~O’jAƒ]5|Y0yU-yT+vT*yT,zU.yT*sQ)qR)rS+oQ,kM)fI(iI$uKpHaE#wQ,‹W*h@N:"Q:lDgE)aF0VA+gJ-sM/kP9qT<…Z.MrI$eN6vX:‘\0vP,eJ½–m’iA|L%_D*4'%zS/‚\:hP>bF2‰W0ŒY&tN+lK5…bC£xZ’jP~Z@xV>€^D‹gM…`FŒhJ‹dGZ5oL-^?%xT/›g5i0tN#Y;];S0yFw;f-S)V)bgv“7ªfxAy7‹X~V!ˆR•g{ctb raZR1j7•`2{WGˆaG«tCmK;rL8žb4sK&bH+‹a7«yDvHzZ4tS-wU.xU-yU,vS+tR)tR)vV-_7‰hAˆh@{\6pQ0eH(aBcA`@}U+›f6|T/ƒ\8„[.€O‚W1‘pL‘mKŠb<”kDªƒ^¾’j¯€Q£l7”kE†hM™tS¹‡X•iG„gMÚ®„ŸyRpGYA.C4%J0uK(ƒZ:aK9[@)€MV#mG)bE0~Y>dD~[?nO3pP5yX;ˆcH†aE†bC–lPhF—h;Š_/uM({S,uM&Z<sN'sMN6lDW4G/>,"@"Wj p’,¢?u*}6‚W#rr3‚0›€j›v¢}eX-”q=l<_B‘]6g>/N.5pA„K1„DXQ%33K".\,7I#.5 V1%œe8iM1›}T“kG¦k:ÏŽUÂ{8‰V)_@#S;(\E-hN3vX8|\9€^:€]9]9|Z7sU5jN1`F-U>(H5#<-2&)! +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + + + $ * +3$ +8' +;* +;* +9* 9) 7) 7( 1$ .# +! +" ,! - * +) ) .!=+F3U<kM'vT-fI%aCfF\>T>cF%‹e:bJ0J:):/$)" 2'n¸Ž…j*B5%0') '*!3';-!D3%J8(P<*U?,XB-]F1bG1eJ3gM3dI1[C-Q<(C2";,3'5)O:&fM2˜nA—mAtV5§{Nc9mJ)V@'eJ-’e8¤r=˜qGxX3sS.xU/{W/{W/yU.vT+uS*wU-zZ2€]4~\5xY2lO+bH(X? U=V:yT-—i?fE#yO"tM!vFb?^F.aI2zO'{N'cL5dM6vP'}MN8"9, I3 vE[;!SA,©ƒ]ƒc@dD&aJ2R>+W; tI$lJ0S>+bG2nFe>K5"W<'[=•lIkFf?ŸnE¦sG˜kBe?žqFŸsQŒeF†`8oL)mJ(bB&N5!qP/‰_0bBD+U9 Y<#X>(W@,:*G-\9%qL-Ÿd2¯h0ŠS0P3‡T4˜_:n@Šm6vR*iP&lO%jJ/‚O3”_2`@ƒ[8‘gA{S-™i;„X6j?$\<%[;&h8e(%4#:$b%)b!!K P,$zK+kH'¡yDŠb;­n<ÑUÏ‚<±i)aBY@%aF/oS5z[:€_;ƒ`;ƒ`;_9|[8tU5kN0_F,T='H5#;,1$(   +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +  + # ++ +1$ +7' 9( 7( +6' +5& 3& 3$ /# -! * +! ) & $ +" " .# I4E1M8cG%tT-mM)hGmJV;B/aE$Še;aK1F:*9/$#&Q>(~e1cO/B6%1&* +"0%:,!C3$N:)U?,ZC/_F1aH1bI2eK3fL3iM4hM4bI2XB,M9&A0 :*=0\G-lQ3£wH²„VƒaA²S•e7iH%S=$_E(“`2§wDh@sT0pP-uT/yV0yV.wT-vS+vS,xV.{Y0~\3}\4{Y3qQ.fJ(ZA#Q;K7mI(|U.e<i=Y6i?^>U@#L7$aB"fB#J7'C4#V8c=5% :#b5 I.K:'”pOpP6Z?%}^B_H1H5!A+9([E4mN9nCgAJ7!P8"”mEŸsF—j>’e6œj>ŸrLyU4iG$‘e6‹a7tR,Z=$hG({V.pO.U?(oP0eE*[:vK'ˆ`7€Y8sS5lJ.T9"„`;hA’e>¯vE»„E–j8œ`9­k@°eAža;Ÿ^;S5…U6žgBœ];ˆL.nE*h@)h9j=Y=0tVAVB=3%%;+,B25H'"R+  +5 H 5H(wI-S1vU2lM±v>Ñ’XЈH _%f? eE eM1sV7^:„a<…c<„b;‚`:}\8uV4jN0_F+R<&G3";,0$&  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + +    +  + # * +0# +5& 6' 4& +5$4"." /" , ( & % "  ! $ # 9) Y? C0H3[B"qQ,rS*oL kIM44%Y>%‚_8aK3D7);/&%"P?.fQ8ZG2D6&5(/$/%7)B1#K9)U@-]E1cJ2fK3hM4hM5iM4jO5kO5lP5iN4bJ/W@)L8$A1 E4!bL0nP4­„[Ò pŽiD©wI•d5hG&Q;"Y@%—d/£sAˆf@rS0jL+mO,tR.sR-tQ-uR,sT,vW/{Z2^5~^6|\5tV2hL+[C&Q: I5jJ*nL*^9V2L1^9dD W@$K8%O:#Q9"E4!=0U7^;*.Z. +A'WB-„cB`="I)K8&>04&3#*!>. eF3zK(pJ(]F4XB1qO5zS/‘eB£yU¡vTiNQ6#`;‚Q!“_#ŠXU6`B&|Y3[@(U:&J6#O9'H4!Z@&dH.gJ1bF.O3#F.sT-nN1|W8‘gA—h?‹\4‡W2…U2xK/qJ.xN4xS6{[;ŒkI…eDmQ6U;&Q4&K/N.3&WB,C4"$,"5'.!$   E2 }Z9uR7—yX©ƒ_ÍŒPÜaŇLS$eBlL*kQ4xZ:a<†d>…b=…b;_9|[6sT3iM/]D+Q<&E3!9+.#% +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + +  + +! ( +/ +2$ 2$ +1$ +0 3 + +! + " +  + + + +  # K4 +]D B0C0V= lN*vU*sN hBX<9)P:&rU7]H1D7)=1'&&UE0aM6VD0F7'7+ 3'5(<- F5%P<*[C/cJ3hM5kO6mP6lP6kO5kO4mQ4nQ5lR5jN3`H-U@'H7"I5!]G-eM2¡yTÑaºŠY¦vH‰^+bF'L9#T=$’_/¦vE…e@nQ/dG)eH(kL+kM*lN)lN(oO*pP+tU/xZ4{[6z[7tV2gL+YB%O:L6ƒ`<{Y3M2_;e> R*J*G,G3X9J1=.7+`:l> +%:! 5$kP8¢ySO%\/=+0"2!I+ .:*gK3ƒR+…Y9šva}`O‡aJŠ]DŽhUÀ›‹•oVdA)D*A']9vJwKM3I3K5 _D)S;&_F-T='6'/#9(O:&Q8'$F4!y\ +=-@-P8gK&wW*nI gClJH3J8#gO6YE0@3'?4(&*"SB/VC/PA-H9(?0#7,8+@/!J7%U?+^E/eK3kO5nQ7nQ7mQ6lO4jN3mR4pU5qU6pS4jN2]E+P=%L9"S>&[B*nP3µM¾‹X¦wJyQ![A#F3T: ŽW1ªwL|[=iM/]D&^B&`G&dI(fH&hI'gL'jL)mQ,sU1wX5wY5qS3fM-X@&O9 J6€\;uT3E.f>`:C ; +>!Q2n= I,4'1%^8 k< 20 I% <)ˆhGÎn§tFg9D,,2 P+ +4!L8!fI2lArM*…iTu\IŒgPyQ†e?‡e>…c<`9|\8wW5nR2dJ-YA(J7#?04'* ! + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + +   +  + + + ! +& ( +' +( +) +   ! +$         A- A0 <,@-L7bH#uT)mJjDxS X? L<%fP6\H1@3%=3%',"J;+H:*N>*N=+I9(?1!<.D1!N9&W@+]E/eK1kO5lP5mP5kO4jN3lP2nR4rT6tW6uV7oS3fK/XA(Q<#R=$\E+]C+¹‰WÍ™cº‡X{T*Q=#E3[B'‘]6£tKpR5fK0ZC&Z@%]C$`E&cH(dH'eJ'hJ)kM,pR/vX4vX4qT3fL,XA$K6K7e@\9>*G0I,@ J I# N) k7P* -!)R.b5 2 $5J%>*’qNߪx®O\4 =+/"2 D$ +3 R;%[B*L/J.3(6*R7I,8%3%G,`2 R-8&<)nL*€[2O7, 2#=.M9%B2 ,5'W>(Z@%L6 23M1aC'_F*cF,[C(`D)eK-dH,]B,XB+]E-^D.]F0VB/YD0cL5kQ8lP7pS:fK5\D/X@+Q<(E3"C/N9!T:$[<$d@'[9$H5$R<-iL:pR>mN;_>Œ`+{U%žwM±…YŽhBÂ_ÁˆV›m…d?…d=‚a;}]9zY6tU3jN/`G,S>&H4!<,0%( + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + +    +  +  + + +  +" ! # '           + + 5(=-D1M8aDoO'fH eG~X&[C%N?*lS9bM3>4$;/%'!-$D6(C6(N<*ZF0YE/J:&C1 F4 O8$V?)]D-bH/gL2iM2jN2jN2jN1mQ3qR3tW5wY7vX7qU4hN0^F+V@'WC'kO2hJ/·‡XÃŒX¨}QhM.L7 H6!uT3–g>—mGqW7fM1^D)\B&^C(bF(dI)eJ)gJ(iL+kO-qS0tW2vW5pT4gL.YB'L7O:!}\:dJ.8)8&3#=#P) HA +U( Y1 /!,@'E#*,!9#@# 0$‰hFÊ™k‹_1Z2@*:%<$ R1 +3$ R<#L5M, M- +-$ .$ D.I. 9'4'?,a7X3C,A+oJ(†]1Z;!3$2#3$2$0#7(_B)`C(K3F,=%B(8 4%F3rP0dE*fG+nP/yX4^=iGŒhF‘jK–pPŽlL…aCˆcBˆ`@~Z#_?%dF1`E3G4&H5%kO9˜mJ£rF˜lA—qKŸvPe@Ê’dÀ‹[b6hE!dF$sX8€`=ƒb>a<~^9yZ6tV4nQ1eJ-[D)O;&E3!8*,"$ + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + +    +     +  + +       +     + +   +  $ 1%A/B0K4V=aE$]A!YB nM%ZC%VE/u[=hR5<0$=0%-% .&B4'D5&N?+dP7kT9YE+I8!F4M8"T='[B+`F,bH.eJ/gK/gK0iN1rS3tW6wY7yY6wY5sV4kO0dK-]D*jN/…e?sU5iB¢qA›oDdH*K7 K6–k?´‚PtLsW9mQ5eJ-aH+bI+fL*iL,jN,lN,nO.mP-qS0tV4uW5rU4fN.\B'L8 T<$‡dEbH0@-4%0!4$>$ F" +I$ U+\3 ='<*X0 +K%- 7(L0M-/$}^C£{QjB]:N@"I7K.^69( K7M5M, I. 0% 2' N3nA J38)?,\8R2C-G/gF#}V,b?!H2I4R8!M;$D1U;%cG,N6"D*D*K26! N8!^F)M7K3A/K4 dJ-f?|V4zT2~Z1~V1}U.yT-rN*]A(F19*@0T<%aD%jH'eF'S<#P:#L6"B.>+N7!X;$O3=+\F/uU7•f.µR¨|RuL¢xNÏ—fÊ“b‘b2h9 f?mQ3x[9_;~^:yZ8sV4oR2hM/`H+WA(J8"?/4&) "  +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +       +   + + + + + +     #    + + + +    3&@/B.D1N8X@$X?#S=]@!W@&_J3bCnV8D8(TD3B8*+#0%B4&H8)RA,oV'“mKoS7G6!:,5&4'7&>&K' V,T/ I0G1N, F$1!>.X:^6=-rU:tNb:S8bQ1N=#N- ]0?+ +?.K3P. F- 5)7+H2e? O6;+>,V6G/9&Q7zV.‰_1sN*mK*X3”h<’k?\7zW5kL0O8"C)M/\>#6! pP/Šd:Z@$M8 C0G6 nR4žqHZ4‚[2‹_2‹_/T-sM)^?'Q8#ZB/rQ8sP7_D/T=+dG/eH._F/\B)jL4‹aA‘d@xS4hF'mM0zT9ŠbD…_>£n2¾ƒQ sKƒ\;°PИfЖe¢p6vKgD jO2sV6wY8xY6tV5mQ1jO1dJ-]D+S=&F5!:-0$& +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    +           + + + + + + +     +*    + +   +  5&@/>.B0J6V?#V@#Q:X>!dH&pX:‹kFw\;XD0”jB¡sE]F1d'N4$P?,]I4oV;v[=`I/K7!G4M8R<#U>$W@%Y@&\D(_F)eJ-iN/nS1oR1uV4wX5zZ7{Y6wX5rT2pQ0_;¦~Q}^7bI&}X3Ÿr?’iAcI-R=#ƒ[2§r; vJ„eC‚bA€_=xZ9zZ6}\9€\:]:}[8zY7xX5wV5xW5vX5qU4iM.]F)S<"O;"jFpR5K7$B1?.>-;,<)G*L( F)K3F-A E7&E2 `@ `<F4!nQ8’jE]6X7fU4I7S(^.;'?/K5N1 B- ;,?0N6O5?/;,;+S4H.6$O4W/T({Q'vN"nE#xH$ŠX#‰V|M[79$:#Z: sO/N6!,"K6‡b7iI'O9C1K7"uW:¨{Q§|S°ˆ]¤{S¢yM¡yO–oM‚]BkL7„d>‹g<ŽQ,‹\6…dDšrQ›wP‰q>…m@‹mE°ƒXºƒJ¡pCk?«vG°|BµJµ‚T¼„JˆQ¸„W¯}O¼†SÓ™kÓ˜k²{>X$iGeJ-kP4mS5oU3kP1iL/cJ._F+W@(M9$B1 6(+"#  +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +            +  + + + + + +   + +     +    + '2"4#) " &;,D1?/B1K7 T=$U>#P;!jK%‰^+‡d;”rHz^;}Q2¾k:Ú–\¯wQå0}2r]C™}YrZ=kS6\F,J7!I5O9 R"T#…a@iJ-R6K9#G8$I7%G6"D5#E3C.H2M1M1F +F;$I2aB'a:S=(yZ?—qPY4\6eR3D1FS':' +@+F1E+ ;( :+@0Y9b9 >,8*9*N2F,:&P3O+W/ +U/ Z3 GN$ +s>€DwAj> \8B+oM,{Y7A) .D2hL)gJ)L6;,?.fN/’d>V1˜xNyQ•xQ‹sJt`>_I%kUfP_?:’\&bE&F6QHVO!gY.PDŠt8©y˜d…X_d†^(Ša(¤wFºŠ[ݧtØ¡jÀŠUÚŸq×pº€G‹^+mL#gK.hM1jN2iN2eK0cI.`G-\C+U>'L8$?.3'( +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     +           + + +  + + + + + + + +       +   +  ! +" $0!P:H6?/C1L8 T<$S<#R<$kL%xS%i?–qGy]:‹V1Êg6Ö„Mˆ[:b%I-ÙIݯY€dB_I-UA(L: N9 S<"V>!U=!R; U= U<"V?#XB%\B&_G)jO.uW4`:ˆf>ˆg>‡d?…c<„d=‹h@ˆfA{Y7tU2lBÊ–e±~OhN1XA)˜pGÊ”_»Ž`‘mI–qL›sL˜qI›sIœsJžtJšqH“lDh@…b<]9{Z7vX7rT4iN0_F*gC!tG$€\;hI(^8V>&VC,ZE.XD-WC,T?+VA*U<"V9[<N-< +8 I1fH,hB$^H.z`?ŽlKW5_<fS4E2AI 2# +56$-4& 5)8,M5b8 +;(8'D,N4M6O8 T9 W5X8B,:(K1];$P3J0V3aBX=D1_E$A+>):"Z=#iL*nN+nO-U>$>.5(mO7d=aD'eY6„cFŽcK{R=z];lO%|bnUk<™)HB9 #*<-f3e‚W |X _BQ>fH…\(“i:®€TܨtКdÇ\Þ¥wØœoºI–g8vU+fJ,dI/dL1cI.`G.^F,^F+[B+T>&K7#=./#%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +             + + + + + + + + + + + +  + +   ! &0$?/A0@0G6M:#Q=%WA'dI)Z-~X+‹i?ŠjCsW8‡Y2Íj:ÃqHA0%%M9Û¥@á¦F„e?TA(P=$Q= R>!X@#X@"U>R:R;R= T=!X@$[C&`G*jO.wZ6…d>ŒjBmDkD‹iCŽkFžzP—sK€a?|_:”nG¯‚S™lBoP4`G/±„Y×¢o¿‘d‘mHuN¥zQ¥{O¨|Pª~Oª}P¥yLsG“lC‰e>‚^:{Z8vW5pT3iM/`F*gF(|R0†fFxU4^C%^H0eO6jS9jS:jS9jP7hO5eL2fK+eF$O0> E!O1_>"hC"aJ.{^@“sOT5]AaP0@.H O#4# >&S8jJ'[E&M?TD&iO-pI]E(dJ1qW:xX:€bErWŠlN~Y8yX7rW>qY@y]A‚^8qV6jV>hMŸwKaQ6mJ&Ù§pÛ£lÏ•cÚŸmÇŒY°x?–h1mN*cG,`F,^E-\D,ZC+[C,]D,ZB+T=(I6#=..#! +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +              +  + + + + + + + + + + + + + + +   +    (/!5&<,B2E4M9 Q=%U?'`J*xX/f3}Z,ˆe>}a?jR5uQ0¶i>«c>8+%Y9À†>Ó‘J•hT<S=U>!V?#XA#\D'bI+lP0z[9†g?lD“oG’oElD˜sI©‚XyRŠfCŽnHhBa8Œ^5‡^7iP4±†\Ô£p¶‰b’mH¡wP«T®T±‚T³„T±‚Sª}N¡vI—nDŒg?‚`:{[8vW5qT3hN0`G+fF)Y1˜sN…dv^Cy_Cx^Bw\@u[>vZ=sV7jN4U3"T/`8X5`;d>bG-`A­„^[8T8WG+9(E# +L%6$ R;"fG)vP.U>O=ZF*WB&[A[F)hR3qY=uX8oU;y`Fz_GpS7`F2SB0XG7\@,pL+bG0YD7ˆhQ±‡`œvTvZ@aI5D-I/?)dG#kM+}[6¥xK²‚T‚`>I7%pR;žwWlSƒlN‰uUmJhG‡gF~a6„c3gO$kA ˜B¶t6ă<‘fH„W>…W@‰\?†E+™^B«zQ´†\¢oE†N&pN*‡c=šmB[< hF(ß­wâ¬zÍ”dЖ`ÁˆP¤q6ˆ\.dE(_D)^F+ZB,V@*U>*X@+\C+\B+V?)J6%=.-!   + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + +        + + + + + + + + + + + + + +    #-"5(:*@/E5J8!T?#VA'ZC)iO.„a3g3vT)a;sY;iQ6cK/”h@˜d=>. &a<¨n2Á†FvX3J7!R†F˜@V+yT E'} †.o;œ7£D0eJ˜{X yUQ*qR#…`6˜g<[;uT/߯yã¯|¾†UÈYÆ‹S•f!‚Z&]A'^C*[C)U?)Q>(P;)T?*\C,]C,ZA+N9&?. -" + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +     +    +    +    +  + + + + + +  +  + + +     '4%>,B2F4J8Q<#XC&]F)_I,qU1‰f7i6xZ0y]:lT6hR4lU6—vM…fE@4$@&uS+œvKYD)D2N8X> `E#_D#fDrFƒMPcE#`G(bI+eL.hN0oT4w[:b?ŠiBŽlEnG”qJ¨WΣuÁ—nŽpM†hH¡wO–f8±€PÃ^ŽlH¶E¯w4¨UŒiF™rK¥{Qª~R¬~R«~Q¨{O¡uJ—mEŒg@‚_;|[9yZ8wX7tV6lP2bK-nP*~Z0ŽmJƒ_=z\8x^DzaE}eI‚hL‚fI€fHcEdE|_@tX;hN4cI+{V,nJ$hF"X-W)ŒgA£zWe>bA$>08&N( +S,.$ J7XC*O67&.!0#@'<( 4( 5%;(J, 7$'%+ +    $ .    +dG&^?;(4$ )7" O6eF oP(sS/oQ/mO1P;&4&dJ9a<`.‚U0€A'°WEŸ\BtT:N>R=kC‰O¡V0¹YŠjFW6 r?(”]2Ž^1¶V6¼G.“bAqOž^‰i;‹n¢s.ºQV>$mL%Ù¥mÚ¥p²‚OÕcÏ“Y¡p/‚\0ZA%\B(WB)R<)L<)M9(S>*]C-`F.\B,Q;(@/!.# + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +     +    +     + + + + +  +  + + +      + 8)B1G3K9R?#[D'bK*gN-gO/tW2Šf7†`1yZ1rY7gP3jR3uZ9ŒkDv[;K9%) .jI)pK+<"49 E,U:\@_@aBeDsElEjL*hO0jP2kR2mT7sW:y]<€c@ˆgCŽlH”rL®ˆ_അϨ|ˆkL†kI«VqC©{MÀŽ\›uMÂXÃR¡yS‰hElGšsK vM vL tK›rH“lEŠe?€^:xY6uV6tU7uW8tV7oS4gL0pN({V+hC…c;|^' I* 8"& $ !  +,  +(Y=\@S;W:06 V9lL!lM&gI'U?#H56'%]G4šn9̆À}‰O–O6‡V)aCT@hP‡f™k—H'ŽT@x?4ˆG;›S@ªgQ _IV%\C*VA'M9(H5&J8'T=*]C-dG/`E/V>)D1"0% + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +          + +   +      + + + + + + + + + + + + +    !-";,G3L9Q=!YD%eK*pU.vY0sW1y\4‰f5sR'wX0pW6hQ2gQ2tZ8y^9jR2WC+1&/"Šc5”h6E,8"=&K0V;[A]A`C fE"’R‰S"mQ1mS5lS6kR6lS7pV9t[:z^=‚cAŠkG”qL°‰_ḈӬ~cFpP¸Ža¤wFœrDÂ\¾ŒYÔ£mÓ£qžyU†dD†dBjE“mF“lEjDgB†b>}^:uV6pQ4nP3nR4qT6sX8qU7oT4V$ˆ['£wH”m?Œf=nW=mX@u_EyaHzaGx_Du\AsZ=rX;tV7oQ2sU1rS.U="W="`8Q$ iA'¢xQxX9lZ?/%* 8@ ,J4[C)G+ 1$ -! +7#9% 1! +4# @%G' 8#- ( 8 +/  50  +F-qIxQyMtEO& +E! _;sR"fH"Y@J6>//"$[C2ˆaD_@[AO8-U7=T:4J4+E5kS~b›i"­A)©U>‡K:ŸV=­dI»s[šI4ŽE,šcB£sL¿€KÑŽO©f(´n.¸xD±rDxU4W2´l?Ç“^—nGÅŽV¾†N­{DnO/U=&\B)S=&I9&E4%I7&S<*_D.eH0bF/Y@+G4#2&!  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +    +    +      + + + + + + + + + + + + +  "/#>.H6R<VA$^H(jQ-{]1…c4b5‚b6Žh6lL!uX1qW5hP1dN/kT6^J-R>'UD+7,8-”wI¿™ehO4B2I4T:Z?]BbD!dF$lL(V—X#rW8oW8nT8kS6jS7jS8jT8oV8y]@‡gF’qM§€XÔ©}ѧ~}bE–tP·`¼Y¢yJ³…V·ˆXÙ¨uÉœq–sQ‚bA}]=ƒb=ˆe>‡d?†a=`<~^:wY9rT6nS5qS2pT5rU9vZ=x\=xZ>‹f<‘h;­~N“mGˆfCgQ9fQ#=% +3" =%F(O+I*F)B'L(F$& & D%A"$ ( K+Y0 \4 `5 +Y1 18mEzS'\?O5G1@-4$'XA-…^EC/;+A1"?.!8+;.fQkT]JY:Š;$pB,W@-‹Z:ˆX9†[@sC)uL/Ša=ŽY+¢W¹v>¤i2¶zA´u?]/cC(mM4›eG¹]¢uJ‹TµL p?fI,V>%W@(R<*F5&?1#F4'P:)]B.eH0dH1[B,J7%4(! +  +                                  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +    +   +            + + + + + + + +   %2%?0L9U@"[F&cK+mS/}^3‹i6i8i8–o8zW(x[2w\6mU1aL/fP3TB+F6 M?)?1!D3dN2zbAZD*D2G3R;V>]@cG$iK(mP-uV1yY7v[;qX:mT8gQ6eN6bM5bM3dN5oW;€bD‹kI˜uPÀ˜nšs|aF’mG°€PÃZ«‚Qz]>”oHÁ—h²Šb‘oM‹lGdB‡eB‚b=^:~];}^=|]z_?eG…gJˆiH¥zTŠkNhR<[H1m\F‚nU}gP}eN‘|aŸ‰l†nOyU&‚X!Œg:ŠhBnL«ˆe·‘j©~S­X»Š]¡oB…W%a==&( +'3! +@.9!('% . T%C$ +9$D-T3W4P6B.;'H,U2:'- >" +A!8 +9 E'L'K*B+>*(D+zT,‚[._CK5F/C/:)+ ^G4´†b¨zW‰bCiH)hE"jJ-ŠhG£{Q‡f=a;gD€XsW9gA§Q¤{P£~WµŒc¨ƒ\›zVƒcBwW6xY7|^<|^?{^?y^>vY/$H5'T<+]C,_E-[A+M9&9*#                                  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + #" +    +              + + +   #+"6*D4R>"^G'gO,nU/uZ3~a6ˆg8’m:™r;Ÿv<™s=‘n=Œj'^K2O=(K:![D(V@$J6D0E/J4R:W>_E%mQ/|[9{^={_@x^?qY†hE|`>uX9tW8z[9a?†eAŠiEnJŒmK‘qN“rOŒlMqQ–wV›zY•qSx_CeN6gP6|]@{`Ct^AiSB! Še{[Q= D7!bU3q@ZC'jEÆy²w1v:‹\6ª]<¤mD¥r:ƒc0‚_3˜l;³8Ÿo*–l6ª{Cžq5lK0g\2œ™OتoÈ“[Þ¦rÂ’eaE+`G+ZE,S@-H;,?3(9.%:-#B1%N8(W?+ZA-XA+M9&:*&  +                                 + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +    #$   +                + + + +  %.%:-H7 VA%cK*lS.uZ2{_5„d7Ši9’o;œu<¢x<št<›v@’o=w[3gN-bM.dN1\H.aO4R?)R>#_G(S/nV;–qKrS6B/#R='}]6¤xG¯‚O€bF…eEjI yO¬ƒ[¥W™tO¤~X³Œe¶f³‹c¢~ZŽnM‹jNžzZÀ˜r¾•o“sR~aDx[B‘pN±‹a™zZpY?dO9cQ€i8²tS»}[®xO€g9yZ0c7ºˆG²‚Nµ‡\²I£t7L8#VH3£]Þ®wÉ•^Ú¤oºŒ_`E+`I.[H0P@0E:.<3)5,%6*";-$G5'P:)U=+V>*N:&<-& +  +                               + +      +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +   #! +    +              + +   '2'>0K;![F'hO+rW0{^3c6‹i6m9—s= x>£y,^I3rX={_D‹oTŸƒe€eN>1&V@/†fFlW=3%@.aD%Y4™tK…f?œxR¦~S²‡]»Že•pLeK0gM1„cB‘nJjHkR7M;)G7"K:*^H1aL2hN6}V=xP7^+št![C)@0YC0=/!;+<.?.!:*@3QA(L<*_F-Žc=¤wE–pH›qI±‡XŸuD¨t?¤tA^@(- 5 . "  * &A#' ! +# $   # # ' )) +@#=& 9' +=) +:& 1" & +" % * & + :$F/?,9&8%E-J20"^?'^<%:(O1i>œkŸm’e1rR.žp"¦v-h?„`3Ÿo.¦l@™h=ud/ž{E±…TsJ”oCrDªxC¤tE©}P¿dÄW¦w=G7 jV;ž|UÞ°yË“^Ôg¯€QjM0cK1]I4PA2D:/:2+4-'3+!8,"B2&J8&O;*Q=)M8%?/' +                                 + +   +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        +  +   +    +             + + +   "*!4*B3P>#`I)mS-w\1a5†g8“l4˜p4—q<›twAm<ƒd6oT/nV3|c@eP2bN3ZF.WB&\E%S;J4M6Q7O7S9 W@#`G,mR4w\>‚dC|aBoX>dN:YG4P@/L;.G:-J;/RB1dN7rY?rX?v]Fš€e}fM-%5+ oW?eN9+:(V>#‚]:]@'|S!«|@£yHsV6mT7~^@cI0x[;’nF†bAuW9N9&9*3%/#>/!B5$:'x2 Œ0wHhLB0A-kL2jO3qV5jQ6I5"U<Œg>fF.=,Z=(pK-‰^3€_:uT3‘j>¤r<²z?­x@sM"' ! !  + + 00 @# + +" +5 " ( !# +.1 1 F) D+=)@+>)6$/ 1!0!3!. &+5!C,C*A(C+S5U9=(kH-S5R,j,j8Žd¨w£q,ªv'Ú²u0j?†Z)†_+vC’vA~i2ˆu<‚a5V)Z=pGžqB¯€O tD¾“fÍšl¯~@?/-"‘qGÞ¬tÏ”[Ζ]²€LxV5fO5bM9PC5C:060*/+%/(!5*#>0%D5&K8)O<)K9&>/ )  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             +     +    +             + + + +   %-#8,E6T@$dM*qV/{^2ƒd6Šj9”n6šo1“m7•n8›u<™t=–r=m;Ši8qV/sZ5}b?jT5hS6\H.VA'XB%R:O7S9V=S9U="Y@%bH-mR6vZ(4'[E/D3$'<,T>+™xOkO2vQ%¥n-•]/E0_O6vfG>0E2A04(-!+ "2$[L1ŽwXZB.i‡U!YBO;*fI1wU;wX4rT2D7'?-¨_>ÍWrL6()($#F2gM/xW0e6•i7¢wE¤r9oKP5 X9I-Q3 R3N+I%?"j?iB~IvIk>K-\;kEW3^6nFhBkD{PŠW|P|OwKjDtLtIZ;R6nGf?W6 - 4"V7L+ R, g=yG}Q!pJP8wQ/’c9c% +z1[3 tV•o›o$•g#£iœj6‰\/XŽabm3et8|v=~p;›jCM0ÀyW«sN}\4¡vCj&œl/ÃŽS¶„9Z?"O< žvJÛ¥lÓ—YÓ˜Z»‡NzY;nUSE6?902/*-)%.&!2(!9."A4&H7)M;)M9'A1!,!                                 +   +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +     +     +             + + + +  &/%:.I8 XD%gO+uY0a4‡g7l:”p;˜q7˜q:›u=œw>•r<’o;“p<‹i9sW0rY5{a>r[:kT7_J1_H.YB%V< T:Z> ^B#W< X=!\A%cI-mR5sW;rY=lV=cO;[J6SD3Q@2N@3SD6\KdN8Žv]YG8,#G9)]E06*&A/R=(˜tL•nEˆ_1ÇŽZQ-/I@,`Y=  ! 0"-!  6)ˆlK“vVB')rže!aFjS<_D~_@iI'I7(!4#vF.†I3@* 1'-C3? %I5)kD‰e;f6‡^)¤{Gj-‡V~Vžh2‘`(YX$‚Q^7D'–_&žd$®j³n£am=|M‘]"‚N‡NŠT…U‡Q”]!¬l'³q*¾w+³m%¤g#®p(˜c$rHh@ˆTŒXPM0D+_<qFM°l!¾v%­l(Ÿf$ƒS†^0¥uB/ 8xS†p&—w6|Z5Z>%}Z:»‰\Ç\­t6´€+~p8mp;„qC°xQ®uLÂ~WÕŽg¼ƒY•oH´…Pªx:Ÿo0µ„CÂI t@‘j:¬ƒRܧmÙž]Þ£cÃV‚_A~`DoZDWJœw?™u>’o;Žl:‘o<‡g7rV/pV4}c?z`@jS7fQ6hP3[C'W [?#^C&cH,jO2lS7jR;eP:^L8WG6VF4TD4SF6YI;gSBxaKˆkPŠkLy^Aq[B¬sm[K0%t[DˆiHD0-"@0X@+–pKª~P…Y)­pO‘L-0 +,#<0! ! NA-K=-P=,~]C_C)F `! ›heJ N:*pV>ƒeInP,C1(?,/$]H=†g]lUK«…d°‡X–pD¡t;žn$žxF†^-e1i2À–eȤr¤|D¬H­~EiJ#' ‘j.¥|;´‡Dšl#b52<# E)A(>&>"E)D.Y:†V&±q2¼u1¥d$R"{R(kGgAP1V0 nA qD=% @' P1xG{M‰U©j%¦h$©h!½w.ˆ]*™n9|E(}C%wQh#…m-dE%_<$‘jEµˆ]È”g¿ŒY¾ŠI¹„U“rFjA·zQŸuH£xK¶‰Xª}PŸxNª{O±‚Q±~C¼†LÑW¯€DŸp;¯„TݪuÝ£dã¥bÅ’Z•rJŠjKycI_M>@:1+*&)%")#0*";2&B7+I;,N=,N>+D6$1(  +                               +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +     + +                   + + +   )!2(>1N<"^H'lR-y\1ƒd6‹k:‘o<•r<˜t=šv>›v?—s=m:Šj8‹j9b6oT/nV3~d@eCmW;qY>oW:^E*[@"]@!dF&eH(Z>!Z?#]B&aG+dJ1fN5dO8^K7ZH5XF5ZH5ZH7[I9aO?nZF€hPqSoNdDiL¦‹qn\L,"€bG¤{ST;!9'<.\E+ zS±…W„X$K/†<,/!:,!  #"  " M8)cL5M)a U n* ˜ehJ P?*zX" K) <# 8%4 * 1 5# N3e>„Q‰S„Q‹V$ŒX’X‰QJwEe:@&B( O2T6S7^=qG!ƒPŸbµr+yT‡`)šmIœmG—kKySšqM™oKšqO¡yTÃ’gÓ sÙ¥uÕ£oΘg¾†U¶}MÂW³K¨‡C§‚P³ˆV³…X¬|R²€T¼‡XÀ‹[ÁZ²~B©y>³„Uß°zÞ£fÙž\Æ’\¬‚U—vO„jKdU@A91,)%'# ("3-$<3(F;-L?/PA0O?-G8&5*                                +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         +   + +       +               + + +   )!3(@2N<"_I'mR,y\2„e7l;‘p=”q<–s=™u>˜t>“p<‹j9†f6‚c5{]3pU0oW4€eA‘uN |R€fGw^?eK-\A#[> aD&dF(Y?"Z?#Z@&]D+`G._I2\H2YF3TD3VE5SE4[F7cN8mU?s]EƒhOpRŒmL€dFŽv\š…j`QA.%`J2ƒa>X>"I4A0bI/›vQ¦{QˆY!ŒF&w07! \O(SJ%'&*'! /L;,;+A d K[0Žd\B K<,VB+H5 -$²‘m›o^F,~aOž|Šn\“qVœxV†d@X= ƒ]8J3xcE³’[m9Žp>—yF˜x?lW11)8,3'4(]F(jQ,¨€B¯<]53B& K/>&;'?*?,;$ <$U6V4a<sE‰P^¨d¦c©b ]~HW.>'- :# I+H,.XLUgRS‚;)‡FSrN"kM!oI"£\!_Cp]?†\:”_C„[@yW;¢zY†iBˆjA‘qRšw\£uT¡k;—t2”…'§4¡H‰a3‚U5‘S?ŒR?‘UB¥WB“]8°€H¹ˆPÓ¦ná³~× eÏ“RÈ‘]¹ŠYŸzP‡lMlZCA:1)&#" '$2+#>4*I?2QD3SE3TC0I;*8. " + +  +                              +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +          +               + + +  )!3(@1P="`H'mS,z]2…f8m=o=‘o<”q<–s=”q=Žm:‡g7€b4y\1tX1sX4tY6…hC¶’fÑ©wš{U~dElS7X?#T:X?#]B'U;!T<"U=#XA(XC,XB/WD0TC1RC1SD3XF6\H7cM:gQO6 W:%& pY=ŒoFˆg6lT0iV1hS,C3'%   ,"x[7¬‡PŸu8_6>:! S1S3R2R5G/D,I.fD#M1( Y4v@ h; h;O.f>sEe<P/7$# 8'r0r+(fBHˆA=¼%¡(dAtQ*jL+bB"^*r_Aed>Ÿs.¿ˆF”nJˆhF§yZuK6lQ)ƒdY˜zpœpI’c0 m+•{,­–3¦4€d+K1¢XC\H‘G?ÈS*¼X#µ~<Ë›jé¹…æ·…Í›dÉŽQÇ“]»‹X¢{RŠnMn[B?81'$!#&#2,#@8-ND4SH7UH6UF2M>-<1"'   + +                             +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      +         +                + + +  ( 2'?1O="_H'mR,y\2„f8Œm=Žn.M=/RB2[H5]J7eN:w\t`LlXHZG6J7$M9"\C%lK'wR,§yH¬UšvOwW1tN—qF_B&A+UC(@21B,A&/  +$ ;"=(/H=8 +`9 |Z P:E0jI']>cB W:‡e@Ë›lŠkER;&¥~X½’irQD•tX|]fK1>,-  rYB˜vD¦~DiR._J-ZD%D1+& 2"H3gH!ƒc2—r?…['oCE) ?)Y:?) 1 9%;$-(8%7%-(   2O)vFT2>*¡yUˆX6¤J/–H2”S6€9 j9\=~]7\9hH wL„_:‡rF¢p6±v8’k@h?›nI‰\:§mB¦pW“iT›pN¬m=²x?¹>²Š=­<¯‹M sJªo7­p>eJ±pM°tI½ˆE¿Œ\Ⳅ㷇ƘfÅŒTË—^¾Ž\¢zQ…jKiV@B:1'$ "("2,#@8-ND6WK;YL9XJ7RD1A6%,$  +  +                             +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +       +                 + + +  '1'>0N;"]F&kQ+x[2„e7‹k;Šj:‰i8‰i9Šj9‡g8c5z^2rW/kR-gQ/jS2mS0†d>ÛŠGß\³Ž_p\@jV?I8#>-H5 P:%F4 D1 E4#G7%H8'H9*G:*F8+G:-K<1VF4]H5qT:Ÿq={\;z\?wZ?gP:eR>q\KoWFaK6T=)V=&mO/tR-Šb8¼‹V¨{L˜nA}_@†[,‘h7N8#:)hY#U9 @*>)lJ%wS*M5>'fM 4> L55%K7!pT2E.kH |T&«}G¿ŽYvU0U?)’rWrYkNA´nÀy€a?H3 &p]Ev\6„g1{`4€e;ya5qW/rW0zZ'rO}U"ˆ],|W$„Z#~VzNS47$ +C*3")4 6"2 .4$5% $    + + $ :"L.A'>(vV:gA&Œ/„5!C,„R9pL2X<^9–lGxU2ˆV4¨lJ¤yS´gF¯F)Æ}$­~G£xN¯|MÎIº|]žjH´xR·uC¶zFµ|E«€J«‚R°‡]§{M©t=¡o>šjJ¦pT¥{O¦|P§tRÒ£xݱƒÇšjÄVÉ•\”aŸxP}cCaP==6-%$ '"0*#?9-OG7XN<\P<\P;WI4E;+0)   + +                             +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + +    + +                  + + + + +  &0&>0L: \F%iO*uY/c5‡h8…f6‚c5ƒe7„e8~a5y]2rW/jQ,eN,fQ1hU5fQ2tZ<Ð…DÚ›\®’maQ9XF5=09+D4 I6"D2B2B2!C5#B4&@4'A5(C6)E9-H;0O@3VF7}];¾„>˜t4a;oU9_J6nYFŒr[§ŠptY@[B,V>)tU7qP.†_8»ŠWh;‰_0a@‚]2{X+T:'_K4ƒoL•|Q€\;{Y8eM5YI0S@1TB5y^=y\>I8&<*‚B/ƒI5`:(S;%_J/bL3€fO•wWI:&]J7r\>£}P²‡SŠiI–y]†jQjQ?•waÁŸzͧ~­‰d’sTtZ’vZjOqJ{]1—yP·—v¨Žp§sŬޏ”lœf;“^:šlLmJ,V5R2O2<'   +"1#3"+  & + + +   & /!-F/N7G1P6X;_=!f?$fA'jH*yU4nM.N4yV2}\9iG(Q1Œ]@‹cA¨`BžP-¦p-–mFe@̇MÒ…H²yXŸpN¾wK»€K¶Ja6†dDdIzaKƒT3®i5uS.tI3xD4mZ)z]1Ÿ`FÖ¥|Ö¬ƒÏ¡vÌ—cΙb•cžvOoX@VH983-%$!# ,(!<5,KC4YN<^R?^S>YM8LA/60$! +  +                               +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +                    + + + + +  $/$<.K: ZD$fM)qV.|^2b3~_2{^3c7c8v[2oU.iP,aK)aL+dP0kU3iT/pY7ªw?Å•[¨‹dWI6D;*6*<-J7K8O8P:F6B4$F8%XA%mK$mN%gJ'[E*XA._H4Šc7É:±…1j9|[9gN5…gN«‹mÒ±’…iRYB-R=(YB(\C#f;»ŠW£wEœq=£|U¸Žd±†\¯„[¹“iÁšoÅžpÚpÉpÀ•i«ƒX¢~T¡}Y±‡X¯„W–sM‰iLµŒjµh¢{Y¢|I«‡[uZ²“u¸—wƒjO~\»•pº’h¼‘`°‰c̤Âu¦†a·‘iÆrΦ{Üs·•n»˜sÜy‚c»—w–uS›{Y¹”sµoÏ¥‰Õ©ÒzXÎiHÍrN±bvU7O4@# >%B* &4%( '+  , [D&aH$aB eI&¦zC¬{-œn$‹e-¢~>šu=ˆj?xY5qR+|Z1`5Z>g>”oFlN0_>—qI£vK–lBŠb:—pEvL–kB½ƒI»K£vZ¨€]˜wX“sZ‘oR|^“tV‚eJ{^G‚X=ˆY=l?|]6rE4ŒcVŽYN¶k[㱄۳…Ó§|Û©tÒ£m»a—qMbQ451-($$!(& 81)HB3UL<_U@bXAaT?RG5=5('#  + +                            + +   +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + +   #-#;-J8XB$bI(lR,sW/w[/vY.tZ1}c:{a9mT/eN+_I)[F(_J+nW3{_4|[)[#‰_"›r;–uJk\GKC21)R@%_DV=S@"O&lR6sS4pO)lK#hI#eH&dH(aF*`J3~_8²:j9x[-N6"E2W>*€dL°ŠlŸwT•nD s<¨uJ’jQ‘pR™vP|[:kAµŒ`¶Š^£xK˜e=¯fA¯oK²yP°xE®}K¸†K®ƒO˜sJŽkF‘oG°ŽeÊžvΟyÑŸwÄ`Ó¤zÝ®„Þ¦€ÕiEÍ`:Óƒ`¦rPcE&rM'sL$tP&fFK3M5P6P6J1=)=+R< ZA?/6' ;,2 A0iPk*ƒ]%Še8°‚E»…9¼‰<¹KžR§…I•uH‚^8ˆf=—sF³‰ZÓ£qxK‰fAŽh@™qD­ƒP¶‹Y«O¨~P»ŒYÁ\¹ŒY¹`²ˆ`©€bŸy[µ‰c®ƒ\¶Œf´jœwThHnO³}[´€]œsLhG¦nV»†m¼eɈf涆⸌ԥtå²uÙ©t²‰[‰gE\J8@902/+'$"&"3-'B<1QJ:^UBf[EdZBXN;E#\A'qF*j<)aD-kD(kE,vS9^:#Y;&7%'+>*?&”nS§ƒa’kK–kCžoB¤tK¡tL¹•Z·YŽn=ž~NÀ’oºj¤zQ–V1´\=ÔŽjÅ€UˆSÑU±ƒ6ŸBi\GpZA–qEΣjǘkË—jɘh´„RÂ’hج†Þ®‹Ýl·R4ª_EmH,E/fI$oN*jM(`E$`C$_CI22 3 H0]A%tU0lO*UAP@zfxb#‡n¨†¹Ž€_[E+M?/O;*E2%iO9™}J}e8sV1kI*zT(}Y,‰e9’nE€eD¶‹gÍ qÇ–gÚ©xå³…á®}ߪvä®{â®yë¶ï·ˆê´â¬zܤuܧvÛ¥wáª{Ü¥tΚmÉ–gÓšnÓ›nÍ•oÂŒg»ˆdÈjÖœrÖ™m¶yRܯ‚æÃ—Ö¦rå¬lÖ g±‰Z~]?OB3=6-0-*&""# ,)"<6-MG9\SAg[Gg\F^S>KC35.&"  + +  + +                            +  +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + +  *!7*G5S="ZC&^F(_G)aJ*dM*kS.t\6pZ7YF(R@$O=#UA%]H,dN3lW9t`DZJ7H?3e[Izp]siWUK+O7&`B,4mR>ŠeIxS4|V4ˆa:–l? tE¶‡R¸ŒY§~M­T¶…_µ|[–iE‰_9Á„_ã¨|鱀ܨqĘ]¥|:œrA~cAnP4_DÊ mÖ¥wȘiÇ•mÙ©ƒ¾‘h´‚R¸RÉŠ] E*sb;+WD2hW+Y?+w[Ar^El[?”}@Ï´5˳-Ƨ&¼› Éœ$ª‡1‡iH@2)Q>1L:1bPC“wY‘sTmXCNA1jS?•uLi8kO1‰oOœuÞt¦W³Œ[ÆœdÆœjÇœi—[¾S»‰WÍšbÐd¾[¹M¬€HŸtH±jC¯zMº…S¿‹V¿`¹‰a®zP§sJ¯{Q§yQ³…OÌ•Q†=ß²wæÀ“Ú£kÖ›WĆI­„Uy]7ME=vfV§ŒoäƒÙ»˜·†®we‘qY˜tU¾€Pšb’†x’†iŠvM†pW‹|g|eH|aAŒpT‘|do\š~d}^bD—sL˜vL£X¹™lÌ©zË©}³•r’wXŠgO­ya›sYŸsTÜ {Þ–sã¨ؤ{À—q’y]l]FlU@gP?ŒxiÕ·’ß¼•β‘Ôµ”憯“tÈ£{Ц}ÊiÃY<„B4ƒnX„s²Ÿ¬™ƒ’{e|jT…vd€sbk_L{hR¦•|£Ž~™†v³¤‘õ ÔÄ«é×°òÙ‘âÍZÔ²IÒ SЭA¾¥]µž‚ª•|–~lŠvdž‰t Œvª”ƒ¬™†˜ˆx§™…»§Œ«i’}_¶™v¦}Ú´‰Ù©v¾šc¼œf¢lɦn¿˜?¼Š=¥r;½’TȤk»’aÆ‘NÔYœlE­b>¾{BÒ’0Ù›;Ñœ_Èšb°u9œ]%ªuMuV¼‘NÔ¤JÖ§[éÀ‹×±‚ÔŸhÍŽMºw:¦{N|\9O?,;4+1,(+($!$ /,$A<0SM=dZFkaKh^IYO>C=1,)#  +  +                              +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + +  '6)F3O;"U>$U?%S>&S?&YE(^I*\I,Q@(C4>1@2F8#L>*XL:uhVxezl‹~Іx—•…ŸžŒ˜•„–y¢t™†juhSk_MqdSshYpbWj`Vzrf›€¸°™¶©’}tfsh\}qcŠ~m”ƒq™‡r›‰tžŽ|¦“Ê»§À®˜|pdh`Vqkavqfzti’…u¡‘{»¥Òº ²ªr›ƒi·•u¿Ž_’…okv‡’‡v°sU¡yjŽsj[Kl\L†|n‘‰{•‹{’k‡r[o\R{bZŽkWw_«”w¤‘užŠro[tdRm[«}lªk]JÚ}aß“v夃Óf…`M:1)*#dJ2aN7‘\ϵȪ†€j‰{gwbmGªyG¼ƒVÌc¿V6uN;M6)_O=rcSmZMmXHvbPƒte†ykxk^ncT~rc…viŽ€o¤™†ƒt†{n¹ cîÁ3ä³&Ýo'ã‰.Ÿ0}C¢‹r©’w‚tai_TlYJkUGx`Q…ra’€n”ƒnj‡v_~kS¾uȤnÛ gÞ˜RÏœBÈ›P»”P®‰B·”#Á‡0±x8§x:¨F­uE ].µ|JŒZ3¶wGÃ~M¾MΚFÓœ_Ê—^¼ŒM©xE™lM~ZG›qGÕ¥JÖ¦Z潄ө~ËœiÌ‘R½€F™uM{\9SB/?5*61)-*'$#!*(";7,LF8_UCj_Ki`J]TAJB530'"  + +  + +                              +     + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + +  '7)F3O9"S=$S=%O;$N;%P>%RB'M>&B5 ;.7,:/ @6'J@1VM?\SGYRHupc~zmtsg‚‚qƒƒpm‚~kvn^mfU^WHQK>OI?PICKF@GC>NF@aZQyoczpblbVaYPg]SpbXzk^‚pa‹ydjƒrbzk\­¢’Ž‚rleYme]hb\d`[ke[|n[|mX’hœ‰p~YPK@o\D¯Žp©‡W{tiQbvzrf©T+Q@XB7\H9|bKŠvaiZO‚iLŠe@eO2Q>=V,8}.;kJ=“xbaH8˜€m’zmfV|`M·scµ€o†\M›fI­~[±z]Õ™z{\MH3k]3©šSÕ³‹Å¢x^O?RJ>eUFiR8\E.xG/¦wSrI:R?4& 6"D6-I:1\PEreYtg}o†xkj_TI@7;(%<-'L?290&{YáœЀÍSÄ’#¬‘(yhGqeVSME95161-:5/94+>5+OB5cVEeVGVK;SD2^K6ͦxß´zÓ¤fÑ¡aÖ¢PÛ¨YÌ P¸‘=Á˜4É™OÒ›Y¡y:¡r:¾RÎQÊU»†PϘ_Ó™cÄ“\Ê”LË™\ѤoË¥rÅšn´‰j†`PYG½‹WÒ¢gÞ²}Ö«yÉ›jΖT»ˆQ‰iE}]9ZD-@6):3*2,&($!%!3/(D?4WP?f\Hi`KaYFOH984,'$   +                                + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + + + + +   (7)E2P9#R;$P:$L9$H7"F7"D6!@2 8-6*9/"B8,E<1IA6QI=JC8MH>`[Q\YOfeWy{fus`sp[rm\]VJXRCSOAJD:B>7;92862740@<6PHA_SH_TG\SI\SLbYQh_Tvj^…wgŠ{jrcf[K`TG›e_TB=7HAA.)D60MD:D;1*%$WCÈŒ!Ë‹.Æj9½–A¹ ?•€S~o[VOIFA9IA9PJASKBJD;IB9KD:MB8UJ=UG8eR=Ш|Õ«xÓYʘW¼Š9À‘<ÆœNÊ¡DË¢7´‡A¯ƒB­€6°q7½rDÎ…B¦yA¸•IܬUÙ e¿Ž_¶}7¶V¾Žk¼”l¬‚bŸ|gƒaUS<˜nGŒ{RϪzÞ°wÖ£lÏ”Pµ‡T}_A|]5bJ-D8)B8,91','#!,)#<9/OI:`VDf^JdZHRL=?:1*'"   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + + + +  (7(G3O9#Q:%N9$G4"A1=0:.6*8,A5(H@3H?5A:/B<1C<3A;2FA9KH@SRGkk[}}k{yc}ye~yg_ZIWRCQM@IF;A=574/32.841B=9SKCZPF[PEXOD]UK`XQh_Uvh‹q‚szoa\RG^RG—ŒncZ,&%-*'.,(.,(=5.RD3<3,œ|]tZ@QW4'qR=}i›rPFIUM@œ`,¸qD’vUƒiN™wOÞy˜vXÇL¸Bs^7`N6T@8ONFiiZuvd|zfˆƒnŠƒof`N^XHUPCLG=B?7;72632=97HD@UPI^UK[QDd[MhaSjaVsj\‡}n’†y‘…v|qe]UI`VN¯¤•Ž‚x!!"%!A4*ePrXJ—~b¤ŽpgXGeXG`R?LE.–<›Š7‚n9ƒtP‚qRƒsV„gVL=60(OE8iZHjYI\L>ZK;W?)&N=3xk^ˆzlvk_cXMfWHuaQ•m«’}šqZE;\G=^N?XJ:QD6cL0²‚1œ~FŸLÁ¢IÀ¥J¶šgœ„c[TFUMA[OC^SEYPEWQIWOEKC:@5,=3&H9+nY@Ê uã®jæ@Ü~2Æ|1Ír6Ö}=Ð}3ÑšA§v;‰^1ΛfÈ—]ËUÍ|GÏ“[®†^sE.±}N´ƒI¼S²ŠX¨U¥€X¢}M”rW‡gX‡jGx- …?ϳ…ÞºŒß¬wʘ_»a†hIzZ5cK.G:)QB,RD.?4'-&!!-(#;6-LE8YRA^WEXQAHB741(#"   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +  )9(F1 M6#N7#H3"@.4&/$5,!H=1TG9H<04.#.)"0+%3/(2/(40,63/763KLCccVqq_{f‘ŒwŠuqjXhaP]WGPKAFB;>:5>:7DA=FDAICARLBSK?]QFi`TreV†qX’~f„sƒr€sexj\vi[º­žž”†%"E:0„kN¯†`§^ש~Åžx“z^v_¨‹nzeNK>-€je˜|s}e[kXÄbÄkºƒS¬u:´~C¦rD´tA±x>«z8¸@»†Q½†O¾‡QÀ„I­xB·€I›mÆžuÒ§~ಋͧÂxɧƒ·}¾¢‚ѳȰŒ×¹–êÌ•ìÊ…ëLjԸŒ„qUƒpSqXQA4/(dWG–fž†lƒnYzfRfO9&K@8ˆyd£w‚sdpbTŽs]s^€kYoa‚raW?7M?5]PDzdNgPx`I‚kG‡mP‡qR~T”„[™†gŠ|ag`P\TIQKBQLBUOHUPGNG?D:3:2(H<,_L:|cI¼—lÌžjÞ GÛ>“=Ë’QРiÑ¢aÓ¡]‹NÄŽRÛ¢iÖŸ_ÃŽR°€I®K½‡T¸fB†V¸‰R¯‚R²†V vU–pW‹lT`Yq[SiJ´†:ÉœJƘ}ÅŸ‡Ý´ƒÑ¡jÊ›inOwY5`J0I;)XE.]I/M>*7-!'!&#3-&?:0OI;WQAUN@ID673,'%    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + + + +9)E1 K5#K4#D1 :+3'5+">5,D:.?4#2()$,(!0-'1.(1.)-*',,(33/II?`aStr`‡kš–‘Œx~weƒ}nvqe[WMMHADC=EB@JHFGECGB>GA7LC9VNEdZPseS‚mS‡sYŠzi•†u™‡r”‚o~paªŽ„x,(%51.3.,OD7€hQ }\¦YÉ¥yŸz©Šj¢‡d³•s¨Šl”|^¤q¦Št¤…p²Žuµ„i£qW“a:€KŸc3Ÿl;¢uD¥s<¡l2¥o2¬t:¯t7»|4´y5›e+ªn-¦XÅ¢|ɤ²Ši¦}_©†d±”t½¡‚»¢ƒºžÀ l±•q¹Ÿ¼ ~¶›{´™~À£ƒ¢‹i‹~fVPFCA;meXˆ€nzrb]WMOG>D9-0*&KF?]UKXRJMHBOD=G=7A=;e`^}rlfSKcXLf`XpdYo]NiXGeTDjYHvdOd¢”y«›ƒy…|kvnbgb\rpk~ypnkSQK@<7:60KC7_UFqcNŠtX”wY§ˆZ¯Ž\®ŒYÀ•`Ó£jÕžfΗ_¯z?¼‰OÝ­uç²wÏ–[¾ŠT¨}R¾‡VµbMŸ`X‰kWvbNt^OzYMzWKnVKiWM^ZRynV¡xP£„c®ƒº“ˆä¸Ñ£lÖ c‘qOtY9[G0L<+]I-hQ1YG/A4#/&)& 51)C>3MH:PJ=JGESMI[UOaZRe^Wh^TmaStfV…uc‹{h~p_nbRkcU”ˆzqh]41+642%##$"81*{cI­Œl›yY_?#S?'_L)gV7]SCyk1™D’v\˜mYŒeNz\AqT6]0—d4zT%|V'šg1±t5§n0†Y0“e3¾~.·z8˜b,‰UzR(‹d>;<865..0100GEFRHFK;4]RGjc[b[R\QGdSCgUDn]IoX¢y¾­”ô™´¦‹‘|‡€p|wo‡„‹Šˆxwt]ZTEAŒ]JlJ‚hI`^EK[O__T|jYyq[‹€f‹d‹u]Ž{f „‡¦‹Œãº’צnÚ¡`’rQpX,cL.oV2cO2QA)9-' !+)"82,C=3JD8HB5>8/0+%! +       + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    *7'A.D1 A. :*4&,#$  %!.,&74.42.--)*)'+*(9:4TTIkiZzwc„j–z‡€j€xd}wcpj[mf]lhc][VJHE;:9643945D@=WRNfb]e`Xh^TqeV}nZq^o^xiWm^P~o“†xYRH@;31/+#$"2+!ŽmP¯n—sOS-J-U"•zKugRŽyO´^—u\dI=L?6OB6I>3aM7oU;I:*G;*`G-‚\0iBŽnPŽpPÌ£y©…`qM&|Q"„]3jP9H:/XI@†lZy`LJ=/^N52) +%5)B4)XML}j\˜yY‹qSáÀš¤Šip[ZO?C8.XJ<\N@F;4,'!$"326=<<=;:756235001*(*''&)&&5)'F=5LB7OE:[MAlZFn]Ho^I…t\¡Žv·¥‹¹§‹±ž ŒtŽ€lxnyu‚|xvsa]XLG@F?6LB7\O?n\Ft_FzaE‚hI…jH‡iEˆiC¦~P¾aÓžr½‘h³k¬‹t¡‡w´€@³fÄqÅy'°m+¦b)±b µg £g%|]+?-;*5'+  #"0-)87063.,+*''%--+??9[ZPsp`xva~xcŒ†q}v_woYoiWhaR`[Q[XQOLJDB@@<<;8:=;;HCBVSPfb]ke^wl`sbŠyeŽzcˆuaƒr^veTœ‰w–ˆw[PDE=5/-*&&%&&%'&$>6-qR¶”r•|c9'D3#¢†BˆnCwaG”zR¨…l–{g125501iXC[P7[L8F<3-+*776OLICC?²šº˜{–uSΧ‚Ï¥ƒz_A~\9—wMzdJhUAzeU™ioZM8.PC6& 8*‘b.¥xG{hS|lbŠrYhT>¼¡ƒ‘{]uhPm\ISD4_N>[K=D9/+%#" (#(51/::;426)()!!"!#''(.**'%&*!C80L@5NB7TG:nZFxdLn]HzgQ‹x`”f•ƒj•f”dŽ{c|o^qjbqnhlhca]VVOGRI?WH:bQ?nYBu^EzaE~dD‚eD…gD‹kEŸ{P•iܬyΡs®‹j¤„kœ‚o°„Q¬p,¥m8”j?†c@ƒ\<’_6•c6‰_4rW>s^IyfRzgR}iUˆqZ†q\Œyc´š{轋㸆׭rÕ¦qž}^gXDVI9QC1dM0uY3oW3dP2P>&5*#!-+#73*>7.<6+5/%,&" + +  +  + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +  '2$8(9(4%,!!+*'32,.-*((%$%$..+DD=ebWwtcyt`{v_ƒ}ezs[vnXohUe`Q\XNUPJMKHHCEECDB@CFEEIHGROL`[Uqj`‚xh~k–i“~ezb†s\}kVŒ{fneVFD<2*($#! $#!+(%D;0gN»œ|‘zcTAYH%Œ{ŠuFŽv]cSF<49E+*fN8kV?‹lJ=5,0.-TLF{qeTPI†s`•z^tT¦…d›|Z‘qPx^?sY2eAmZ>ƒjM–|j™s_n;/L4+C:5Z>)‹X"®x:“uP‡vekXnWD²˜|kQ`SAziRfTBiVEfTEND::532236/)2%850/.0  &" 1-)+''+!/?1)=3+91+<4-M@3[M;ZJ;aQAl\Fp_JraMygQnW~nYvhZmdZeb[c_X_XRYRJ^QEfVFq^HxcK|dI~dGeF‚fD†hDˆhElG›wNª…Y©…Y£€W¦‚X­‡Z¶`¯Š^š|UˆlOxbIm[Gp_JvaK~eLƒjN‡nQŒtWŽw]w\˜~dšƒf“~gµšz๋ܴ„Ó«vØ­|©Šhs`M[K=RC4dN2oU2lT3iT6XE+<0&!-)#50(72)5/%.(% +  + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  $,3%2$.!% "!&&$$$"#"!"""..,HH@jh\|wfvp]voY}w^yrZunXnhVfaSa[SYUPSNNPLMJHJDBDB@BHFDPLK^YTsj_ˆ{i•ƒm™„i•d‹u[mVzhS{iUˆwam\G?6-'$""&$0,%H=4pZF®”u{TFJ#Q80dJFbVFQE?aO=]P><;7R@?^2.oR7fNAoO>WE;[K<]F5siX†p}jXTE4Q?)O>&y^ApQ~cH›‚]¤†V™u;º…OÁŒs¦n’?1N!D73K-$n?‘a%™wK‘wdŒs_€pT¾Ÿ|sUSF9~mWtcNxeRveVaVMLIEEEF>8.7,001$#',$0($2#* * % -(!:1)A8,@7,>6+C8.J>1OB5SF7UI<\PB`TFbVJ^WMZVO[UMYQJ\RIaSFhWEo[Eu`FybG}cGeEƒgF‡hEˆjF‹lHmHpK‘rMrLqLŽpKŒnK‹oJ„jL|eHo[EmYDr_IhN‡mQsVuX‘v\–|`›f¦‹m±•x£ŒqÁ¦‡à¿”Õ³ˆÒ«}ä¶Š¼›v|hT^O@UD6]J2hP0fQ2gR4ZH-B4"*!" *& 0+#1+#.((!  + + + + +   + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +   (+)$  !!..+MJDqn`yvdqmXtmWwpYwpXunYrk[lf[d`WZWSTRQOKMHGI@>@><=A?>MJH_YSvl_~j™…l›ƒg’}`‡rW{gOudQo]—„ms`K?8+2-$.*",)"81)NB7‰mU³”xuVK>"&P-/¥sd±n~VE“dCq[G310FDIaE=§d£~c¬zY«ƒ]ŽtSlR7N=5aOBdTHD<3VO@l`S‘|mŒwn{e[µ £‚Tª~;¹zE¯uX”j^¦L8_*(D68jN={I]2VA.„m^§…c|eM®”p…mPTI=|lY}jV‡t`€n^cYOMIFCA@H@7?3&0+,"! &3%5%1 +'!& 70)OD5UH9F;03,#/(!6.%@6-A6-90(80(<4,C:1E=4G@8HB:MC7+VI=§…d¿ŸyjUJ\LRjo¦ws‹h]‚Q2LJ4ŒoBD?@\amzbV‘jS{ZM cLÅ‘g®d„lBdJ9\NE_[RpfT¡‘u–ƒq¤‚„pibIK˜‰v­†W®‚CŒi7¦ƒb‰gT‹8)e+%G79[IEbG;P7)M:&NA;\I6bUG·š|iP[PBzlX€lW‹t_}jVZQD72-+'&F6(9( " "*1#8&/( -*$LB6o^ItcLZM<7/&""-& 5-%,& !!(#-'#1,&6.(90(C9.J@4WH;`O>hU@o[Ev_EgJqP“sR–tQ“sO’sN‘qLŒnJ‡jG|cDt[>lU;mW>iV>_M:ZI8WF9XJ9YJ<`P@hVEp]JwcOƒlX”}c¥‹p³˜{­“x¾£†Û½™Ï²ŒÂ¢{Õ²ŽË¥ƒ”{e`SDQA4H;+Q@-[J6TE0QB+A6#+$  $ $ ! +      + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +   +  + + +   0/,POFrob}xhidQoiStmWupZ{ufŒƒ‡kgcURQQONYWXa``a`ba_^[XVc_Xyp•Š|™ˆq†l›ƒfŽy]„pXvfRpcOyfO˜~bm]HNE9C<0>6+@9-E>1_OA«‡eµ–tPD==2?F©‡dbE83 c0'6,.<45\NPiQEaI*KD+5;!xmWÍ´“Œv_[PFp`M~hQƒmSu`HPC7/($ >,5"D3 K7'F5!9*5(8)1%, *+4"#1+%TH;}kR…rWgXE<4* & )#.& 5-%E;.WJ>dTCjXFq_J|fOŠpT”zYž~\œ~Z™{V˜wRsO‹mJƒgFcDv_BlV;gR:aP8[I7VG5TE7QE8PE:TG4#*$  + +  + +      + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +  +   + + +    00,OLDheXieUb]KohTrlWpkWkfVd_T[WPROKLJFGEEFEGIHHMMMUSR]YSkc[yna„ub•€i…h—~aŠsXxePhZFhZGƒnT«pbUC:5)93)E>/MD6PG:hUC°f£ˆhdVGOEBB5C( :5.5@6:eQ;vbBQE=B@BRLHI>4”tXŽq\|b:‘‹0››9¦“iȲ•pkaUsfT„q\ˆt\ygQWJ9;3-1+(=-S<$¤‚X­‡`•sQnV:†mJ›Y}d@U9S5N1 59-!`Q>„oT‹uYƒoUcUA<3*!  +  )"*#/'!G=2[OBbRFkZLxfR‚kTw\›_¢„b¦ˆd£…b€]–wTŒnN„gG€fEq[?iT;bO8^L8YI7VF7PC6OA7KA8KA:H?7J?7OC8^PAucRˆs\”f¤Œr°—zÖ·Ì­‹·žÜ»—ŪŒ“€kJB<@6160*0+#/*$5.$6.!5/"*$   + + +  + + + + + +     + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +  + +   + +  +   + +  +  ..*IH@[XL\XJa\KrlZlfShbPc_OZUJSOGLJFKIGJIHJIHMKKUSQfb]mfavmd‚te†u_”eœƒf’|^‚nUudPqcRxiV“{a¦uRJ;2.&:5+JD6SK>VMAu`JÅ™jÀ›p¹–p»¡ˆ‹xpdU^¥ŽÂ¤Ã¥Œ¶—¾™|ÊŸ|Ô©{×·ŒÉ®ŠÛ²†ßº‹à¾ŽËµˆ·ž}Ÿ€m«•{Ž{d¬kÆ¥†ß¾£ážʭŽßƤâÁäµÛ´‹ÇŸtœsK‚='rM@]A/]>%¤tN¡vOwW-~$¬’?çkÀ¤‚…u]pgYviW‚q[…q[xfQ\O?KB7KC:OF8t`Kž‚c§ŠhœbŸ„f¼ x¿£z¦ˆ`yR³‹`®†a‘uW£‰k‘z`–|`lSjZERG8:2))$ )$ 5%MA3B;+/' 92)I?3WJ=eUItbN€jSx]‚d¥‰i§Œi§Œg¤‡dš~[sRƒhJ|dFr\BgR<`M7\J6WG4SD5MA5J?6IA9KB9G?9E=6KB:ZNAudRlY†u_¤‹w¹ž€Ù¼”Ô¶•°˜€ÛµŽÒ²ŒzaD?;<612-*.(%&#%",&/*(#  +   + +    + + +   + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +     + +  + +     + + +  --)BA9PLC\XMrm`xr`c]La\Ld_RdaWXUNPNKNLJPONQONSSPa_[lidslc€vj‡ye‹yb›…iž†g–~bŠw^~p]{qa…wc¢‰mŒyJE;84-C>4MG;RM@VPBiMÅ–d»˜p¨Š^»™jªŒl‹u_¡…hÁœ}w]VD6…fPª‚Z¼”c¬e‰uUͦh®•kž‰Y…„K‚ŠWˆ„^œŽm”†a˜~TªŒn¦‰r·Ÿ„®Št{jV©Šcª„`—vSˆf;mJ+b:gE*N.U+´Z:–]DhR>~iD”xJ¡„V¤…dtX8iZEk[HraMwdNn\HbTB_TDdWIbVGg[NeYNWMFSGBaUInbTsgVsbRzfPkT“d«•t†u\YO?IA3J@4I?2A9.3-%/)$2+&/)%&"5/)V7ÄZ›o0z{$99 2*"?6+OC7]N?p]JƒlWz_ž…gªŒlªl©Œi£‡e™`ŽtVƒlN€gLw`EiT<`K6ZH5UF4NA3X>3T?6LD;KD4EB8HE;IE:PKAs_J³‹`¤ˆjmU1‰c#¡x4©‚K«Š]¿ša£J~c6£}=®„A¬†H‘tF—xF½“NˆpB\X(R]#hg8xl=šBml<‚d:¾†Eªo6£„]y_V?1bN5cR>ZJ8qU:oQ6^E/mQ9tL1t:ŸP5zJ7|ZF•tX†lS†nR¶Œ`k0raDeWGqcQ{hWyhXrfTufTvhSyjZwiZg]QUMFKF@OHC\SJdZPZRHG@<61/+($-+&*)%42,<:0@;0?:083*50)60):3*A91?711+&%"$"!=81©h!óx é’*Ò†fE;2'I>2RF8XI:iVDygR‰qZ—~b¤ˆi§‹k¢‡f›`“|\ŒrVƒlO|eIt`EhS>`N8XG7RD5S>/¾¹WG?XPHaVNtmkb\RH@OF<95/,-)('  #!$!    +     + +      + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +   + +       +  + &%#53.A@7VTI}xkkgZRM@VSE^[Q[XPXULhaWkdYVSMNMIJJF[WQbaV\VMe\MxjUˆu\—€b…g”~cziScYGfZK†ua‹r©œˆsm]EC:DA:C@6@<3KF8o\J£ƒd’hL?2N>,zeD ‰a›…j¡ˆX•v@†e:y`6nY8kW9l[?‰oH›wG°„Kš|BŒ|A¶“Z¹’`½’Z¥R–rA²†NÂt½’Q¥WvN7yU>§qK}^B†cE¦hCŽ_@gA’`>”\3†S3‹V3¡jA„bGZJ:}gÒ©x­u3lY?\RFtfU‚tc‡xfƒud~o^whZteUi^RUMBH@9A=8A<9LGB[SK\UMLGB652('&))&30->:2GC9HE;ID9JD9JE;JC7?:0>8.C;2B;273-5/,]QEÇŽ5êwéz"ìe ·ZF6'G?2TG9]M\L=6LJA\YLROBHE9FC8HE;IG@JF@e]Spg[YULKIFIHDPLFRMFVREcYLpcO‚nVx[–}`‰tZwgRh]KeZJ}kYwkY”…spgZFD:EB9GD8A>3QI=ygP§‹nœuT9=vHSrKWtc]~jbsaP}_Ka@FaGHoZNZMBKF>bVIzdE¡}N²W¶”^ÄŸlÜh¼—d®Œ_¦‰b¾¥·’m¾¢†¯ˆarL8Y:0aE˜pU™w]“aJŽlU …m…nUt[DcI0_AbAD/ -' |m]¼žuªyteUŠye—‡rŽ€o„whsh\]TIOG?D>9@94;62>98FB?VOJ`ZQ[VOJHD<98>;8FE>UQFZXIZUIZTHcZOg^ObYKSL?GA5C<2?:/?92C<6nawp]ƒ›im¼wD°^&fB-C<.PC6]O?l[F|fP~jR€iRŠrVx\ŽvZŽuZxZwZv[€lRv`Jk[FdUBaQ?ZK5LC?YSLlcY“…~ž‘…‚tlaSMG>ˆseȯ™ßʱ¾¢´”oº‘aÌ–Y¸^œbnbSE>:.-,&%&!!" +  +    +             + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + + + +        +  + )(&44.=<5FD;FD:TOFNJ?A>4GE>JICED?TPJXTIRNGJJDIJCNKCPLCYSFe[LrcOmSy\•~aŽ{`}mYeZJdXGj^Je\L†xe‚t`VNAPJ>YQDQJ?bXI…pW©Žp•~kD"t8ME]„\^ccŽd`žsg‰dd~XY™mb…bX[PRwobxkVkaL{mXŽ~džŒoœŠn™„h–…jêÙÀ«°›˜½¥•¢€b¤y`aJ@cMBƒkYŽygylarh]…uj…ZX‰d\lYK<1%3"1:+†s]¥‰hªx:cP8KA8_RFl^N‚rb†wf†xltkbUPHKD>ME?YOFSKDID?KFARMHYSMZTMVRLPMJPMH[WMkfWxo^wn\phXh`QfZOncToeS`WIOJCIEJ@8HA9UPH`ZR|tn›‘ˆ¡”€Ž‚pVNEŒp_а™Ã±ž£‡i®Œe»Žb¿ˆW˜tRG7)ƒjTG>:+))### !  +  +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + +          +  + ..,<;8CBLB9PF@YSIˆ‚µ¬¢¿±£¬ ’TNGybSŬ™±žŠ¢…e¯Šb­‚\¦x`‰lSN>.Œt\LA9)''!!"   +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +    01/=<9BA<@?9?=5[VP‚yrvnd>;452-GD@FD?BAGHAHG?IG;NI;]SAj]FzhOmS{jQn^JfUFiVF…iS‡hZoVSugX¬•xª‹jtbLr_KsZD€fKŽpV£_‰aI|+t5+ƒB/J;°]AØ…NÄzB´^.T=IAfSͦ†Õ¼œ¸–n¶_¶ˆU½–rtYB`L8taLD;3'$$  +  +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                +    ..,76388476163/MHBŠw…~q@:484/b[Vf^[XURHE=C>:A@9C@9FA8KF8VLp:*~D2£Q6±]<¥^=¹Y7£T@lKAeIFhY_‚¨‘‚Ÿ‹uŒp‡€sŠ„wš‘¢–‚𑵧‘Þǫдתx©‰XŽZ€k{setl_ri[qg]nc^sYX…kg¦ˆ’’q‚|eicOXkNHxTE‹mU£…b˜ySu_KQG8M@1WG6rZB„mT‹tYeVDZN@bTEqaQ{kY‚p^o]veTl[KgUEgYGk^MrbQyiV€o[‡xc‡wa~u`{o\xm\vj[wiUufSzjT†rXvX’wWŠrVŒtX”}^¢ˆf£Šj¤m¤p£Œn‰jœ…h†k™†k”~fŠy`€oYxhSqbQobPj[LvaF|`IlZJfWJ\RDTKBWME]UHg[Nk]QobSo_PvePm\H`OA„xÆÀ¹’„‘‚p_SHZL=¨•€åԴĤ|Ê lÛpϧ}kQ;W=*gR>A8/#    +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + +  )(&,-)))&'&"''#<85†ƒt“‚D?;0*&OHCpfdtjgMC?D;5F=8PB=UC?N@;QF8XL:_Q>aT?dUCrZNfTHYL>`Q@_J>Y60iD9~dQ®‡e­^—oPiL†fGšwV¹’k¤}gzUHjK'c6Xi(s7'h7,¢R@¥]DzSCuSStdtšˆ‚ª{”~fš‡s˜zš}Ÿ’~£•£—ƒ¿¯”ÛŤ˳ªŽkrZA™[ª—{”‡r’ƒp‹~jrbqfZlZSƒnk°™’‰xwaZ`WSSoRIiK<ž‚`­f–vR„f?eP7K<,UC1sY@~eKq^KPE:IB8XPFl]Qzl\ˆvdŽzcx_ŠqW€gMxbLgN‰pT‘wX–y^•~_˜€d“}a‰z`‡wcƒua‚t_…s^‰v]–}`¦ˆe«e§Šd£‰b¦‹f­‘j­“m°“q²—s®”o¥jžˆiž†hˆk–€g†v^xgUk^K_RE_QD~T9Ñm!Þo&ŒV2SF;MD0gO6hR;UOFc[Qtj[~p_‡u_…qV|gLuaHhJ–wW¦„^¦ƒ`Ÿ_›~_‘{_‹y`}f‹zeˆyb‡w`‹|_“a›ƒdŸˆe¢Šf¦Œg«i®’j¬‘lªk©i«i „b•}_”_•€d”c‡s[{hUl^NcYGƒo@Æ[ äJ æWÂs&dW/A:,;4,@:2JB:PH?VNBULASKAYL@dVFˆs\¢Œy³­£ ˜ŽqgZ^RAq`KœˆlÔ¸ŽÓ®{Æ—V̤wÍŸr‘mKmN4„hK6.'        +  +  +     +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + HF>ކx997.+*NGDLB@@3/G83L;7L=7M>5LA6L@6PF7QG8ZLFA2@7.A9+N@1[L8o[DŒ^I†F2ŸcMcK‚eKsQ¤€V¶–s™|^‘{a¢Žrž‹q¶ ƒÂ©½¥‹·¥Š¸¨Ž®¡‡¨˜ƒ®œ†¿¬•¥‘y˜‚h°Ÿ…½®“¿®”˺ Ì¼¤À²œ¼¯šÎÁ¨ÞÏ´ÍÄž±–yº“wÝÁ êάçË©ÞĤ˴˜Å¯•À­•¹§‘½©Ž·¤†¯™³¢‚§o»œx½Ÿ|¬‹fˆqVf[N}n_l^PbRC72'4,#-(!2-&<3+G>4MF=TMEbXKi`PoaNn^LeXEcR@oYEƒjP•zZtV‚kOzePuaNo`NrfRvjVylVxlVsY}_š„c¡‰f£Šf¥‹f§h¦‹g¤‹d ‰dž†_š^‘yY‰sV‰uWŒv[Šu[„pYzjUmaQk`O¢…Càh"çCæP å‚"q_3@9162*82)?7/MC:VI?QH@OE@LD=WK@o`Pq_¤š“Ÿ˜‘of\QF9lZFµœzëӪݶÔXÆšiÚ±ƒ‹qPH2R@+C8-      +  +  +  +  +  +  + +     + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + PLHnlecdb9:922254221/*('1,*91.>4/F72K<6N>5N?5PB5ZK;iWBs^G`R=D<1>8-F=1M@1OC0K7"fQ7‚aJ›iWœcU`E‚cI‘tS™|\vY‘kMŒrWŒzekYp]va~km‰yh‰{j‡|m„s›‹wŽ~g‚pV—ˆpµ¤ˆÄ®Ñ·—йšÇ´™¾°—¾±œÂ·Ÿº±˜¢{©”s´›yÓº™Ì³•»¦Š«˜€œŠo“i‹yd†{h|r\meQwkZn`Nt`J±™{Ò©w•tM:6+HD:QI>UJ<(% &$)'!92*PF9^Q@`UD^RD_TDdXGcUEYM>OD7KB5QE9_O@iXFm^Jo]H]QANF7PG9YP?`WHf]KhbMtiRƒtY”€`Ÿˆc§gªg©g¥Šdž†a˜^“|YŽwW‡qRkO€kP‚kP€kP|hSvfQnbPkaPz`»‚JÓ}/Ùb¨c2_UFKD<;7/5.*=5-H=4UJ>TI?NF>NG?NF;gUAq]G™Œ¥ž”ula^P@iZF¬•wïÝ¿âɡ’U¾”d»_w^8P55)L?.%    +  +  + + + + + + +       + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     B?:GEAccaVVS?@?$%$%&#+('+)&1,)6/*<2.A5/K>4WG8WG8RC4SE4E:.71)72)>5,D9.TC0T>)u]DhM¨^©pP“aAƒ`Fž^­“p•v`°{U•pS‚j]q\T]G=pI0oN>aMDeSFk[L£š‚¤™„ˆhV¬„k–ƒk•†n»ªˆËµ’бŽË°Â°“¹«”²¦“© Ž£›Š •ƒ•†fŽ{] Žvšˆq“€j}dŽz`€lSr_Jl_Oc\N_XK_ZK\UD`WF³žÖ®x¬M3/&,+%,(%,*#'%!))#2/(>9/PG:fYElZIgXEbWCdUFcTBZM2KH9XPA`XFaZHa\JlcOymS‰yZ™„a¦‹d®‘g°‘gªŽf¡†c“{[‹uV…pRjMtaHr_Do[Eq]Em[EiZEdUEaVHh]OgZOiYJpXG_SK^VMWPGLDZD5ZH:º¬»¯“®x]Ï™{¼¢€‘ƒgº¬Š¾­’º‚«’}¨›…ž•ƒ”Ž€‰{•ާžŒt“€c¯›}¬”y ‹nŸ‰l˜„l‹}f“€kšxi^Mf[HnfRsnX{qZ¡“tÀ s¦TB>453,0.)/.'0/'32)87.;9.E?4UM:`RAeU@hVAkZBiXAbS>UG5KD2]yMjŠgVivSdqRKCB>2KF9]UDiaKidNe`Jc]KgaKrhRsV}\¡‰a¬e°‘f®Že£ˆa“|Z‡sSlOr`IeT>]N9YJ8YJ6VG6TE5OB5OE8MC;PIAQJCVMHVQIZTK_VN^SGNG.O>/ž’y~q_º…iÊš~¯”wŽw\©›~¯¢©—‚¡‹vÅ£z¦u…q€{n–Ž}µ°š•{}n^Dz˜Ô½¡À«‘³ž€«”x«•u¶¥¸¥‡ˆuO~kL‡xXŽ‚cšj±¤¼¥€}]YSCHD9><386-86.:9/;:088-97.E?2KB5UG4cR=dS>`Q4)>4-C92LE:RI@QHCTLC\SIeYL_UGOE8QE6YI9OB6D;1A:3IC;ZPFg[N™’Œ®£—¨”zkZFhYF›‹yæÕ¹åΩ¦†W»“jLJ>ÆWoQpT9ZI4B7*&! + +      + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + $%#_XU664$%$  AAB\[ZHGC(%")&$0,((" !)#7-#C6*M>1YG6dO;q[CkN{^F|WC­€[Ö¤nÏ›c²‘k¹™yIGzHGƒgW‡p\wkPVN,•W+Ÿk?”qUmN?jT>—†rwlZ´‰l¼”z¡s€dV}ld„yoŒzm‰vd¡‡h™‡hrw^{ve¡’zµ©’ –ƒzm\²¡ŠÈ³™¨•}”f‘}`’]š‹fœˆehI|fGƒrO‘ƒ`¢•rȸ’Ò¾”›‘sqm[\XJLJ?CA6<;2;:0:9077.11(0.&4/(<3)OA3XJ7ZM9SF6F?0=C6Mf]QlnB\z8A…vggo_GƒrT’€`•„c‡z\slSicMebMmgQwpV…xZ’€^†`£ˆ`¡†]›[vTzgKdW@OE5@9*71$1)#-% ,%.& .& 2(#2)$70(D9/TF9SG;OF=VLC_TIbXKXMBZL=[M:L@4F<2=5,?91H@;VPHzulype[N?cRAwcJ£sÝäÛÄ¥†pRŽuXϧ|¹Ž_~_F‚b@]G3D8)-&   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + +  ! !MIG111''&A@AIHGDA@<;:''&++)HGA\YSCB<*&"'"4,$70$:/%A6+H;/K?1gW?‘{\xQ1BC1_ŠDT{ZA]n?Qrd]Pj_JƒuY•…d˜‡e€`ƒwZ{rUunTslUxqWƒx\aš†c›†`™]zV‚nOp`F[O:G?/5/&)&$"%% *"/( 91%K@2TG8PD9RH=ZOCcVIaREaQB\N=NC6C:1@6-:2)?81JA;e\R“…v“}gl\FƒkN¯‹eØ·“β””y_‚iM̬‹²Q–nIqV1(B4(WG6q^EfI7kO=kT»”jÑ«{“wTu_T"#,iI=iN:D71I95O@4jVJž„{¢t_uV>|d˜Šrº”t¡{d‚jxeT{h[ “„¶¡Š‡aTwfV„v_ƒ~e†}gŠ~f­ …®¥ŠŽƒk€s`xn\ofUbVV^OTaUGo^H~jMn>‡tC–wc|lW”„hå³…í§må³€­§Š™–|}hgeTSQDED9>=254,,,%(&"(%"+'#81'H=0QF6QF7J@2D>2LK6PR@QRG[UHe\IpgQvZ‹bˆ}_u[yqXzqW|sYwZy]„{a‚kšuŠn¥‡[˜zRydJeW@PG5>8,-)"# "$)#1(!=2'M?0PD4PD6YM?bSEeWGhYH`Q@OD7G>1C9.=4+:3*?9/f]Q­—¢ƒ‡oT¥zGº†QÆšmÇ x±•s‘vRÔ¬ƒ·‡WŸuIN?.=4'=2'3+!)" + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    !"XYWšš˜OOO9:8552*(&$#$"(%&#/)!=."Y=(oI.fE.O9+[8-x3)•D7¾rYÑŽhÅ’k¤vVœv[Z/(5%_F4qQ7]H6R<2TC3pZG‰mZŒ`H’pN¬l–€e¼Šm¬~h¨–zŒu]t]KŽ}i˜ˆpcKAU>5€kLsUsk[tk[²œzÁ­„©”o~bphXh`Tm`UnZŒt`‹ud’}b~iLpS?‚^Ts[I†oWÝ‹eê}Pß¡o¨£‡§£ˆš–|„}iifVTREDC8:8000(('#(&".*%<6,NE7\P>]Q>VK:LC5G@5GA6QJ<[RBf]ItjRuYƒw\v[zqWyqX{t[ztYyrYxq^yp~wŽ–‹£¦™”Ù“SæqBÃR:dN;H@283(,' $!!$*$.&5+"?4(L?0QD3YJ;bTBi[In^MbSDRG9I?5G=2A8-<4+>4+VKAª“{¿–k©€S¶ƒH±‚OÈ¡{Ú´ŠÅžv¨{GÒ dÐj¸ZOA190&80&4+#,%"  + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 +   #$%def•–—abb&&$" %""("+$0&H1#b>(qE)i?'Q3&c2(o,"‰5+·G9ÀkT‡N<¦_G¨oPkL6sS4wT4lN1_F/U?+[D0|fHu\uXEhO8‰pQeF6vJ9]KzdNƒfJhE/aP;WNBSG463+/+$.+%93+JA7]SBhZJhYG\O?OF9H?3F?3KD5UL;aVDkaKvjS{nVzpVv[‡}_Šc†}a}w\un[rjo|uw•˜©„àGçZ6ËG4YG6D‡a=…b7‹j9hW?^Q?`TCcVBf]ElkMiJ­…S¸˜c²‚V²pI}hQˆwY¤‰c®j¥„e…p`|_M‹fL£€e­„e˜XE–L3¹€Z¥†eiaLjeU|zfŒˆpŽ‹t†ƒmtp]b[LLH;<9/5/)6/(B:/TH;fXEn]JhYEZN1&F:.RE4ZM;bRBk[Hm_LiZH_SAZL:TG7H=2H;0eUB¦‹ošzZ…iK}cIŒoO¹—qåÚ۶‹¢ˆg¡‰l²‘paL:<3(60&6.%5-$0)"(#    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              +  %&#'(&$%" +   + + + 897441%$"(-%&#'"(!'!'!("/%3&4( 5)F(T/#sM6€;'†+{D/[B(gM2cM7Q@0G8*Q?,iQ5…d<‘l@•tH”rI”rJž|R±ˆYÈ™eÕ¡kÅŽP½}3¬xA©V§‡_µ™t¨•q|{Q¯’`Ó®~äǛ٦{Ç}N¯‹e¶šqŸp³m y\ŒfH“oL£X±‹b°‹dž{TœwSÊ©ªn_T?SM?b^MqlZ}yeƒi|wapiT\UEKB5@7.;5*D:0PF6\N>^P?ZL;SF7K@2KA2IA0ND5RH8VK:[P>aXCg_HtjQ‡y\“„e–ˆi„dv\riRibNibJh^IbYEdWB[Q@UK;LB5A8.60(-( &"""!!"$%)#0(!6,"7-%<2&C7*OA2_P?n^Vtd\{hYp`Ii[DdVA[N2%90)5,%5+#4,$/)!)#   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + #$"'(%)*'$%# +    +,+&'&9'Q4#4)!'% $"# !#%, 2"2": ?N1&jD.r3%Š=+c4$8"uUˆqQt_Ir_K}eS’vZ›zTšzQ–{V©Še½œrÔ²‰Õ²ˆß¹åº‹Ã“f­k/³yGÇŸy¾¦…Ä®¼©†“‹c Šc±—tϹ•×µ‘Ì•n¬Œn©•|¿«Œ±•z§Šr¡‡k ˆg£‹j¦•v¨—zžŒoˆh±–r–{[XK:E>5KF:XSFgaPohWoiWkbP\VFLC9B90<4*=3*B8,E;0J?1G=0F;.G<.I>/I?1LC4NF4RH8VM1A8,8-$.&,#,&0) ,&%   + +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + $%#()%'(%##!   + !=)‚K+^<(/+$&%!" !8K[Y\, u=*~J3}A+€<'dO_J¤nI~bŽf†w]}nSrcI`SARH;FA9SJ=‹oS€^c[Kc^Ni`QkdUlgXfcTfbSjdQl^Fp[XSDYTCRL>GB6=6-51'2,%4-%5.%8/&:2(?6*A9+F<0J@2LC2OE6RI8TH9XM=[R@fZFsfM{lR|nTviQkbK`WEXQ>UM=TL-QA0`N5iV‘b]“Zc²jNÍX<»k>Õ}#ˆa<^N—~a¬Žop[CkYB“~dÚ·‰à¹†¢…enZDB4+2*"+$& & '!& " + +   + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           $$!''$%&" !  +  $X8%_>)81(**&&%!"F]vk1Š.y%g7&;&‘E+ƒ5 g&<*?-=+;& ;(?-B5"A9):5*<7.<6-=8-@5+?6)C:-K?2Z@/]A.ZI8gZCqaAmY;`O7QF3?9.10+53.TF:aSBNH=SK>OH/6.'.+#)'#.-&94*C<1HA4B=2<7/5/(,)#&$($)%.( 3,$:3(@8+E;/J@2ND4PE7TI7UJ:WK;XM;_R@e[Dj]Hk^HcZDZQ?TL;NF8JD5IA3KA4LB4LB4MA3K>.H;,?5';0$6,"6+ 4+6+"4+"0' /$+$+#.&4,#<5)I;/XG3gR8pH£i\¬WVÉz[Ó^D¹X<¢k@}dHmYBfS=dT>„t\©“v¾|zcIlW@™då¾”í¿ˆî¿Œ±‹cVF27,%+$$   + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           !""# !"  +  + '"8.&40*..)('$!*A#S1$]8%‡!„c&n%B/šN3`"-I4Z; L+E*F2K;'K?-G=0B<0;7.0,%&!0'<271$/(")# 2-%I@1XH4NE4KD8HA5@8,6.#@5&M?,UE0WH1^M1`K/cN.[J.J?+4/&/*";3#N?#RA!SD*K>,/*#'$" "%#/*"4.'4.'.)$($ "  "%!($1*"70&>5)D:.I?1PD5QF6TH8SH8UJ9UI9UJ;\P=^R>_R?\O6*?4)=4'=2&:0$8.#/[K6mYPo_he]‰kO|XBhOo\DwbGn[Cp]D©’u®—{“x_gUAhV>ˆpXẉ߲oº]’oH`K2?4%-&%  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + +  &&#/.*00+((%$"'!&*"5* 4(:&d$‰W=0R9 !$ 0 7 6 +? H&?)9-"6-#1)+'/+%<7(?8+50(*% 1("A9-TN@_ZM\XK`WIcV?YK4SD(ZE"^H)_N3\M3\K/bJ&hJ!YC"@5#*% '#:0 G9>1*% +&0,#($ ! %",'!2,#92'A7,F;/J?1NB4PD5QE6QF6ND6LD5MC5OD5TH8WH7SF5I?1:4)50&0*%.)#-(".)!+&+&*$,$2)6-=0"F7'G9'H9&I9'I8'K;(P>*P@+RB-UD/TD/RA/UD0aM9nZDybG|eIr]EmXAjW@nZBzcG|eHt^E™‚f­”xƒheR?fS=t_KÁ¡rÍ¢c—wK€`?aK4A5'-&$ + +   + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +   + + !" +,(-.*))&!'$"!$?'O4"NJ9 " "-<HA 3*.!/!#!'-#-&8/"J8WB#XJ5^UDYQB_UDaVEWN@KA5K?2OC5SI:QG8MD6E=/>4'0,!#"%!*%%  !&",' 2-$60%<4)@6+C9-F=0F<0F<0D;-B:.>6+<6+>7+A8+G<.G<.B7+3+#*%$! #*!3(;.!>1"D5&H7%P=(VB+^H/eN2gP4jQ5iR5fQ5eO6dP9kV=t_CiI„lM~fKv`Fs]Du^Fx`GybH­šƒÏ¹¢ž„kfU>bP=~kU¹§´˜r˜zLw^>^K2B6'0("&! +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +    $%"()&&'$  )  ;K +< % ) ++ . )#!+"5)!G6)WC*\H/]J7XH6XG6TD5OA3K?1G;/H>2KA5QE9OE9JA6@9051)+'#"  #" "%!*%.( 2+$5.&5.&6/&70'70)71':3)4.&,(!*& +&!2*"9/%<3$6.#)# &/&6+ ?1"J9%Q?+YE.aJ1jQ4oU6rX9tZ;tZ;pW:oWœ~]¶g±ˆT—rDhU9ZI3A9(@5*/)  +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            +    "#! !  +    +  *? +4 1 +2+  & /&?1&R@1aM:mXArZBnW@iR<`K8WE5L=1D8,B8-B:/D;2E<2B<2=7,4/)/*%($!"  %#'#&!!!#&!&"'$($ '##!!!# %!&!+% 3+#81'1+%-) /)#,&!&"$ &"-%4,!;0#;1"0(!  + +  ",#8-F9'Q@+WD.[F0_J2fO5iR7mU:nV:oW;oX=pZ>t]BycG}fI~eI|eH{eI|dG…oP’|ajQ{`ŠrUÀ˜o·ƒZ«|G|^7RC1O@.H:*G<*80%" +   + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + +      + +   + + + + +   %/6 2 ) $%- 3%9*8)1#* (1&<+G5'P>-^H4jR=sZAw\CrX@hQ;\G6M=/A5)9.'6-&6-&7/)81)93*62+60*2.'1-(/,&-*&0+'2+$2,%/)$.' -&!0*"3-%6/&70(70(61(50'1-%+'"&##!!$<0"N=+=2%$ (!3+"6.%5/%1+#-( *#&+$1)0($ #,$8-!H9*RA-VE0WE1WF1[I2^L5aN7eQ9fSmY@r\Cu_ExbFybG{eIƒmQ¢x£s”~ctT°‡\¨…]u[YJ6A7)@6(F:*90$0)%! +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +        + +   + +4 6";&:&6&8)9)6)8+ :-!5'0%5'B1!M9%R=*XB/`J4iP9nU=nT.@3&7,"/& *#*$*%*% /)#1+#50'92*73,:6-<5/<6-?8/G;0E:,?5*A6+C8-H=1QD6SE4PD6MA2F=0=5+2,%1,&B:1F=37/($!,(!?91F?63/("6+7/!*&40%E>0I@2G>2B:.2,# $ ## )#-&90&C8*L?/QC1QB2TE2WH5YI6\J8`O;cQ+O9&Y?+P8#L4"K4"K6%P=-N;-C2'=/#=0!?.!C3#J6&P<*V@,^F3dL6rV=dIx_FVC2G7+A3(4*"( '!'#7.(C7-F9->7)J:*[H1_N7]O>]Q@WMPD5;3(2,$2,&=6-B9.5/&*& 5/'?6,4-& 0)!73+OJ=_XFYRDUM>WM;PF57.%! !1($=4+;3*B7+F=2C;17/'4,#<1%?3&4,#2-"?5(L@0TH6YJ8]N9^O;YL7XJ8[M9^O;`P
hW@n[BvbF~hL›d§‡f«ˆe„lPr^E|gP‚qYh[HI=1:0%3,"2) /(+&' ! +  + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + +   + + +   +  +;9-HB-("   + 1%C4+G6(N9'[C1lR:iK3\@(dE,gI2jQ|aHˆlR€hMs[FkVB\J9L?4@8-E9.SG7fWCt`IhVAYJ7WD2gQ8x]?p\@mZDfWAm\HmYBcR>iXBo[DucMudNoaHnbKmX˜…lš‰p†yde[LG>4A9.<3'1+%E;0YO>dYHeYE^N=VF5OC6UJ?[MALB8=3*@4+K=3fXFvgOŒz]Œ}]sfQ_S>eT?rY=bH1I<.I@4G<290*% )%>70RG=TK:RH8]PCjS‹w]oZcVEQB7^QBdVDVH8QC5ZM?t`K„lK‰qPŒsSŠrS|gKq`HrbKtdMygMscLueJ~lQ„nQ‡pT­‘n¯l ‚^¢ˆcŸŠj–†j…u^sbONC3;3%6/#0( -&,%+%%  + + + +  +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           +       +       + + +     //([WATL474)<70RH:^O=jWEvgV†r^Œxc‚nYiUAcL:u^J‹t_‘xh}jYl[LsdP†nU‡rYŒy`˜ƒo¤|¡Ž|¬ŸŽ± ‹©”z§“z¹§ŽÃ²Å°›À¥Š½¡¿¦‡Ã­“Ĭ•·¡Œ¤Ž{¯›…®šÌ±–Á¡¬Œg¶•n®k¢…axZŸ†i´˜yÂ¥Á§Œ¼®–»«”¯‚¨–}´ ‚­•z®•y»¡Å¬ŠÒ·•×ĨÚ̴ʾª«—‡u_‚ue•ˆt›‹u¥‘t¾qÅžl·’h¨Žo‡p“~i’}gxXš{U¢„d¹˜tË£rÖ¯yص…½x|\§}[¯rM¯nB·‚Ušsг‹Ñ³‹·›wºœxÀ¥‚±˜y´šwĦ¦ƒ¸¢‚¹¡‡É³œÌ·ŸÅ¯“̯ʰ’»ž­p¬Žn¹}¹™sÉ£{Ó°‡Ð¯‹¹œ{´—p¿ {§‚Á¨…¼£‚µ›u¼¡zΩ{Û±€Ý¶‰Ó²ˆ­–s–‚f²ž†¹¨”“„nn`JNB2>5(7/$0*!-'-'+%+$$  + + + + + + + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +    +  + + +   + + +  +   " <3!D:*QI>maN‚kRpQ¨ŒmÀ¨ˆØ¾ŸÒ¸›®rsY™z_£‡l³›…½¤Š¥‘y•€h©‰d¯Œd¬Šh¨u¦’…¨™‹¥—‡¨–‡´¥½¨“Á®—;ª¼­—¯›‡²š·Ÿƒ¼¡…Ç©ŠÈ¬³›€š„o®›ƒÈ±˜Å¥†½•eÁ•aͨvΪ}È£s¿›pȧ‚Ó²‰Ë®Š½«‘˽¢ÔÁ¤Ç³”»¢„¾¡ƒ½¦ˆ¹§‹º©¹¨Ç´–Ú˯áжÝ˱̴‘¾œsº¢€Á­Ž¾©ŠÂ¥{Ë£kÇži»šq²›{µ}®“u²“o½—lØk½˜mÁoʧ{Ñ´‹Ûĩν¦­•z±ŠgÂiÍšsըѮ€äÊ—áÈ“³—t¿ŸwϯˆÅ¨´•pŨ„Ú¼•¾ |˜„l¡Žx²ž…Á¨‹Ë­‹Ç§‚¾žx¾–jÀ—h¾šn¸˜lÀ™kͤuȦ{°“p®Œa¹“c»šo»ŸÀ¤À |»Ÿx»˜jÆžiÒ§tͬ³šzŒt¿®˜Ã³l]O=H=-A7';2&4,"/(-(+&*#' " + +   + + +  + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + + +    +  +2#<,G0W5X<&gO<†iOqV]DaF5\@.dE,cD.qWDy`JmQ:iG,yP(~[<”v\†mXkPpYCydKl[F]P@_SAhXDbL4fK/iM-€Y0‰d9lJsU…oT…pU–{Y¤‰c–|ZjIeEnY@bO:kX@„mNtRŽwX“{Y™|Vœ€Yž€X}T †`›†d}kPraH~pX‹{dugR[N:K@.E;+>5&7/"1+!.(*%)$)"(     + + +  + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           + + $(!(#+% 2'!5)"3*$:0'>3'<0&3)!3&A+E-B*C.J1 K3Q5 jC#wO.mQ;cI6dD)mF#tI vM&tO*wP)S#U#qO-eI/bH/fI.kM.kM/pP2Y5Œd7Žh?`=rW8jL-nN+sS/qU4gO6M<,B4%@4%F9-K?3SG;QD7XE1aG*[>"R7 O;)OA3D9+9/$)"*$!1.+30/31-;51F;4QE5F:(?7*L?4M?0QA,XF2TB.Q?,TA*S?'P<#U3%C5$M:$VA&`D(cI*]F*UB-QB0UI7^M=bS?eT?YJ5N?/M?/MA/]J2xZ5|_9oZmZ?s`A|gGzfFyeFygJo]CfW-B9):2$4-!1)-&*%($*$%    + + +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        + + # .)#/,)1/-52051.72-8/)90)5.%/(!*!."1%5%?+F0J3 R9&ZD0hO:fR?]J:YC1ZB-\B)`F,gH,kK,qN*vQ%pN(eI.]D,XA*W?*XA)ZC*`F+cH-dG,_D*_D+_C)_D)aF+ZA(N9#G5!@/<-=0#@4)A8->6-81)/(!%!#*% $ *'%2.)2.*&%# &!-("2*"7+!4(-$& + + + + ' /'7/">6(B8+D9+C9*F<+F;+E7)D8'@5'A1$<3%D5(L?/N@1OC2NA1G;-E:,F;-I<.SD0ZI2XK5YL7\O8bS;iY>m\?n]@j[>hY>fW+A8)92$4-!/) +%)$'"("#   + + +   + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + +   "***641<:7>=;A?)ZB*\C+^D+]E+]C,ZB+V@)U?(S=(R;'R;&U>(X@(ZA'[B*aG-lQ7pU;gM3[C+S<&N8$H4"A/:*5'0%+ &$!  % )$#'"!# #!!#!"$##*('40->82;61-+)##$ "" % +&3,!:1%B8(I>,NC/TF0UH3VH1OB/I>-D9)<2%7.!6- 9-#@4%C7(G;,H;,H<-F:,H>-J?.MC1QF3VJ5[N7_R:bT;eV=iZ=l[?iZ=iY=gX=GFDIHFHFCFB>B<6>5.7-&0&* %  !%(1%6*=.!A0#@1$A1#B2$D3$F5$H5&K7&M8&P:'P;(P<(R=(P;'O:&N9&M8&N9&Q;&T<'X?'Y?(\D,jP7x_FsZAaH0T='N8$J5!E2 >-8)3&.",!+!) '&%&& '"'$!)&$+(',)(.,+/,,30/742:73732/,-(')""%!#+&3,!=4'F<*MB.UG3[M6aP9aQ8`P9ZK5RD2H=,>4'2+!0(.%0)6.!<2&A7(C:*G<,G=-J?.LB0OE1SI3YM6]P9`S:dU;gX=iZ=j[>jZ>iZ=gW;eU;aS9^P7XL5TH1MB.E<+?7&70#1+ +&&"$#    + + + + +  + + + + + +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              &'(012:;;BCCHIFJIFGEBC?:>82:1)5)".$(!  #(+!0$3'6);+ :+ =-!>."?/!A1!B1"C2"G5%K:(P=-O<*I8%F4#I6"J6$L:&R=)Q=)T>*S<'R='R<'T=(P:&M8#I5"E2 A/=,8)4(2%0$-$-$,$,$.&0'2(#3*%5.(70+82-:50:63<85=:7<97<97;87865322,,,))*""$   +    !("0):2#C9)LA-VH3^O6eS:jXk[>k[?j[?hX=dU:aS9]O7XK4RF1LA-E;*?6'70#0**&'""   + + + +   +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + +  "'()012899>??BBAAA@>=:8423-(1' .#+%  $&* .#1%2&2'4(5'8*7*8,9,;,>0!B4$D3&C3#>/ ?0!C3#G8&M<)O=+M<)I7%G3#E3 C1 C1 A0@.=-:*9*5(3'0%0$0&1%2&3'4* 6-#:0'=3*@7.D:2H>6KA9ME=OG@PHCMHBLFBIDAEA>B>;<87533.-,('("!"  +  +    + +  "*$3, <3%G<*QD/YL3bP7gU:jX6'70#0* )$$   + + +     + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       + +   #$&*+,./034455566532/-)')#())%""#'* +-"-#.#0$0%0%1&3&4(5)6+6*9+9+:,=."@3$D6'F6'?1#<.:+8)7)7(6(5'2%2%0$0$."/$1%2'3'5)7+!;/#?1'B7*G;.L?2QE8TH<[N@^RFaUIbWLbWMaWN_VNYRJUMFMGBFA=?:7831/,*'&%   +   +   + + !)#3, <3%E;)PD/XJ2^N6aR7gV;gWjZ=gX=cU:^Q8ZM5TH2LB.E<*>6'8/$0* )$$ + + +  + +   + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +                             + +  ""#%#$&&'''('&&%#!  $'&# "&(()(() +!,",#-$.$0&1'2'2(2(3)6*7+ 6+ 5)3'0$.$.",!,!+!* + )))* * -#2&1'5)9- >0#C4(G9*M?1RD5YJ:^P?cUEjZKn^PpbSrdUseWreWnaTh]QcYMYPGQHAH@:?8250,-(&$!  + +  +   + + + + &!0*:1#B7'K?,QC/VH0[L4^O7`R9dTgV>dU>_O-?4'5.$+&*$*%/)!4/%>7*HA/NE4QH5SJ6RH5SH4UJ5YM7]Q8aS9dW;hY>j[>l\?m]?n^@n]@j[>hY/SE5YK9`Q@fWFl\KrbQxgV}lZ€o\o]}m[yiYrcTk]ObUHXLAND;C;2:2,0*&'#    +    + + #,'5- :1$B8&H=*K@*OC-RD0WH4[M8aRm]?n]@p`An^@l\?j[>gX2%C6)H;,N@2UF7[M/OH4VM8ZO9YO9WM7WL6WK5ZM7]P8aT:eWk[>m^@o_Ao`Ao_Bo_Al]?jZ>eU<_P8XK5PD1H>,@7(6/#/)'"! + +  +  + + + +                                                                                                                                                                          + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + +   +   +                            +    + + +   '+!-$+& *%"(%"(#!'$ &!& (&$$%&%&( -#/&3(5+6,6,5+3)/',#' $!!#),".%4(9-!=1$C7)G;.M@2SF8WJ<^QAbUFgZKm^OrcRtdTueTqbSm_Qi[LcUH[OCVJ>NB8C:0:1)3+%*% " +  + +     + + % -&0)7- :1">4#@4$@4%=2$>4%?5*@9-HA2OF9TK>RIl\?n^@qaBraBraBraBq`Am]@hX=aS:ZM6QF1H=,?6'6/#-'&" + +  + +   + + + + +    +                                                                                                                                                                     + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +  +  + +                             + + + + + + +  %)"*%"+(#*($)&#($!%!% %"#"!$#%&+#.&4*9- =0#?2#>2#:. 5+/')$$ "&) ,#0&6- ;0%?5(C7+G<0LB4RG9TJ>XMAZPF]RG]SH^UJ]SI[PGXODUKAPF0OG5UM9YO9XN8WL8UK5UK5ZN6]P8`S9eWl]@p_AraBvdEwfEwdEtbCp_AjZ>cT:[N6QE1G=,?6(5."+&%!   + +   + +   +   +                                                                                                                                                                   + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + +    +                                      #$!&$!&$"%$!%"!" "  "&)"-&2)9-!?3"E7$G8&E5%@3#8. 0'(!" $( )".&2)5,"91&>4)A8-E;1I@5J@7LC:NE=OG?NG?MF>KC8@94=6181,1-'+'#'#!  +  + +       + %-%3)7.;1!:1!:0!7. 4)/'+#&!!!"" ##"!"""!$#$#(')(!/-#52&<8+D?.KE3QI6UL7SK5TJ5SI4TI4WL6[O7`R9dV;iZ>n^@raBudDxfF{hG{hGyfFtbDl\?eV;[M6RF2G=,=4'4-"*%"   + +    + + + +                                                                                                                                                                     + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + + +  +  + +                                     + +  $',$0)8, ?3#E7%K;'N=(L:&E5$;/ 1'(!      #' )",%/) 3+"6-&91(;3+?70@81@:3B<5@;6?94>93;6272/40,0,(+&&&#"#  + +  + +         + +  "*#2)8. ;0!=2!:/ 6,1**#%  ##&%)(!,+#1/%63(<7*B<.HB1MF3PG5OG4PG3PF3RH3VJ4ZN6`S9eV;k\?o_AsbCxfF|jH€lI€lI|jHvdDn^AfW;[N7QF2G=+;2%1+ )$    + +         +                                                                                                                                                                 + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + +  "!!  +  + +                                      +    %(".'4+9/!A4$I9'N<(P=(M;'F6$9-/%&        #&(!*#-& .("2+%2,&4/(50*61*62,50,3/+1-*0,(+'&'%#%"    +            + +  & ,%2*7. 8/ 7.4+.&*#"!!$$'&!+*#,+#/.$52'85)>9,C=/G@/JB0KC1KC0LB0PE2SH3YM6_Q9fWo_BudDzgFkIƒoL„oK€lJxeFp_AfV-KA/ND0RG3YL6`R9fW5'2+ *$  + +   + +        + + +   + +  +                                                                                                                                                              + + + + + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + +   +   +                                          +  +  + +      + +   "% )#,%0(2)5+6,8,6+2(+#$ + +  + +  + + + + + + +      + +  + + + +             + +     "!"#$$ && ('!)'!+( +(!,)".+"0-#5/$60$;4&A9)E<,J?.PE1WK5^Q8eW_P8SG2G=,;2%/* &!  + +   + +         + + +  +                                                                                                                                                              + + + + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + +  +  + +                                                      + +   "% '!)#+%,%,%,$+#)!&  + +  + +    + + + + + + +    + + + +  + + + +             + +   ! ""#"$#%$%#'$&$&#*&,)/+ 3.#82%<5(B:+I?.OC/VI4]P7dU;iZ>m]AraCucDxfFyfFyfFtbCl\@eV;YL6OB/B8)5/#+&!   + +         + + +   +                                                                                                                                                             + + + + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    + + +   +  + +                                                       + + +  !"$%#!!"#$$$$"  + +  + +      + + + + + + + + +    + +  + + + +              + + +   + + + +   ! !!!!!" $!&#+'0+!4/#:3%A8(H?,OD1UG3[M7bS:gX=k\?m]@p`Bq`Br`Bp_Bm\@gW<^Q8TG3I>-=4'2,!&!  + +   + +          +   +                                                                                                                                                             + + + + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + +   + +  + +                                                        + + +  %+!.".#,!'#   + +         + + + + + + +   + +  + + +              + + + +        + + + +  + + +   $!)%.(5.":2$@9'G=+LA.RF1XK5^P8bS:fWiZ>jZ>iY>hY=dV;aR9XK5NB0D9*7/$+&" + +  + + +          + + + +                                                                                                                                                            + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + + + + +   + +                                                         +  +  %-"3&5'3&.#(! + +  + +            + + +    + +  + + +               + + + + + +  + + + +  "'".(3, 91$=4'D:*J?.OD1TH3YL5\O7`R9aS:aS:bT:bS:`Q9\O6XJ5QE1G=,<3&1* &"   + +            + +                                                                                                                                                            + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + +   + + + +                                                           + + +  (/#4'4&0$* "  + + +               + + + + + + +   + +  + + + +              + + + + + + + + + + + + + + + +  + + + + +  !&",&1+!70#=5&A8(F=,KA/OD0SG2VJ4XK5XK5YL6XK4XJ5VI4TG3PD1H>-@7(6.#+%" + +   + +                                                                                                                                                                         + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      + + + + +                                                               + + +  $), * &   + + +                 + + + + + + + +   + +  + + + +               + + + + + + + + + + +    + + + + + +   % *%1*5."91$>6&B9*F<+I?.MB/NC0OD1PD1PD0OD0OC0MB/J?.F;,@7)80$0) &   + +  + + +                                                                                                                                                                        + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          + +   !  + +  + + +                   + + + + +   + +  + + +                 + + + + + + + + +      + + +  + +         ")#.'2* 6."91$<4'@7(B9*E;+F<,G>,G=,G=,E<+D:*C:*A7)>5'80$1+ (#  + +   + +                                                                                                                                                                        + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          +  + + +     + + + + + + + + + +  + + +                     + + + + + +      + +  + + +                   + + + +          + + + + + + + + +  !'!+%.(1+!4-"7/$91%<4&=5'>6(>6(>5'=5';3&;2&;2%90$6."0* )#"   + +                                                                                                                                                                        + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            + + + + + + +  + + + + + +                      + + +        + +  + + +                                 + + + +   + + + + + + + + + + + +  + +  # &")$,&/*1+ 3-!5."5.#6/#6/#5-#3-"3,!2+!1+!0) -&("" + +   + +                                                                                                                                                                         + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + + +  + + + + + + + + +                        +      + +  + + + +                                  + + + + + +          + + + + + + + +  #%!&")$*%,'.(-(-(-(,',&*%*%)$'"% !    + + +                                                                                                                                                                        + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + +       + +  + + + +                                    + + + + + + + + + + + + + + + + + +  + +  ""$ %!&"&"&"&"%!% $ #"   + + +                                                                                                                                                                         + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       +           + +  + + +                                        + + + + + + + + + + + +    + "%!    + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +    + +  + + + +                                                    + "!  + +   + +   + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   + + + + + + + +   + +  + + +                                                     + +   +      + + +   +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + + +    + +  + + + +                                                     +   +    + + + +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + +                                                + + + + + +      + +  + + + +                                                      +         + +  + +      + + + + +  +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + + + + + + +                                                + + + + + + + +  + + + +                                                       + + + + +  +       + + +  + + + + + + + +    +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + + + +  + +                                                + + + + + + + + + + + + +  + + + +                                                         + + +         + + + +  + + + + + + + +    + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + + + + + + +  + + +                                                + + + + + + + + + + + + + + + + +  + + + + +                                                                       + + + +       + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + + + + + +  + +                                                 + + + + + + + + + + + + + + + + + + + +  + + + + + +                                                                          + + + + + +          + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             + + + +     + + +  + +                                                   + + + + + + + +  + + + + + + + +                                                                             + + + + + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + +    +  + +                                                    + + + + + + + + + + + + + + + + + + + +                                                                                  + + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + + +     + +  + +                                                      + + + + + + + + + + + + + + + +                                                                                        + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + +     +  + +                                                          + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              + + + +    +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + +  + +                             + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + + + + + + + + + +  + +                           + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + +  + + +                          + + + + +  + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + + + +                           + + + + + + + + + + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + +                             + + + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                + + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + +  + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               + + + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 + + + + + + + + + + + + + + +  + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  + + + + +  + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     + + + + + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         + + + + + +                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  \ No newline at end of file diff --git a/tests/Rendering/integration/gaussian_splat_scene/main.cpp b/tests/Rendering/integration/gaussian_splat_scene/main.cpp new file mode 100644 index 00000000..4a1b220f --- /dev/null +++ b/tests/Rendering/integration/gaussian_splat_scene/main.cpp @@ -0,0 +1,485 @@ +#define NOMINMAX +#include + +#include + +#include "../RenderingIntegrationMain.h" +#include "../RenderingIntegrationImageAssert.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../../RHI/integration/fixtures/RHIIntegrationFixture.h" + +#include +#include +#include +#include +#include +#include + +using namespace XCEngine::Components; +using namespace XCEngine::Math; +using namespace XCEngine::Rendering; +using namespace XCEngine::Resources; +using namespace XCEngine::RHI; +using namespace XCEngine::RHI::Integration; +using namespace RenderingIntegrationTestUtils; + +namespace { + +constexpr const char* kD3D12Screenshot = "gaussian_splat_scene_d3d12.ppm"; +constexpr const char* kOpenGLScreenshot = "gaussian_splat_scene_opengl.ppm"; +constexpr const char* kVulkanScreenshot = "gaussian_splat_scene_vulkan.ppm"; +constexpr uint32_t kFrameWidth = 1280; +constexpr uint32_t kFrameHeight = 720; +constexpr uint32_t kBaselineSubsetSplatCount = 65536u; + +std::filesystem::path GetRoomPlyPath() { + return std::filesystem::path(XCENGINE_TEST_ROOM_PLY_PATH); +} + +std::filesystem::path CreateRuntimeProjectRoot() { + return GetExecutableDirectory() / + ("__xc_gaussian_splat_scene_runtime_" + std::to_string(static_cast(::GetCurrentProcessId()))); +} + +void LinkOrCopyFixture(const std::filesystem::path& sourcePath, const std::filesystem::path& destinationPath) { + std::error_code ec; + std::filesystem::create_directories(destinationPath.parent_path(), ec); + ec.clear(); + std::filesystem::create_hard_link(sourcePath, destinationPath, ec); + if (ec) { + ec.clear(); + std::filesystem::copy_file( + sourcePath, + destinationPath, + std::filesystem::copy_options::overwrite_existing, + ec); + } + + ASSERT_FALSE(ec) << ec.message(); +} + +const char* GetScreenshotFilename(RHIType backendType) { + switch (backendType) { + case RHIType::D3D12: + return kD3D12Screenshot; + case RHIType::Vulkan: + return kVulkanScreenshot; + case RHIType::OpenGL: + default: + return kOpenGLScreenshot; + } +} + +GaussianSplat* CreateGaussianSplatSubset( + const GaussianSplat& source, + uint32_t maxSplatCount, + const char* path) { + const uint32_t sourceSplatCount = source.GetSplatCount(); + const uint32_t subsetSplatCount = std::min(sourceSplatCount, maxSplatCount); + if (subsetSplatCount == 0u) { + return nullptr; + } + + const GaussianSplatPositionRecord* positions = source.GetPositionRecords(); + const GaussianSplatOtherRecord* other = source.GetOtherRecords(); + const GaussianSplatColorRecord* colors = source.GetColorRecords(); + const GaussianSplatSHRecord* sh = source.GetSHRecords(); + const GaussianSplatSection* positionsSection = source.FindSection(GaussianSplatSectionType::Positions); + const GaussianSplatSection* otherSection = source.FindSection(GaussianSplatSectionType::Other); + const GaussianSplatSection* colorSection = source.FindSection(GaussianSplatSectionType::Color); + const GaussianSplatSection* shSection = source.FindSection(GaussianSplatSectionType::SH); + if (positions == nullptr || + other == nullptr || + colors == nullptr || + positionsSection == nullptr || + otherSection == nullptr || + colorSection == nullptr) { + return nullptr; + } + + std::vector selectedIndices(subsetSplatCount, 0u); + for (uint32_t subsetIndex = 0u; subsetIndex < subsetSplatCount; ++subsetIndex) { + const uint64_t scaledIndex = + (static_cast(subsetIndex) * static_cast(sourceSplatCount)) / + static_cast(subsetSplatCount); + selectedIndices[subsetIndex] = + static_cast(std::min(scaledIndex, static_cast(sourceSplatCount - 1u))); + } + + std::vector subsetPositions(subsetSplatCount); + std::vector subsetOther(subsetSplatCount); + std::vector subsetColors(subsetSplatCount); + std::vector subsetSh(shSection != nullptr && sh != nullptr ? subsetSplatCount : 0u); + for (uint32_t subsetIndex = 0u; subsetIndex < subsetSplatCount; ++subsetIndex) { + const uint32_t sourceIndex = selectedIndices[subsetIndex]; + subsetPositions[subsetIndex] = positions[sourceIndex]; + subsetOther[subsetIndex] = other[sourceIndex]; + subsetColors[subsetIndex] = colors[sourceIndex]; + if (!subsetSh.empty()) { + subsetSh[subsetIndex] = sh[sourceIndex]; + } + } + + XCEngine::Containers::Array sections; + XCEngine::Containers::Array payload; + sections.Reserve(shSection != nullptr && sh != nullptr ? 4u : 3u); + + size_t payloadOffset = 0u; + auto appendSection = [&](const GaussianSplatSection& sourceSection, + const void* sourceData, + uint32_t elementCount, + uint32_t elementStride) { + GaussianSplatSection section = sourceSection; + section.dataOffset = payloadOffset; + section.elementCount = elementCount; + section.elementStride = elementStride; + section.dataSize = static_cast(elementCount) * elementStride; + sections.PushBack(section); + + const size_t newPayloadSize = payload.Size() + static_cast(section.dataSize); + payload.Resize(newPayloadSize); + std::memcpy(payload.Data() + payloadOffset, sourceData, static_cast(section.dataSize)); + payloadOffset = newPayloadSize; + }; + + appendSection( + *positionsSection, + subsetPositions.data(), + subsetSplatCount, + sizeof(GaussianSplatPositionRecord)); + appendSection( + *otherSection, + subsetOther.data(), + subsetSplatCount, + sizeof(GaussianSplatOtherRecord)); + appendSection( + *colorSection, + subsetColors.data(), + subsetSplatCount, + sizeof(GaussianSplatColorRecord)); + if (shSection != nullptr && sh != nullptr) { + appendSection( + *shSection, + subsetSh.data(), + subsetSplatCount, + sizeof(GaussianSplatSHRecord)); + } + + GaussianSplatMetadata metadata = source.GetMetadata(); + metadata.splatCount = subsetSplatCount; + metadata.bounds = source.GetBounds(); + metadata.chunkCount = 0u; + metadata.cameraCount = 0u; + metadata.chunkFormat = GaussianSplatSectionFormat::Unknown; + metadata.cameraFormat = GaussianSplatSectionFormat::Unknown; + + auto* gaussianSplat = new GaussianSplat(); + IResource::ConstructParams params = {}; + params.name = "GaussianSplatSceneSubset"; + params.path = path; + params.guid = ResourceGUID::Generate(params.path); + gaussianSplat->Initialize(params); + if (!gaussianSplat->CreateOwned(metadata, std::move(sections), std::move(payload))) { + delete gaussianSplat; + return nullptr; + } + + return gaussianSplat; +} + +class GaussianSplatSceneTest : public RHIIntegrationFixture { +protected: + void SetUp() override; + void TearDown() override; + void RenderFrame() override; + +private: + void PrepareRuntimeProject(); + void BuildScene(); + RHIResourceView* GetCurrentBackBufferView(); + + std::filesystem::path m_projectRoot; + std::unique_ptr m_scene; + std::unique_ptr m_sceneRenderer; + std::vector m_backBufferViews; + RHITexture* m_depthTexture = nullptr; + RHIResourceView* m_depthView = nullptr; + ResourceHandle m_gaussianSplat; + GaussianSplat* m_subsetGaussianSplat = nullptr; + Material* m_material = nullptr; +}; + +void GaussianSplatSceneTest::SetUp() { + RHIIntegrationFixture::SetUp(); + PrepareRuntimeProject(); + + m_sceneRenderer = std::make_unique(); + m_scene = std::make_unique("GaussianSplatScene"); + + BuildScene(); + + TextureDesc depthDesc = {}; + depthDesc.width = kFrameWidth; + depthDesc.height = kFrameHeight; + depthDesc.depth = 1; + depthDesc.mipLevels = 1; + depthDesc.arraySize = 1; + depthDesc.format = static_cast(Format::D24_UNorm_S8_UInt); + depthDesc.textureType = static_cast(XCEngine::RHI::TextureType::Texture2D); + depthDesc.sampleCount = 1; + depthDesc.sampleQuality = 0; + depthDesc.flags = 0; + m_depthTexture = GetDevice()->CreateTexture(depthDesc); + ASSERT_NE(m_depthTexture, nullptr); + + ResourceViewDesc depthViewDesc = {}; + depthViewDesc.format = static_cast(Format::D24_UNorm_S8_UInt); + depthViewDesc.dimension = ResourceViewDimension::Texture2D; + depthViewDesc.mipLevel = 0; + m_depthView = GetDevice()->CreateDepthStencilView(m_depthTexture, depthViewDesc); + ASSERT_NE(m_depthView, nullptr); + + m_backBufferViews.resize(2, nullptr); +} + +void GaussianSplatSceneTest::TearDown() { + m_sceneRenderer.reset(); + + if (m_depthView != nullptr) { + m_depthView->Shutdown(); + delete m_depthView; + m_depthView = nullptr; + } + + if (m_depthTexture != nullptr) { + m_depthTexture->Shutdown(); + delete m_depthTexture; + m_depthTexture = nullptr; + } + + for (RHIResourceView*& backBufferView : m_backBufferViews) { + if (backBufferView != nullptr) { + backBufferView->Shutdown(); + delete backBufferView; + backBufferView = nullptr; + } + } + m_backBufferViews.clear(); + + m_scene.reset(); + + delete m_material; + m_material = nullptr; + delete m_subsetGaussianSplat; + m_subsetGaussianSplat = nullptr; + m_gaussianSplat.Reset(); + + ResourceManager& manager = ResourceManager::Get(); + manager.UnloadAll(); + manager.SetResourceRoot(""); + manager.Shutdown(); + + if (!m_projectRoot.empty()) { + std::error_code ec; + std::filesystem::remove_all(m_projectRoot, ec); + } + + RHIIntegrationFixture::TearDown(); +} + +void GaussianSplatSceneTest::PrepareRuntimeProject() { + const std::filesystem::path roomPlyPath = GetRoomPlyPath(); + ASSERT_TRUE(std::filesystem::exists(roomPlyPath)) << roomPlyPath.string(); + + m_projectRoot = CreateRuntimeProjectRoot(); + const std::filesystem::path assetsDir = m_projectRoot / "Assets"; + const std::filesystem::path runtimeRoomPath = assetsDir / "room.ply"; + + std::error_code ec; + std::filesystem::remove_all(m_projectRoot, ec); + std::filesystem::create_directories(assetsDir, ec); + ASSERT_FALSE(ec) << ec.message(); + + LinkOrCopyFixture(roomPlyPath, runtimeRoomPath); + + ResourceManager& manager = ResourceManager::Get(); + manager.Initialize(); + manager.SetResourceRoot(m_projectRoot.string().c_str()); + + m_gaussianSplat = manager.Load("Assets/room.ply"); + ASSERT_TRUE(m_gaussianSplat.IsValid()); + ASSERT_NE(m_gaussianSplat.Get(), nullptr); + ASSERT_TRUE(m_gaussianSplat->IsValid()); + ASSERT_GT(m_gaussianSplat->GetSplatCount(), 0u); + m_subsetGaussianSplat = CreateGaussianSplatSubset( + *m_gaussianSplat.Get(), + kBaselineSubsetSplatCount, + "Tests/Rendering/GaussianSplatScene/RoomSubset.xcgsplat"); + ASSERT_NE(m_subsetGaussianSplat, nullptr); + ASSERT_TRUE(m_subsetGaussianSplat->IsValid()); + ASSERT_GT(m_subsetGaussianSplat->GetSplatCount(), 0u); +} + +void GaussianSplatSceneTest::BuildScene() { + ASSERT_NE(m_scene, nullptr); + ASSERT_NE(m_subsetGaussianSplat, nullptr); + + m_material = new Material(); + IResource::ConstructParams params = {}; + params.name = "GaussianSplatSceneMaterial"; + params.path = "Tests/Rendering/GaussianSplatScene/Room.material"; + params.guid = ResourceGUID::Generate(params.path); + m_material->Initialize(params); + m_material->SetShader(ResourceManager::Get().Load(GetBuiltinGaussianSplatShaderPath())); + m_material->SetRenderQueue(MaterialRenderQueue::Transparent); + m_material->SetFloat("_PointScale", 1.0f); + m_material->SetFloat("_OpacityScale", 1.0f); + + GameObject* cameraObject = m_scene->CreateGameObject("MainCamera"); + auto* camera = cameraObject->AddComponent(); + camera->SetPrimary(true); + camera->SetFieldOfView(45.0f); + camera->SetNearClipPlane(0.1f); + camera->SetFarClipPlane(500.0f); + camera->SetClearColor(XCEngine::Math::Color(0.02f, 0.025f, 0.035f, 1.0f)); + + const Bounds& bounds = m_subsetGaussianSplat->GetBounds(); + const Vector3 boundsMin = bounds.GetMin(); + const Vector3 boundsMax = bounds.GetMax(); + const Vector3 center( + (boundsMin.x + boundsMax.x) * 0.5f, + (boundsMin.y + boundsMax.y) * 0.5f, + (boundsMin.z + boundsMax.z) * 0.5f); + const float sizeX = std::max(boundsMax.x - boundsMin.x, 0.001f); + const float sizeY = std::max(boundsMax.y - boundsMin.y, 0.001f); + const float sizeZ = std::max(boundsMax.z - boundsMin.z, 0.001f); + const float maxExtent = std::max(sizeX, std::max(sizeY, sizeZ)); + const float uniformScale = 3.0f / maxExtent; + + GameObject* root = m_scene->CreateGameObject("GaussianSplatRoot"); + root->GetTransform()->SetLocalPosition(Vector3(0.0f, -0.35f, 3.2f)); + root->GetTransform()->SetLocalScale(Vector3(uniformScale, uniformScale, uniformScale)); + + GameObject* splatObject = m_scene->CreateGameObject("RoomGaussianSplat"); + splatObject->SetParent(root, false); + splatObject->GetTransform()->SetLocalPosition(Vector3(-center.x, -center.y, -center.z)); + + auto* splatRenderer = splatObject->AddComponent(); + splatRenderer->SetGaussianSplat(m_subsetGaussianSplat); + splatRenderer->SetMaterial(m_material); + splatRenderer->SetCastShadows(false); + splatRenderer->SetReceiveShadows(false); +} + +RHIResourceView* GaussianSplatSceneTest::GetCurrentBackBufferView() { + const int backBufferIndex = GetCurrentBackBufferIndex(); + if (backBufferIndex < 0) { + return nullptr; + } + + if (static_cast(backBufferIndex) >= m_backBufferViews.size()) { + m_backBufferViews.resize(static_cast(backBufferIndex) + 1, nullptr); + } + + if (m_backBufferViews[backBufferIndex] == nullptr) { + ResourceViewDesc viewDesc = {}; + viewDesc.format = static_cast(Format::R8G8B8A8_UNorm); + viewDesc.dimension = ResourceViewDimension::Texture2D; + viewDesc.mipLevel = 0; + m_backBufferViews[backBufferIndex] = + GetDevice()->CreateRenderTargetView(GetCurrentBackBuffer(), viewDesc); + } + + return m_backBufferViews[backBufferIndex]; +} + +void GaussianSplatSceneTest::RenderFrame() { + ASSERT_NE(m_scene, nullptr); + ASSERT_NE(m_sceneRenderer, nullptr); + + RHICommandList* commandList = GetCommandList(); + ASSERT_NE(commandList, nullptr); + + commandList->Reset(); + + RenderSurface surface(kFrameWidth, kFrameHeight); + surface.SetColorAttachment(GetCurrentBackBufferView()); + surface.SetDepthAttachment(m_depthView); + + RenderContext renderContext = {}; + renderContext.device = GetDevice(); + renderContext.commandList = commandList; + renderContext.commandQueue = GetCommandQueue(); + renderContext.backendType = GetBackendType(); + + ASSERT_TRUE(m_sceneRenderer->Render(*m_scene, nullptr, renderContext, surface)); + + commandList->Close(); + void* commandLists[] = { commandList }; + GetCommandQueue()->ExecuteCommandLists(1, commandLists); +} + +TEST_P(GaussianSplatSceneTest, RenderRoomGaussianSplatScene) { + RHICommandQueue* commandQueue = GetCommandQueue(); + RHISwapChain* swapChain = GetSwapChain(); + ASSERT_NE(commandQueue, nullptr); + ASSERT_NE(swapChain, nullptr); + + constexpr int kTargetFrameCount = 1; + const char* screenshotFilename = GetScreenshotFilename(GetBackendType()); + + for (int frameCount = 0; frameCount <= kTargetFrameCount; ++frameCount) { + if (frameCount > 0) { + commandQueue->WaitForPreviousFrame(); + } + + BeginRender(); + RenderFrame(); + + if (frameCount >= kTargetFrameCount) { + commandQueue->WaitForIdle(); + ASSERT_TRUE(TakeScreenshot(screenshotFilename)); + + const std::filesystem::path gtPath = ResolveRuntimePath("GT.ppm"); + if (!std::filesystem::exists(gtPath)) { + GTEST_SKIP() << "GT.ppm missing, screenshot captured for baseline generation: " << screenshotFilename; + } + + ASSERT_TRUE(CompareWithGoldenTemplate(screenshotFilename, "GT.ppm", 8.0f)); + break; + } + + swapChain->Present(0, 0); + } +} + +} // namespace + +INSTANTIATE_TEST_SUITE_P(D3D12, GaussianSplatSceneTest, ::testing::Values(RHIType::D3D12)); +#if defined(XCENGINE_SUPPORT_OPENGL) +INSTANTIATE_TEST_SUITE_P(OpenGL, GaussianSplatSceneTest, ::testing::Values(RHIType::OpenGL)); +#endif +#if defined(XCENGINE_SUPPORT_VULKAN) +INSTANTIATE_TEST_SUITE_P(Vulkan, GaussianSplatSceneTest, ::testing::Values(RHIType::Vulkan)); +#endif + +GTEST_API_ int main(int argc, char** argv) { + return RunRenderingIntegrationTestMain(argc, argv); +} diff --git a/tests/Rendering/unit/test_builtin_forward_pipeline.cpp b/tests/Rendering/unit/test_builtin_forward_pipeline.cpp index 5aa4176d..dfa07da0 100644 --- a/tests/Rendering/unit/test_builtin_forward_pipeline.cpp +++ b/tests/Rendering/unit/test_builtin_forward_pipeline.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -885,7 +886,7 @@ TEST(BuiltinForwardPipeline_Test, BuiltinGaussianSplatShaderUsesAuthoringContrac const ShaderPass* pass = shader->FindPass("GaussianSplat"); ASSERT_NE(pass, nullptr); - EXPECT_EQ(pass->resources.Size(), 6u); + EXPECT_EQ(pass->resources.Size(), 4u); EXPECT_TRUE(pass->hasFixedFunctionState); EXPECT_EQ(pass->fixedFunctionState.cullMode, MaterialCullMode::None); EXPECT_FALSE(pass->fixedFunctionState.depthWriteEnable); @@ -910,35 +911,15 @@ TEST(BuiltinForwardPipeline_Test, BuiltinGaussianSplatShaderUsesAuthoringContrac ResolveBuiltinPassResourceSemantic(*order), BuiltinPassResourceSemantic::GaussianSplatOrderBuffer); - const ShaderResourceBindingDesc* positions = - shader->FindPassResourceBinding("GaussianSplat", "GaussianSplatPositions"); - ASSERT_NE(positions, nullptr); - EXPECT_EQ(positions->type, ShaderResourceType::StructuredBuffer); - EXPECT_EQ(positions->set, 2u); - EXPECT_EQ(positions->binding, 1u); + const ShaderResourceBindingDesc* viewData = + shader->FindPassResourceBinding("GaussianSplat", "GaussianSplatViewDataBuffer"); + ASSERT_NE(viewData, nullptr); + EXPECT_EQ(viewData->type, ShaderResourceType::StructuredBuffer); + EXPECT_EQ(viewData->set, 2u); + EXPECT_EQ(viewData->binding, 1u); EXPECT_EQ( - ResolveBuiltinPassResourceSemantic(*positions), - BuiltinPassResourceSemantic::GaussianSplatPositionBuffer); - - const ShaderResourceBindingDesc* other = - shader->FindPassResourceBinding("GaussianSplat", "GaussianSplatOther"); - ASSERT_NE(other, nullptr); - EXPECT_EQ(other->type, ShaderResourceType::StructuredBuffer); - EXPECT_EQ(other->set, 2u); - EXPECT_EQ(other->binding, 2u); - EXPECT_EQ( - ResolveBuiltinPassResourceSemantic(*other), - BuiltinPassResourceSemantic::GaussianSplatOtherBuffer); - - const ShaderResourceBindingDesc* color = - shader->FindPassResourceBinding("GaussianSplat", "GaussianSplatColor"); - ASSERT_NE(color, nullptr); - EXPECT_EQ(color->type, ShaderResourceType::StructuredBuffer); - EXPECT_EQ(color->set, 2u); - EXPECT_EQ(color->binding, 3u); - EXPECT_EQ( - ResolveBuiltinPassResourceSemantic(*color), - BuiltinPassResourceSemantic::GaussianSplatColorBuffer); + ResolveBuiltinPassResourceSemantic(*viewData), + BuiltinPassResourceSemantic::GaussianSplatViewDataBuffer); delete shader; } @@ -958,24 +939,21 @@ TEST(BuiltinForwardPipeline_Test, BuildsBuiltinPassResourceBindingPlanFromLoaded BuiltinPassResourceBindingPlan plan = {}; String error; EXPECT_TRUE(TryBuildBuiltinPassResourceBindingPlan(*pass, plan, &error)) << error.CStr(); - ASSERT_EQ(plan.bindings.Size(), 6u); + ASSERT_EQ(plan.bindings.Size(), 4u); EXPECT_TRUE(plan.perObject.IsValid()); EXPECT_TRUE(plan.material.IsValid()); EXPECT_TRUE(plan.gaussianSplatOrderBuffer.IsValid()); - EXPECT_TRUE(plan.gaussianSplatPositionBuffer.IsValid()); - EXPECT_TRUE(plan.gaussianSplatOtherBuffer.IsValid()); - EXPECT_TRUE(plan.gaussianSplatColorBuffer.IsValid()); + EXPECT_TRUE(plan.gaussianSplatViewDataBuffer.IsValid()); + EXPECT_FALSE(plan.gaussianSplatPositionBuffer.IsValid()); + EXPECT_FALSE(plan.gaussianSplatOtherBuffer.IsValid()); + EXPECT_FALSE(plan.gaussianSplatColorBuffer.IsValid()); EXPECT_FALSE(plan.gaussianSplatSHBuffer.IsValid()); EXPECT_EQ(plan.perObject.set, 0u); EXPECT_EQ(plan.material.set, 1u); EXPECT_EQ(plan.gaussianSplatOrderBuffer.set, 2u); EXPECT_EQ(plan.gaussianSplatOrderBuffer.binding, 0u); - EXPECT_EQ(plan.gaussianSplatPositionBuffer.set, 2u); - EXPECT_EQ(plan.gaussianSplatPositionBuffer.binding, 1u); - EXPECT_EQ(plan.gaussianSplatOtherBuffer.set, 2u); - EXPECT_EQ(plan.gaussianSplatOtherBuffer.binding, 2u); - EXPECT_EQ(plan.gaussianSplatColorBuffer.set, 2u); - EXPECT_EQ(plan.gaussianSplatColorBuffer.binding, 3u); + EXPECT_EQ(plan.gaussianSplatViewDataBuffer.set, 2u); + EXPECT_EQ(plan.gaussianSplatViewDataBuffer.binding, 1u); EXPECT_EQ(plan.firstDescriptorSet, 0u); EXPECT_EQ(plan.descriptorSetCount, 3u); @@ -985,34 +963,23 @@ TEST(BuiltinForwardPipeline_Test, BuildsBuiltinPassResourceBindingPlanFromLoaded EXPECT_TRUE(setLayouts[0].usesPerObject); EXPECT_TRUE(setLayouts[1].usesMaterial); EXPECT_TRUE(setLayouts[2].usesGaussianSplatOrderBuffer); - EXPECT_TRUE(setLayouts[2].usesGaussianSplatPositionBuffer); - EXPECT_TRUE(setLayouts[2].usesGaussianSplatOtherBuffer); - EXPECT_TRUE(setLayouts[2].usesGaussianSplatColorBuffer); - ASSERT_EQ(setLayouts[2].bindings.size(), 4u); + EXPECT_TRUE(setLayouts[2].usesGaussianSplatViewDataBuffer); + EXPECT_FALSE(setLayouts[2].usesGaussianSplatPositionBuffer); + EXPECT_FALSE(setLayouts[2].usesGaussianSplatOtherBuffer); + EXPECT_FALSE(setLayouts[2].usesGaussianSplatColorBuffer); + ASSERT_EQ(setLayouts[2].bindings.size(), 2u); EXPECT_EQ( static_cast(setLayouts[2].bindings[0].type), DescriptorType::SRV); EXPECT_EQ( static_cast(setLayouts[2].bindings[1].type), DescriptorType::SRV); - EXPECT_EQ( - static_cast(setLayouts[2].bindings[2].type), - DescriptorType::SRV); - EXPECT_EQ( - static_cast(setLayouts[2].bindings[3].type), - DescriptorType::SRV); EXPECT_EQ( setLayouts[2].bindings[0].resourceDimension, ResourceViewDimension::StructuredBuffer); EXPECT_EQ( setLayouts[2].bindings[1].resourceDimension, ResourceViewDimension::StructuredBuffer); - EXPECT_EQ( - setLayouts[2].bindings[2].resourceDimension, - ResourceViewDimension::StructuredBuffer); - EXPECT_EQ( - setLayouts[2].bindings[3].resourceDimension, - ResourceViewDimension::StructuredBuffer); delete shader; } @@ -1052,22 +1019,16 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesAuthoringGauss d3d12Source, "cbuffer MaterialConstants", "register(b1)")); + EXPECT_NE(d3d12Source.find("float4 gPointScaleParams;"), std::string::npos); + EXPECT_NE(d3d12Source.find("float4 gOpacityScaleParams;"), std::string::npos); EXPECT_TRUE(SourceContainsRegisterBinding( d3d12Source, "StructuredBuffer GaussianSplatOrderBuffer", "register(t0)")); EXPECT_TRUE(SourceContainsRegisterBinding( d3d12Source, - "StructuredBuffer GaussianSplatPositions", + "StructuredBuffer GaussianSplatViewDataBuffer", "register(t1)")); - EXPECT_TRUE(SourceContainsRegisterBinding( - d3d12Source, - "StructuredBuffer GaussianSplatOther", - "register(t2)")); - EXPECT_TRUE(SourceContainsRegisterBinding( - d3d12Source, - "StructuredBuffer GaussianSplatColor", - "register(t3)")); EXPECT_EQ(d3d12Source.find("space0"), std::string::npos); EXPECT_EQ(d3d12Source.find("space1"), std::string::npos); EXPECT_EQ(d3d12Source.find("space2"), std::string::npos); @@ -1095,22 +1056,16 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesAuthoringGauss vulkanSource, "cbuffer MaterialConstants", "register(b0, space1)")); + EXPECT_NE(vulkanSource.find("float4 gPointScaleParams;"), std::string::npos); + EXPECT_NE(vulkanSource.find("float4 gOpacityScaleParams;"), std::string::npos); EXPECT_TRUE(SourceContainsRegisterBinding( vulkanSource, "StructuredBuffer GaussianSplatOrderBuffer", "register(t0, space2)")); EXPECT_TRUE(SourceContainsRegisterBinding( vulkanSource, - "StructuredBuffer GaussianSplatPositions", + "StructuredBuffer GaussianSplatViewDataBuffer", "register(t1, space2)")); - EXPECT_TRUE(SourceContainsRegisterBinding( - vulkanSource, - "StructuredBuffer GaussianSplatOther", - "register(t2, space2)")); - EXPECT_TRUE(SourceContainsRegisterBinding( - vulkanSource, - "StructuredBuffer GaussianSplatColor", - "register(t3, space2)")); delete shader; } @@ -1126,7 +1081,7 @@ TEST(BuiltinForwardPipeline_Test, BuiltinGaussianSplatUtilitiesShaderUsesCompute const ShaderPass* pass = shader->FindPass("GaussianSplatPrepareOrder"); ASSERT_NE(pass, nullptr); - EXPECT_EQ(pass->resources.Size(), 4u); + EXPECT_EQ(pass->resources.Size(), 7u); const ShaderResourceBindingDesc* perObject = shader->FindPassResourceBinding("GaussianSplatPrepareOrder", "PerObjectConstants"); @@ -1148,6 +1103,26 @@ TEST(BuiltinForwardPipeline_Test, BuiltinGaussianSplatUtilitiesShaderUsesCompute ResolveBuiltinPassResourceSemantic(*positions), BuiltinPassResourceSemantic::GaussianSplatPositionBuffer); + const ShaderResourceBindingDesc* other = + shader->FindPassResourceBinding("GaussianSplatPrepareOrder", "GaussianSplatOther"); + ASSERT_NE(other, nullptr); + EXPECT_EQ(other->type, ShaderResourceType::StructuredBuffer); + EXPECT_EQ(other->set, 2u); + EXPECT_EQ(other->binding, 1u); + EXPECT_EQ( + ResolveBuiltinPassResourceSemantic(*other), + BuiltinPassResourceSemantic::GaussianSplatOtherBuffer); + + const ShaderResourceBindingDesc* color = + shader->FindPassResourceBinding("GaussianSplatPrepareOrder", "GaussianSplatColor"); + ASSERT_NE(color, nullptr); + EXPECT_EQ(color->type, ShaderResourceType::StructuredBuffer); + EXPECT_EQ(color->set, 2u); + EXPECT_EQ(color->binding, 2u); + EXPECT_EQ( + ResolveBuiltinPassResourceSemantic(*color), + BuiltinPassResourceSemantic::GaussianSplatColorBuffer); + const ShaderResourceBindingDesc* sortDistances = shader->FindPassResourceBinding("GaussianSplatPrepareOrder", "GaussianSplatSortDistances"); ASSERT_NE(sortDistances, nullptr); @@ -1168,6 +1143,16 @@ TEST(BuiltinForwardPipeline_Test, BuiltinGaussianSplatUtilitiesShaderUsesCompute ResolveBuiltinPassResourceSemantic(*orderBuffer), BuiltinPassResourceSemantic::GaussianSplatOrderBuffer); + const ShaderResourceBindingDesc* viewData = + shader->FindPassResourceBinding("GaussianSplatPrepareOrder", "GaussianSplatViewDataBuffer"); + ASSERT_NE(viewData, nullptr); + EXPECT_EQ(viewData->type, ShaderResourceType::RWStructuredBuffer); + EXPECT_EQ(viewData->set, 4u); + EXPECT_EQ(viewData->binding, 2u); + EXPECT_EQ( + ResolveBuiltinPassResourceSemantic(*viewData), + BuiltinPassResourceSemantic::GaussianSplatViewDataBuffer); + const ShaderStageVariant* computeVariant = shader->FindVariant( "GaussianSplatPrepareOrder", XCEngine::Resources::ShaderType::Compute, @@ -1193,17 +1178,26 @@ TEST(BuiltinForwardPipeline_Test, BuildsBuiltinPassResourceBindingPlanFromLoaded BuiltinPassResourceBindingPlan plan = {}; String error; EXPECT_TRUE(TryBuildBuiltinPassResourceBindingPlan(*pass, plan, &error)) << error.CStr(); - ASSERT_EQ(plan.bindings.Size(), 4u); + ASSERT_EQ(plan.bindings.Size(), 7u); EXPECT_TRUE(plan.perObject.IsValid()); EXPECT_TRUE(plan.gaussianSplatPositionBuffer.IsValid()); + EXPECT_TRUE(plan.gaussianSplatOtherBuffer.IsValid()); + EXPECT_TRUE(plan.gaussianSplatColorBuffer.IsValid()); EXPECT_TRUE(plan.gaussianSplatSortDistanceBuffer.IsValid()); EXPECT_TRUE(plan.gaussianSplatOrderBuffer.IsValid()); + EXPECT_TRUE(plan.gaussianSplatViewDataBuffer.IsValid()); EXPECT_EQ(plan.perObject.set, 0u); EXPECT_EQ(plan.gaussianSplatPositionBuffer.set, 2u); + EXPECT_EQ(plan.gaussianSplatOtherBuffer.set, 2u); + EXPECT_EQ(plan.gaussianSplatOtherBuffer.binding, 1u); + EXPECT_EQ(plan.gaussianSplatColorBuffer.set, 2u); + EXPECT_EQ(plan.gaussianSplatColorBuffer.binding, 2u); EXPECT_EQ(plan.gaussianSplatSortDistanceBuffer.set, 4u); EXPECT_EQ(plan.gaussianSplatSortDistanceBuffer.binding, 0u); EXPECT_EQ(plan.gaussianSplatOrderBuffer.set, 4u); EXPECT_EQ(plan.gaussianSplatOrderBuffer.binding, 1u); + EXPECT_EQ(plan.gaussianSplatViewDataBuffer.set, 4u); + EXPECT_EQ(plan.gaussianSplatViewDataBuffer.binding, 2u); EXPECT_EQ(plan.firstDescriptorSet, 0u); EXPECT_EQ(plan.descriptorSetCount, 5u); @@ -1212,25 +1206,98 @@ TEST(BuiltinForwardPipeline_Test, BuildsBuiltinPassResourceBindingPlanFromLoaded ASSERT_EQ(setLayouts.size(), 5u); EXPECT_TRUE(setLayouts[0].usesPerObject); EXPECT_TRUE(setLayouts[2].usesGaussianSplatPositionBuffer); + EXPECT_TRUE(setLayouts[2].usesGaussianSplatOtherBuffer); + EXPECT_TRUE(setLayouts[2].usesGaussianSplatColorBuffer); EXPECT_TRUE(setLayouts[4].usesGaussianSplatSortDistanceBuffer); EXPECT_TRUE(setLayouts[4].usesGaussianSplatOrderBuffer); - ASSERT_EQ(setLayouts[4].bindings.size(), 2u); + EXPECT_TRUE(setLayouts[4].usesGaussianSplatViewDataBuffer); + ASSERT_EQ(setLayouts[2].bindings.size(), 3u); + ASSERT_EQ(setLayouts[4].bindings.size(), 3u); + EXPECT_EQ( + static_cast(setLayouts[2].bindings[0].type), + DescriptorType::SRV); + EXPECT_EQ( + static_cast(setLayouts[2].bindings[1].type), + DescriptorType::SRV); + EXPECT_EQ( + static_cast(setLayouts[2].bindings[2].type), + DescriptorType::SRV); EXPECT_EQ( static_cast(setLayouts[4].bindings[0].type), DescriptorType::UAV); EXPECT_EQ( static_cast(setLayouts[4].bindings[1].type), DescriptorType::UAV); + EXPECT_EQ( + static_cast(setLayouts[4].bindings[2].type), + DescriptorType::UAV); + EXPECT_EQ( + setLayouts[2].bindings[0].resourceDimension, + ResourceViewDimension::StructuredBuffer); + EXPECT_EQ( + setLayouts[2].bindings[1].resourceDimension, + ResourceViewDimension::StructuredBuffer); + EXPECT_EQ( + setLayouts[2].bindings[2].resourceDimension, + ResourceViewDimension::StructuredBuffer); EXPECT_EQ( setLayouts[4].bindings[0].resourceDimension, ResourceViewDimension::StructuredBuffer); EXPECT_EQ( setLayouts[4].bindings[1].resourceDimension, ResourceViewDimension::StructuredBuffer); + EXPECT_EQ( + setLayouts[4].bindings[2].resourceDimension, + ResourceViewDimension::StructuredBuffer); delete shader; } +TEST(BuiltinForwardPipeline_Test, OpenGLPipelineLayoutUsesUnifiedStorageBufferBindingsForGaussianSplatUtilities) { + ShaderLoader loader; + LoadResult result = loader.Load(GetBuiltinGaussianSplatUtilitiesShaderPath()); + ASSERT_TRUE(result); + ASSERT_NE(result.resource, nullptr); + + Shader* shader = static_cast(result.resource); + ASSERT_NE(shader, nullptr); + + const ShaderPass* pass = shader->FindPass("GaussianSplatPrepareOrder"); + ASSERT_NE(pass, nullptr); + + BuiltinPassResourceBindingPlan plan = {}; + String error; + ASSERT_TRUE(TryBuildBuiltinPassResourceBindingPlan(*pass, plan, &error)) << error.CStr(); + + std::vector setLayouts; + ASSERT_TRUE(TryBuildBuiltinPassSetLayouts(plan, setLayouts, &error)) << error.CStr(); + ASSERT_EQ(setLayouts.size(), 5u); + + RHIPipelineLayoutDesc layoutDesc = {}; + layoutDesc.setLayoutCount = static_cast(setLayouts.size()); + std::vector layoutViews(setLayouts.size()); + for (size_t setIndex = 0; setIndex < setLayouts.size(); ++setIndex) { + layoutViews[setIndex].bindingCount = static_cast(setLayouts[setIndex].bindings.size()); + layoutViews[setIndex].bindings = + setLayouts[setIndex].bindings.empty() ? nullptr : setLayouts[setIndex].bindings.data(); + } + layoutDesc.setLayouts = layoutViews.data(); + + OpenGLPipelineLayout pipelineLayout; + ASSERT_TRUE(pipelineLayout.Initialize(layoutDesc)); + + EXPECT_EQ(pipelineLayout.GetConstantBufferBindingPoint(0u, 0u), 0u); + EXPECT_EQ(pipelineLayout.GetShaderResourceBindingPoint(2u, 0u), 0u); + EXPECT_EQ(pipelineLayout.GetShaderResourceBindingPoint(2u, 1u), 1u); + EXPECT_EQ(pipelineLayout.GetShaderResourceBindingPoint(2u, 2u), 2u); + EXPECT_EQ(pipelineLayout.GetUnorderedAccessBindingPoint(4u, 0u), 3u); + EXPECT_EQ(pipelineLayout.GetUnorderedAccessBindingPoint(4u, 1u), 4u); + EXPECT_EQ(pipelineLayout.GetUnorderedAccessBindingPoint(4u, 2u), 5u); + + pipelineLayout.Shutdown(); + delete shader; +} + TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesGaussianSplatUtilitiesComputeBindingsToDescriptorSpaces) { ShaderLoader loader; LoadResult result = loader.Load(GetBuiltinGaussianSplatUtilitiesShaderPath()); @@ -1264,8 +1331,16 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesGaussianSplatU "register(b0)")); EXPECT_TRUE(SourceContainsRegisterBinding( d3d12Source, - "StructuredBuffer GaussianSplatPositions", + "StructuredBuffer GaussianSplatPositions", "register(t0)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + d3d12Source, + "StructuredBuffer GaussianSplatOther", + "register(t1)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + d3d12Source, + "StructuredBuffer GaussianSplatColor", + "register(t2)")); EXPECT_TRUE(SourceContainsRegisterBinding( d3d12Source, "RWStructuredBuffer GaussianSplatSortDistances", @@ -1274,6 +1349,10 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesGaussianSplatU d3d12Source, "RWStructuredBuffer GaussianSplatOrderBuffer", "register(u1)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + d3d12Source, + "RWStructuredBuffer GaussianSplatViewDataBuffer", + "register(u2)")); const ShaderStageVariant* vulkanCompute = shader->FindVariant( "GaussianSplatPrepareOrder", @@ -1296,8 +1375,16 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesGaussianSplatU "register(b0, space0)")); EXPECT_TRUE(SourceContainsRegisterBinding( vulkanSource, - "StructuredBuffer GaussianSplatPositions", + "StructuredBuffer GaussianSplatPositions", "register(t0, space2)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + vulkanSource, + "StructuredBuffer GaussianSplatOther", + "register(t1, space2)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + vulkanSource, + "StructuredBuffer GaussianSplatColor", + "register(t2, space2)")); EXPECT_TRUE(SourceContainsRegisterBinding( vulkanSource, "RWStructuredBuffer GaussianSplatSortDistances", @@ -1306,6 +1393,72 @@ TEST(BuiltinForwardPipeline_Test, VulkanRuntimeCompileDescRewritesGaussianSplatU vulkanSource, "RWStructuredBuffer GaussianSplatOrderBuffer", "register(u1, space4)")); + EXPECT_TRUE(SourceContainsRegisterBinding( + vulkanSource, + "RWStructuredBuffer GaussianSplatViewDataBuffer", + "register(u2, space4)")); + + delete shader; +} + +TEST(BuiltinForwardPipeline_Test, OpenGLRuntimeTranspilesGaussianSplatUtilitiesComputeVariant) { + ShaderLoader loader; + LoadResult result = loader.Load(GetBuiltinGaussianSplatUtilitiesShaderPath()); + ASSERT_TRUE(result); + ASSERT_NE(result.resource, nullptr); + + Shader* shader = static_cast(result.resource); + ASSERT_NE(shader, nullptr); + + const ShaderPass* pass = shader->FindPass("GaussianSplatPrepareOrder"); + ASSERT_NE(pass, nullptr); + + const ShaderStageVariant* openGLCompute = shader->FindVariant( + "GaussianSplatPrepareOrder", + XCEngine::Resources::ShaderType::Compute, + XCEngine::Resources::ShaderBackend::OpenGL); + ASSERT_NE(openGLCompute, nullptr); + + ShaderCompileDesc compileDesc = {}; + ::XCEngine::Rendering::Internal::ApplyShaderStageVariant( + *pass, + XCEngine::Resources::ShaderBackend::OpenGL, + *openGLCompute, + compileDesc); + + XCEngine::RHI::CompiledSpirvShader spirvShader = {}; + std::string errorMessage; + ASSERT_TRUE( + XCEngine::RHI::CompileSpirvShader( + compileDesc, + XCEngine::RHI::SpirvTargetEnvironment::Vulkan, + spirvShader, + &errorMessage)) + << errorMessage; + + std::string glslSource; + ASSERT_TRUE(XCEngine::RHI::TranspileSpirvToOpenGLGLSL(spirvShader, glslSource, &errorMessage)) + << errorMessage; + ASSERT_FALSE(glslSource.empty()); + + EXPECT_NE( + glslSource.find("layout(binding = 0, std430) readonly buffer type_StructuredBuffer_v4float"), + std::string::npos); + EXPECT_NE( + glslSource.find("layout(binding = 1, std430) readonly buffer type_StructuredBuffer_GaussianSplatOtherData"), + std::string::npos); + EXPECT_NE( + glslSource.find("layout(binding = 2, std430) readonly buffer GaussianSplatColor"), + std::string::npos); + EXPECT_NE( + glslSource.find("layout(binding = 3, std430) buffer type_RWStructuredBuffer_uint"), + std::string::npos); + EXPECT_NE( + glslSource.find("layout(binding = 4, std430) buffer GaussianSplatOrderBuffer"), + std::string::npos); + EXPECT_NE( + glslSource.find("layout(binding = 5, std430) buffer type_RWStructuredBuffer_GaussianSplatViewData"), + std::string::npos); delete shader; }