浏览代码

Merge branch 'master2' into LW-LightOptimizations

/LW-LightOptimizations
Tim Cooper 6 年前
当前提交
aeefe219
共有 91 个文件被更改,包括 5171 次插入999 次删除
  1. 987
      ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode.unity.png
  2. 16
      ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/Common.hlsl
  3. 6
      ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/CommonLighting.hlsl
  4. 6
      ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/Debug.hlsl
  5. 2
      ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/ImageBasedLighting.hlsl
  6. 2
      ScriptableRenderPipeline/Core/package.json
  7. 47
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Camera/HDCamera.cs
  8. 34
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Debug/DebugDisplay.hlsl
  9. 46
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Debug/MaterialDebug.cs
  10. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Decal/DecalMenuItems.cs
  11. 94
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/EditorRenderPipelineResources/ReflectionProbesPreview.shader
  12. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/HDAssetFactory.cs
  13. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/HDRenderPipelineMenuItems.cs
  14. 14
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/HDLightEditor.cs
  15. 7
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Material/Lit/BaseLitUI.cs
  16. 51
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDRenderPipeline.cs
  17. 3
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDStringConstants.cs
  18. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDUtils.cs
  19. 20
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoop.cs
  20. 18
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoop.hlsl
  21. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoopDef.hlsl
  22. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoopSettings.cs
  23. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/lightlistbuild-clustered.compute
  24. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Reflection/ProbeWrapper.cs
  25. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Volumetrics/HomogeneousFog.cs
  26. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Decal/DecalUtilities.hlsl
  27. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLit.shader
  28. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLitDataDisplacement.hlsl
  29. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLitTessellation.shader
  30. 167
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/Lit.hlsl
  31. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/Lit.shader
  32. 6
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitData.hlsl
  33. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitDataDisplacement.hlsl
  34. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitReference.hlsl
  35. 2
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitTessellation.shader
  36. 26
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/RenderPipeline/FrameSettings.cs
  37. 10
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariables.hlsl
  38. 19
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariablesMatrixDefsHDCamera.hlsl
  39. 4
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariablesMatrixDefsLegacyUnity.hlsl
  40. 4
      ScriptableRenderPipeline/HDRenderPipeline/package.json
  41. 16
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineAsset.cs
  42. 2
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineResources.asset
  43. 1
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineResources.cs
  44. 104
      ScriptableRenderPipeline/LightweightPipeline/LWRP/LightweightPipeline.cs
  45. 30
      ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Core.hlsl
  46. 9
      ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Lighting.hlsl
  47. 4
      ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/LightweightPassLit.hlsl
  48. 6
      ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/LightweightPassShadow.hlsl
  49. 151
      ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Shadows.hlsl
  50. 8
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandard.shader
  51. 8
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandardSimpleLighting.shader
  52. 8
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandardTerrain.shader
  53. 4
      ScriptableRenderPipeline/LightweightPipeline/package.json
  54. 2
      ScriptableRenderPipeline/master-package.json
  55. 2
      TestbedPipelines/BasicRenderPipeline/BasicRenderPipeline.cs
  56. 5
      TestbedPipelines/OnTileDeferredPipeline/OnTileDeferredRenderPipeline.cs
  57. 629
      Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode.unity
  58. 5
      Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat
  59. 36
      Tests/Scripts/GraphicTests/Framework/TestFrameworkTools.cs
  60. 8
      SampleScenes/HDTest/BakingSkyTest.meta
  61. 1001
      SampleScenes/HDTest/BakingSkyTest.unity
  62. 7
      SampleScenes/HDTest/BakingSkyTest.unity.meta
  63. 180
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/GlobalIlluminationUtils.cs
  64. 11
      ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/GlobalIlluminationUtils.cs.meta
  65. 85
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightScreenSpaceShadows.shader
  66. 9
      ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightScreenSpaceShadows.shader.meta
  67. 30
      Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/AdditionalTestSceneInfos.asset
  68. 8
      Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/AdditionalTestSceneInfos.asset.meta
  69. 19
      Tests/Scripts/GraphicTests/Framework/AdditionalTestSceneInfos.cs
  70. 11
      Tests/Scripts/GraphicTests/Framework/AdditionalTestSceneInfos.cs.meta
  71. 76
      SampleScenes/HDTest/BakingSkyTest/BakingSKy Profile.asset
  72. 8
      SampleScenes/HDTest/BakingSkyTest/BakingSKy Profile.asset.meta
  73. 95
      SampleScenes/HDTest/BakingSkyTest/GlobalSky Profile.asset
  74. 8
      SampleScenes/HDTest/BakingSkyTest/GlobalSky Profile.asset.meta
  75. 7
      SampleScenes/HDTest/BakingSkyTest/LightingData.asset
  76. 8
      SampleScenes/HDTest/BakingSkyTest/LightingData.asset.meta
  77. 397
      SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_dir.png
  78. 83
      SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_dir.png.meta
  79. 129
      SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_light.exr
  80. 83
      SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_light.exr.meta
  81. 682
      SampleScenes/HDTest/BakingSkyTest/ReflectionProbe-0.exr
  82. 84
      SampleScenes/HDTest/BakingSkyTest/ReflectionProbe-0.exr.meta
  83. 212
      SampleScenes/HDTest/BakingSkyTest/RoughMaterial.mat
  84. 8
      SampleScenes/HDTest/BakingSkyTest/RoughMaterial.mat.meta
  85. 76
      SampleScenes/HDTest/BakingSkyTest/SkyBlue Profile.asset
  86. 8
      SampleScenes/HDTest/BakingSkyTest/SkyBlue Profile.asset.meta
  87. 76
      SampleScenes/HDTest/BakingSkyTest/SkyGreen Profile.asset
  88. 8
      SampleScenes/HDTest/BakingSkyTest/SkyGreen Profile.asset.meta
  89. 76
      SampleScenes/HDTest/BakingSkyTest/SkyRed Profile.asset
  90. 8
      SampleScenes/HDTest/BakingSkyTest/SkyRed Profile.asset.meta

987
ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode.unity.png
文件差异内容过多而无法显示
查看文件

16
ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/Common.hlsl


// (position = positionCS) => (clipSpaceTransform = use default)
// (position = positionVS) => (clipSpaceTransform = UNITY_MATRIX_P)
// (position = positionWS) => (clipSpaceTransform = UNITY_MATRIX_VP)
float2 ComputeNormalizedDeviceCoordinates(float3 position, float4x4 clipSpaceTransform = k_identity4x4)
float3 ComputeNormalizedDeviceCoordinatesWithZ(float3 position, float4x4 clipSpaceTransform = k_identity4x4)
{
float4 positionCS = ComputeClipSpacePosition(position, clipSpaceTransform);

positionCS.y = -positionCS.y;
#endif
return positionCS.xy * (rcp(positionCS.w) * 0.5) + 0.5;
positionCS *= rcp(positionCS.w);
positionCS.xy = positionCS.xy * 0.5 + 0.5;
return positionCS.xyz;
}
// Use case examples:
// (position = positionCS) => (clipSpaceTransform = use default)
// (position = positionVS) => (clipSpaceTransform = UNITY_MATRIX_P)
// (position = positionWS) => (clipSpaceTransform = UNITY_MATRIX_VP)
float2 ComputeNormalizedDeviceCoordinates(float3 position, float4x4 clipSpaceTransform = k_identity4x4)
{
return ComputeNormalizedDeviceCoordinatesWithZ(position, clipSpaceTransform).xy;
}
float3 ComputeViewSpacePosition(float2 positionNDC, float deviceDepth, float4x4 invProjMatrix)

6
ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/CommonLighting.hlsl


// Helper functions
//-----------------------------------------------------------------------------
// Ref: "Crafting a Next-Gen Material Pipeline for The Order: 1886".
float ClampNdotV(float NdotV)
{
return max(NdotV, 0.0001);
}
// Inputs: normalized normal and view vectors.
// Outputs: front-facing normal, and the new non-negative value of the cosine of the view angle.
// Important: call Orthonormalize() on the tangent and recompute the bitangent afterwards.

6
ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/Debug.hlsl


}
return GetDebugMipColor(originalColor, tex, texelSize, uv);
}
// mipInfo :
// x = quality setings minStreamingMipLevel
// y = original mip count for texture

{
float3 outColor = float3(1.0, 0.0, 1.0); // Can't calculate without original mip count - return magenta
{
float3 outColor = float3(1.0, 0.0, 1.0); // Can't calculate without original mip count - return magenta
uint originalTextureMipCount = uint(mipInfo.y);
if (originalTextureMipCount != 0)

2
ScriptableRenderPipeline/Core/CoreRP/ShaderLibrary/ImageBasedLighting.hlsl


// Ref: Listing 18 in "Moving Frostbite to PBR" + https://knarkowicz.wordpress.com/2014/12/27/analytical-dfg-term-for-ibl/
real4 IntegrateGGXAndDisneyFGD(real3 V, real3 N, real roughness, uint sampleCount = 8192)
{
real NdotV = saturate(dot(N, V));
real NdotV = ClampNdotV(dot(N, V));
real4 acc = real4(0.0, 0.0, 0.0, 0.0);
// Add some jittering on Hammersley2d
real2 randNum = InitRandom(V.xy * 0.5 + 0.5);

2
ScriptableRenderPipeline/Core/package.json


{
"name": "com.unity.render-pipelines.core",
"description": "Core library for Unity render pipelines.",
"version": "0.1.28",
"version": "0.1.29",
"unity": "2018.1",
"dependencies": {
"com.unity.postprocessing": "0.1.8"

47
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Camera/HDCamera.cs


public Vector4 viewParam;
public PostProcessRenderContext postprocessRenderContext;
public Matrix4x4[] viewMatrixStereo;
public Matrix4x4[] projMatrixStereo;
// Non oblique projection matrix (RHS)
public Matrix4x4 nonObliqueProjMatrix
{

public Matrix4x4 nonJitteredViewProjMatrix
{
get { return nonJitteredProjMatrix * viewMatrix; }
}
public Matrix4x4 GetViewProjMatrixStereo(uint eyeIndex)
{
return (projMatrixStereo[eyeIndex] * viewMatrixStereo[eyeIndex]);
}
// Always true for cameras that just got added to the pool - needed for previous matrices to

camera = cam;
frustumPlanes = new Plane[6];
frustumPlaneEquations = new Vector4[6];
viewMatrixStereo = new Matrix4x4[2];
projMatrixStereo = new Matrix4x4[2];
postprocessRenderContext = new PostProcessRenderContext();
m_AdditionalCameraData = cam.GetComponent<HDAdditionalCameraData>();
Reset();

var xrDesc = XRSettings.eyeTextureDesc;
m_ActualWidth = xrDesc.width;
m_ActualHeight = xrDesc.height;
ConfigureStereoMatrices();
}
// Unfortunately sometime (like in the HDCameraEditor) HDUtils.hdrpSettings can be null because of scripts that change the current pipeline...

screenSize = new Vector4(screenWidth, screenHeight, 1.0f / screenWidth, 1.0f / screenHeight);
}
void ConfigureStereoMatrices()
{
for (uint eyeIndex = 0; eyeIndex < 2; eyeIndex++)
{
viewMatrixStereo[eyeIndex] = camera.GetStereoViewMatrix((Camera.StereoscopicEye)eyeIndex);
projMatrixStereo[eyeIndex] = camera.GetStereoProjectionMatrix((Camera.StereoscopicEye)eyeIndex);
projMatrixStereo[eyeIndex] = GL.GetGPUProjectionMatrix(projMatrixStereo[eyeIndex], true);
}
// TODO: Fetch the single cull matrix stuff
}
// Warning: different views can use the same camera!
public long GetViewID()
{

cmd.SetGlobalVectorArray(HDShaderIDs._FrustumPlanes, frustumPlaneEquations);
cmd.SetGlobalInt(HDShaderIDs._TaaFrameIndex, (int)taaFrameIndex);
cmd.SetGlobalVector(HDShaderIDs._TaaFrameRotation, taaFrameRotation);
}
public void SetupGlobalStereoParams(CommandBuffer cmd)
{
var invProjStereo = new Matrix4x4[2];
var invViewProjStereo = new Matrix4x4[2];
for (uint eyeIndex = 0; eyeIndex < 2; eyeIndex++)
{
var proj = projMatrixStereo[eyeIndex];
invProjStereo[eyeIndex] = proj.inverse;
var vp = proj * viewMatrixStereo[eyeIndex];
invViewProjStereo[eyeIndex] = vp.inverse;
}
// corresponds to UnityPerPassStereo
// TODO: Migrate the other stereo matrices to HDRP-managed UnityPerPassStereo?
cmd.SetGlobalMatrixArray(HDShaderIDs._InvProjMatrixStereo, invProjStereo);
cmd.SetGlobalMatrixArray(HDShaderIDs._InvViewProjMatrixStereo, invViewProjStereo);
}
// TODO: We should set all the value below globally and not let it under the control of Unity,

34
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Debug/DebugDisplay.hlsl


// Draw a signed integer
// Can't display more than 16 digit
void DrawInteger(int intValue, float3 fontColor, uint2 currentUnormCoord, inout uint2 fixedUnormCoord, bool flipY, inout float3 color)
// The two following parameter are for float representation
// leading0 is used when drawing frac part of a float to draw the leading 0 (call is in charge of it)
// forceNegativeSign is used to force to display a negative sign as -0 is not recognize
void DrawInteger(int intValue, float3 fontColor, uint2 currentUnormCoord, inout uint2 fixedUnormCoord, bool flipY, inout float3 color, int leading0, bool forceNegativeSign)
{
const uint maxStringSize = 16;

int numEntries = min((intValue == 0 ? 0 : log10(absIntValue)) + (intValue < 0 ? 1 : 0), maxStringSize);
int numEntries = min((intValue == 0 ? 0 : log10(absIntValue)) + ((intValue < 0 || forceNegativeSign) ? 1 : 0) + leading0, maxStringSize);
for (uint i = 0; i < maxStringSize; ++i)
for (uint j = 0; j < maxStringSize; ++j)
{
// Numeric value incurrent font start on the second row at 0
DrawCharacter((absIntValue % 10) + '0', fontColor, currentUnormCoord, fixedUnormCoord, flipY, color, -1);

}
// 4. Display sign
if (intValue < 0)
// 4. Display leading 0
for (int i = 0; i < leading0; ++i)
{
DrawCharacter('0', fontColor, currentUnormCoord, fixedUnormCoord, flipY, color, -1);
}
// 5. Display sign
if (intValue < 0 || forceNegativeSign)
// 5. Reset cursor at end location
// 6. Reset cursor at end location
}
void DrawInteger(int intValue, float3 fontColor, uint2 currentUnormCoord, inout uint2 fixedUnormCoord, bool flipY, inout float3 color)
{
DrawInteger(intValue, fontColor, currentUnormCoord, fixedUnormCoord, flipY, color, 0, false);
}
void DrawFloat(float floatValue, float3 fontColor, uint2 currentUnormCoord, inout uint2 fixedUnormCoord, bool flipY, inout float3 color)

else
{
int intValue = int(floatValue);
DrawInteger(intValue, fontColor, currentUnormCoord, fixedUnormCoord, flipY, color);
bool forceNegativeSign = floatValue >= 0.0f ? false : true;
DrawInteger(intValue, fontColor, currentUnormCoord, fixedUnormCoord, flipY, color, 0, forceNegativeSign);
int fracValue = int(frac(floatValue) * 1e6); // 6 digit
DrawInteger(fracValue, fontColor, currentUnormCoord, fixedUnormCoord, flipY, color);
int fracValue = int(frac(abs(floatValue)) * 1e6); // 6 digit
int leading0 = 6 - (int(log10(fracValue)) + 1); // Counting leading0 to add in front of the float
DrawInteger(fracValue, fontColor, currentUnormCoord, fixedUnormCoord, flipY, color, leading0, false);
}
}

46
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Debug/MaterialDebug.cs


var localIndex = 0;
foreach (var field in fields)
{
// Note: One field can have multiple name. This is to allow to have different debug view mode for the same field
// like for example display normal in world space or in view space. Same field but two different modes.
List<String> displayNames = new List<string>();
{
// Note: One field can have multiple name. This is to allow to have different debug view mode for the same field
// like for example display normal in world space or in view space. Same field but two different modes.
List<String> displayNames = new List<string>();
displayNames.Add(field.Name);
// Check if the display name have been override by the users

if (propertyAttr[0].displayNames.Length > 0 && propertyAttr[0].displayNames[0] != "")
{
displayNames.Clear();
{
displayNames.Clear();
foreach (string fieldName in displayNames)
{
debugViewMaterialStringsList.Add(new GUIContent(className + fieldName));

materialItems.Add(item);
}
// Init list
List<GUIContent> debugViewMaterialStringsList = new List<GUIContent>();
// Init list
List<GUIContent> debugViewMaterialStringsList = new List<GUIContent>();
List<int> debugViewMaterialValuesList = new List<int>();
List<GUIContent> debugViewEngineStringsList = new List<GUIContent>();
List<int> debugViewEngineValuesList = new List<int>();

// First element is a reserved location and should not be used (allow to track error)
// Special case for None since it cannot be inferred from SurfaceData/BuiltinData
debugViewMaterialStringsList.Add(new GUIContent("None"));
debugViewMaterialStringsList.Add(new GUIContent("None"));
debugViewMaterialValuesList.Add(0);
foreach (MaterialItem item in materialItems)

// Engine properties debug
// First element is a reserved location and should not be used (allow to track error)
// Special case for None since it cannot be inferred from SurfaceData/BuiltinData
debugViewEngineStringsList.Add(new GUIContent("None"));
debugViewEngineValuesList.Add(0);
debugViewEngineStringsList.Add(new GUIContent("None"));
debugViewEngineValuesList.Add(0);
// For the following, no need to reserve the 0 case as it is handled in the Enum
// For the following, no need to reserve the 0 case as it is handled in the Enum
// Attributes debug
FillWithPropertiesEnum(typeof(Attributes.DebugViewVarying), ref debugViewMaterialVaryingStringsList, ref debugViewMaterialVaryingValuesList, "");

FillWithProperties(typeof(Lit.BSDFData), ref debugViewMaterialGBufferStringsList, ref debugViewMaterialGBufferValuesList, "");
// Convert to array for UI
debugViewMaterialStrings = debugViewMaterialStringsList.ToArray();
debugViewMaterialValues = debugViewMaterialValuesList.ToArray();
debugViewEngineStrings = debugViewEngineStringsList.ToArray();
debugViewMaterialStrings = debugViewMaterialStringsList.ToArray();
debugViewMaterialValues = debugViewMaterialValuesList.ToArray();
debugViewEngineStrings = debugViewEngineStringsList.ToArray();
debugViewMaterialVaryingStrings = debugViewMaterialVaryingStringsList.ToArray();
debugViewMaterialVaryingStrings = debugViewMaterialVaryingStringsList.ToArray();
debugViewMaterialPropertiesStrings = debugViewMaterialPropertiesStringsList.ToArray();
debugViewMaterialPropertiesStrings = debugViewMaterialPropertiesStringsList.ToArray();
debugViewMaterialTextureStrings = debugViewMaterialTextureStringsList.ToArray();
debugViewMaterialTextureStrings = debugViewMaterialTextureStringsList.ToArray();
debugViewMaterialGBufferStrings = debugViewMaterialGBufferStringsList.ToArray();
debugViewMaterialGBufferValues = debugViewMaterialGBufferValuesList.ToArray();
debugViewMaterialGBufferStrings = debugViewMaterialGBufferStringsList.ToArray();
debugViewMaterialGBufferValues = debugViewMaterialGBufferValuesList.ToArray();
isDebugViewMaterialInit = true;
}

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Decal/DecalMenuItems.cs


{
public class DecalMenuItems
{
[MenuItem("GameObject/Graphics/DecalProjector", priority = CoreUtils.gameObjectMenuPriority)]
[MenuItem("GameObject/Rendering/DecalProjector", priority = CoreUtils.gameObjectMenuPriority)]
static void CreateDecal(MenuCommand menuCommand)
{
// Create a custom game object

94
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/EditorRenderPipelineResources/ReflectionProbesPreview.shader


// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
Shader "Debug/ReflectionProbePreview"
Shader "Debug/ReflectionProbePreview"
{
Properties
{

SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "Transparent" }
LOD 100
LOD 100
{
Name "ForwardUnlit"
Tags{ "LightMode" = "Forward" }
{
Name "ForwardUnlit"
Tags{ "LightMode" = "Forward" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "CoreRP/ShaderLibrary/common.hlsl"
#include "HDRP/ShaderVariables.hlsl"
struct appdata
{
float4 positionOS : POSITION;
float3 normalOS : NORMAL;
};
struct appdata
{
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f
{
float4 positionCS : SV_POSITION;
float3 normalWS : NORMAL;
float3 positionWS : TEXCOORD0;
};
struct v2f
{
float4 vertex : SV_POSITION;
float3 normal : NORMAL;
float3 worldpos : TEXCOORD0;
};
TEXTURECUBE(_Cubemap);
SAMPLER(sampler_Cubemap);
samplerCUBE _Cubemap;
float3 _CameraWorldPosition;
float _MipLevel;
float _Exposure;
float3 _CameraWorldPosition;
float _MipLevel;
float _Exposure;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.worldpos = mul(unity_ObjectToWorld, v.vertex);
o.normal = mul(unity_ObjectToWorld, float4(v.normal, 0)).xyz;
return o;
}
v2f vert(appdata v)
{
v2f o;
// Transform local to world before custom vertex code
o.positionWS = TransformObjectToWorld(v.positionOS.xyz);
o.positionWS = GetCameraRelativePositionWS(o.positionWS);
o.positionCS = TransformWorldToHClip(o.positionWS);
o.normalWS = TransformObjectToWorldNormal(v.normalOS);
return o;
}
float4 frag(v2f i) : SV_Target
{
//float3 view = normalize(i.worldpos - _CameraWorldPosition);
float3 V = normalize(i.positionWS - GetPrimaryCameraPosition());
float3 R = reflect(V, i.normalWS);
float4 color = SAMPLE_TEXTURECUBE_LOD(_Cubemap, sampler_Cubemap, R, _MipLevel).rgba;
color = color * exp2(_Exposure);
float4 frag(v2f i) : SV_Target
{
//float3 view = normalize(i.worldpos - _CameraWorldPosition);
float3 view = normalize(i.worldpos - _WorldSpaceCameraPos);
float3 reflected = reflect(view, i.normal);
float4 col = texCUBElod(_Cubemap,float4(reflected,_MipLevel));
col = col*exp2(_Exposure);
return col;
}
ENDCG
}
return float4(color);
}
ENDHLSL
}
}
}

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/HDAssetFactory.cs


}
}
[MenuItem("Assets/Create/Graphics/High Definition Render Pipeline Asset", priority = CoreUtils.assetCreateMenuPriority1)]
[MenuItem("Assets/Create/Rendering/High Definition Render Pipeline Asset", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateHDRenderPipeline()
{
var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon");

}
}
[MenuItem("Assets/Create/Graphics/High Definition Render Pipeline Resources", priority = CoreUtils.assetCreateMenuPriority1)]
[MenuItem("Assets/Create/Rendering/High Definition Render Pipeline Resources", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateRenderPipelineResources()
{
var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon");

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/HDRenderPipelineMenuItems.cs


}
}
[MenuItem("GameObject/Graphics/Scene Settings", priority = CoreUtils.gameObjectMenuPriority)]
[MenuItem("GameObject/Rendering/Scene Settings", priority = CoreUtils.gameObjectMenuPriority)]
static void CreateCustomGameObject(MenuCommand menuCommand)
{
var sceneSettings = new GameObject("Scene Settings");

class DoCreateNewAssetDiffusionProfileSettings : DoCreateNewAsset<DiffusionProfileSettings> {}
[MenuItem("Assets/Create/Graphics/Diffusion profile Settings", priority = CoreUtils.assetCreateMenuPriority2)]
[MenuItem("Assets/Create/Rendering/Diffusion profile Settings", priority = CoreUtils.assetCreateMenuPriority2)]
static void MenuCreateDiffusionProfile()
{
var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon");

14
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Lighting/HDLightEditor.cs


if (m_LightShape != LightShape.Directional)
settings.DrawRange(false);
EditorGUI.BeginChangeCheck(); // For GI we need to detect any change on additional data and call SetLightDirty
// LightShape is HD specific, it need to drive LightType from the original LightType
// when it make sense, so the GI is still in sync with the light shape
switch (m_LightShape)

Debug.Assert(false, "Not implemented light type");
break;
}
if (EditorGUI.EndChangeCheck())
{
((Light)target).SetLightDirty(); // Should be apply only to parameter that's affect GI, but make the code cleaner
}
}
void DrawLightSettings()

settings.DrawBounceIntensity();
settings.DrawLightmapping();
EditorGUI.BeginChangeCheck(); // For GI we need to detect any change on additional data and call SetLightDirty
// No cookie with area light (maybe in future textured area light ?)
if (m_LightShape != LightShape.Rectangle && m_LightShape != LightShape.Line)

EditorGUILayout.PropertyField(m_AdditionalLightData.lightDimmer, s_Styles.lightDimmer);
EditorGUILayout.PropertyField(m_AdditionalLightData.applyRangeAttenuation, s_Styles.applyRangeAttenuation);
EditorGUI.indentLevel--;
}
if (EditorGUI.EndChangeCheck())
{
((Light)target).SetLightDirty(); // Should be apply only to parameter that's affect GI, but make the code cleaner
}
}

7
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Editor/Material/Lit/BaseLitUI.cs


public enum DoubleSidedNormalMode
{
Flip,
Mirror
Mirror,
None
}
public enum TessellationMode

case DoubleSidedNormalMode.Flip: // Flip mode (in tangent space)
material.SetVector("_DoubleSidedConstants", new Vector4(-1.0f, -1.0f, -1.0f, 0.0f));
break;
case DoubleSidedNormalMode.None: // None mode (in tangent space)
material.SetVector("_DoubleSidedConstants", new Vector4(1.0f, 1.0f, 1.0f, 0.0f));
break;
}
}

51
ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDRenderPipeline.cs


using System.Diagnostics;
using System.Linq;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.Experimental.GlobalIllumination;
namespace UnityEngine.Experimental.Rendering.HDPipeline
{

rendererSupportsReflectionProbes = true
};
Lightmapping.SetDelegate(GlobalIlluminationUtils.hdLightsDelegate);
if (UnityEditor.PlayerSettings.colorSpace == ColorSpace.Gamma)
{
Debug.LogError("High Definition Render Pipeline doesn't support Gamma mode, change to Linear mode");
}
#endif
}

SupportedRenderingFeatures.active = new SupportedRenderingFeatures();
Lightmapping.ResetDelegate();
#if UNITY_EDITOR
SceneViewDrawMode.ResetDrawMode();
#endif

using (new ProfilingSample(cmd, "Push Global Parameters", CustomSamplerId.PushGlobalParameters.GetSampler()))
{
hdCamera.SetupGlobalParams(cmd);
if (m_FrameSettings.enableStereo)
hdCamera.SetupGlobalStereoParams(cmd);
m_SSSBufferManager.PushGlobalParams(cmd, sssParameters, m_FrameSettings);

// TODO: Float HDCamera setup higher in order to pass stereo into GetCullingParameters
ScriptableCullingParameters cullingParams;
if (!CullResults.GetCullingParameters(camera, out cullingParams))
if (!CullResults.GetCullingParameters(camera, m_FrameSettings.enableStereo, out cullingParams))
{
renderContext.Submit();
continue;

DecalSystem.instance.EndCull();
}
renderContext.SetupCameraProperties(camera);
renderContext.SetupCameraProperties(camera, m_FrameSettings.enableStereo);
PushGlobalParams(hdCamera, cmd, diffusionProfileSettings);

}
ConfigureForShadowMask(enableBakeShadowMask, cmd);
StartStereoRendering(renderContext, hdCamera.camera);
// TODO: Add stereo occlusion mask
bool forcePrepassForDecals = m_DbufferManager.vsibleDecalCount > 0;
RenderDepthPrepass(m_CullResults, hdCamera, renderContext, cmd, forcePrepassForDecals);

RenderPyramidDepth(hdCamera, cmd, renderContext, FullScreenDebugMode.DepthPyramid);
StopStereoRendering(renderContext, hdCamera.camera);
if (m_CurrentDebugDisplaySettings.IsDebugMaterialDisplayEnabled())
{

}
else
{
StartStereoRendering(renderContext, hdCamera.camera);
using (new ProfilingSample(cmd, "Render SSAO", CustomSamplerId.RenderSSAO.GetSampler()))
{
// TODO: Everything here (SSAO, Shadow, Build light list, deferred shadow, material and light classification can be parallelize with Async compute)

}
}
StopStereoRendering(renderContext, hdCamera.camera);
GPUFence buildGPULightListsCompleteFence = new GPUFence();
if (m_FrameSettings.enableAsyncCompute)
{

{
m_LightLoop.RenderShadows(renderContext, cmd, m_CullResults);
// TODO: check if statement below still apply
renderContext.SetupCameraProperties(camera); // Need to recall SetupCameraProperties after RenderShadows as it modify our view/proj matrix
renderContext.SetupCameraProperties(camera, m_FrameSettings.enableStereo); // Need to recall SetupCameraProperties after RenderShadows as it modify our view/proj matrix
}
using (new ProfilingSample(cmd, "Deferred directional shadows", CustomSamplerId.RenderDeferredDirectionalShadow.GetSampler()))

m_VolumetricLightingModule.VolumetricLightingPass(hdCamera, cmd, m_FrameSettings);
RenderDeferredLighting(hdCamera, cmd);
// Might float this higher if we enable stereo w/ deferred
StartStereoRendering(renderContext, hdCamera.camera);
RenderForward(m_CullResults, hdCamera, renderContext, cmd, ForwardPass.Opaque);
RenderForwardError(m_CullResults, hdCamera, renderContext, cmd, ForwardPass.Opaque);

AccumulateDistortion(m_CullResults, hdCamera, renderContext, cmd);
RenderDistortion(cmd, m_Asset.renderPipelineResources, hdCamera);
StopStereoRendering(renderContext, hdCamera.camera);
PushFullScreenDebugTexture(cmd, m_CameraColorBuffer, hdCamera, FullScreenDebugMode.NanTracker);
PushColorPickerDebugTexture(cmd, m_CameraColorBuffer, hdCamera);

StartStereoRendering(renderContext, hdCamera.camera);
// Final blit
if (m_FrameSettings.enablePostprocess && CoreUtils.IsPostProcessingActive(postProcessLayer))
{

HDUtils.BlitCameraTexture(cmd, hdCamera, m_CameraColorBuffer, BuiltinRenderTextureType.CameraTarget);
}
}
StopStereoRendering(renderContext, hdCamera.camera);
// Pushes to XR headset and/or display mirror
if (m_FrameSettings.enableStereo)
renderContext.StereoEndRender(hdCamera.camera);
}

}
// END TEMP
}
}
void StartStereoRendering(ScriptableRenderContext renderContext, Camera cam)
{
if (m_FrameSettings.enableStereo)
renderContext.StartMultiEye(cam);
}
void StopStereoRendering(ScriptableRenderContext renderContext, Camera cam)
{
if (m_FrameSettings.enableStereo)
renderContext.StopMultiEye(cam);
}
}
}

3
ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDStringConstants.cs


public static readonly int _TaaFrameIndex = Shader.PropertyToID("_TaaFrameIndex");
public static readonly int _TaaFrameRotation = Shader.PropertyToID("_TaaFrameRotation");
public static readonly int _InvProjMatrixStereo = Shader.PropertyToID("_InvProjMatrixStereo");
public static readonly int _InvViewProjMatrixStereo = Shader.PropertyToID("_InvViewProjMatrixStereo");
public static readonly int _DepthTexture = Shader.PropertyToID("_DepthTexture");
public static readonly int _CameraColorTexture = Shader.PropertyToID("_CameraColorTexture");
public static readonly int _CameraSssDiffuseLightingBuffer = Shader.PropertyToID("_CameraSssDiffuseLightingTexture");

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/HDUtils.cs


public const RendererConfiguration k_RendererConfigurationBakedLighting = RendererConfiguration.PerObjectLightProbe | RendererConfiguration.PerObjectLightmaps | RendererConfiguration.PerObjectLightProbeProxyVolume;
public const RendererConfiguration k_RendererConfigurationBakedLightingWithShadowMask = k_RendererConfigurationBakedLighting | RendererConfiguration.PerObjectOcclusionProbe | RendererConfiguration.PerObjectOcclusionProbeProxyVolume | RendererConfiguration.PerObjectShadowMask;
static public HDAdditionalReflectionData s_DefaultHDAdditionalReflectionData { get { return ComponentSingleton<HDAdditionalReflectionData>.instance; } }
static public HDAdditionalLightData s_DefaultHDAdditionalLightData { get { return ComponentSingleton<HDAdditionalLightData>.instance; } }
static public HDAdditionalCameraData s_DefaultHDAdditionalCameraData { get { return ComponentSingleton<HDAdditionalCameraData>.instance; } }
public static Material GetBlitMaterial()
{
HDRenderPipeline hdPipeline = RenderPipelineManager.currentPipeline as HDRenderPipeline;

20
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoop.cs


public static int s_TileSizeClustered = 32;
// feature variants
public static int s_NumFeatureVariants = 27;
public static int s_NumFeatureVariants = 27;
// Following define the maximum number of bits use in each feature category.
public static uint s_LightFeatureMaskFlags = 0xFFF000;

static Texture2DArray s_DefaultTexture2DArray;
static Cubemap s_DefaultTextureCube;
static HDAdditionalReflectionData defaultHDAdditionalReflectionData { get { return ComponentSingleton<HDAdditionalReflectionData>.instance; } }
static HDAdditionalLightData defaultHDAdditionalLightData { get { return ComponentSingleton<HDAdditionalLightData>.instance; } }
static HDAdditionalCameraData defaultHDAdditionalCameraData { get { return ComponentSingleton<HDAdditionalCameraData>.instance; } }
PlanarReflectionProbeCache m_ReflectionPlanarProbeCache;
ReflectionProbeCache m_ReflectionProbeCache;

directionalLightData.positionWS = light.light.transform.position;
directionalLightData.color = GetLightColor(light);
// Caution: This is bad but if additionalData == defaultHDAdditionalLightData it mean we are trying to promote legacy lights, which is the case for the preview for example, so we need to multiply by PI as legacy Unity do implicit divide by PI for direct intensity.
// So we expect that all light with additionalData == defaultHDAdditionalLightData are currently the one from the preview, light in scene MUST have additionalData
directionalLightData.color *= (defaultHDAdditionalLightData == additionalData) ? Mathf.PI : 1.0f;
// Caution: This is bad but if additionalData == HDUtils.s_DefaultHDAdditionalLightData it mean we are trying to promote legacy lights, which is the case for the preview for example, so we need to multiply by PI as legacy Unity do implicit divide by PI for direct intensity.
// So we expect that all light with additionalData == HDUtils.s_DefaultHDAdditionalLightData are currently the one from the preview, light in scene MUST have additionalData
directionalLightData.color *= (HDUtils.s_DefaultHDAdditionalLightData == additionalData) ? Mathf.PI : 1.0f;
directionalLightData.diffuseScale = additionalData.affectDiffuse ? diffuseDimmer : 0.0f;
directionalLightData.specularScale = additionalData.affectSpecular ? specularDimmer : 0.0f;

{
var light = cullResults.visibleLights[lightIndex];
// Light should always have additional data, however preview light right don't have, so we must handle the case by assigning defaultHDAdditionalLightData
// Light should always have additional data, however preview light right don't have, so we must handle the case by assigning HDUtils.s_DefaultHDAdditionalLightData
var additionalData = GetHDAdditionalLightData(light);
LightCategory lightCategory = LightCategory.Count;

m_enableBakeShadowMask = m_enableBakeShadowMask || IsBakedShadowMaskLight(light.light);
// Light should always have additional data, however preview light right don't have, so we must handle the case by assigning defaultHDAdditionalLightData
// Light should always have additional data, however preview light right don't have, so we must handle the case by assigning HDUtils.s_DefaultHDAdditionalLightData
var additionalLightData = GetHDAdditionalLightData(light);
var additionalShadowData = light.light.GetComponent<AdditionalShadowData>(); // Can be null

var add = probe.probe.GetComponent<HDAdditionalReflectionData>();
if (add == null)
{
add = defaultHDAdditionalReflectionData;
add = HDUtils.s_DefaultHDAdditionalReflectionData;
add.blendDistancePositive = Vector3.one * probe.blendDistance;
add.blendDistanceNegative = add.blendDistancePositive;
add.influenceShape = ShapeType.Box;

var add = light.light.GetComponent<HDAdditionalLightData>();
if (add == null)
{
add = defaultHDAdditionalLightData;
add = HDUtils.s_DefaultHDAdditionalLightData;
}
return add;
}

18
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoop.hlsl


if (featureFlags & LIGHTFEATUREFLAGS_SSREFRACTION)
{
IndirectLighting lighting = EvaluateBSDF_SSRefraction(context, V, posInput, preLightData, bsdfData, refractionHierarchyWeight);
IndirectLighting lighting = EvaluateBSDF_SSLighting(
context,
V,
posInput,
preLightData,
bsdfData,
GPUIMAGEBASEDLIGHTINGTYPE_REFRACTION,
refractionHierarchyWeight);
IndirectLighting lighting = EvaluateBSDF_SSReflection(context, V, posInput, preLightData, bsdfData, reflectionHierarchyWeight);
IndirectLighting lighting = EvaluateBSDF_SSLighting(
context,
V,
posInput,
preLightData,
bsdfData,
GPUIMAGEBASEDLIGHTINGTYPE_REFLECTION,
reflectionHierarchyWeight);
AccumulateIndirectLighting(lighting, aggregateLighting);
}

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoopDef.hlsl


if (cacheType == ENVCACHETYPE_TEXTURE2D)
{
//_Env2DCaptureVP is in capture space
float4 ndc = ComputeClipSpacePosition(texCoord, _Env2DCaptureVP[index]);
ndc *= rcp(ndc.w);
ndc.xy = ndc.xy * 0.5 + 0.5;
float3 ndc = ComputeNormalizedDeviceCoordinatesWithZ(texCoord, _Env2DCaptureVP[index]);
color.rgb = SAMPLE_TEXTURE2D_ARRAY_LOD(_Env2DTextures, s_trilinear_clamp_sampler, ndc.xy, index, 0).rgb;
color.a = any(ndc.xyz < 0) || any(ndc.xyz > 1) ? 0.0 : 1.0;

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/LightLoopSettings.cs


// When MSAA is enabled we disable Fptl as it become expensive compare to cluster
// In HD, MSAA is only supported for forward only rendering, no MSAA in deferred mode (for code complexity reasons)
aggregate.enableFptlForForwardOpaque = aggregate.enableFptlForForwardOpaque && !aggregateFrameSettings.enableMSAA;
// disable FPTL for stereo for now
aggregate.enableFptlForForwardOpaque = aggregate.enableFptlForForwardOpaque && !aggregateFrameSettings.enableStereo;
// If Deferred, enable Fptl. If we are forward renderer only and not using Fptl for forward opaque, disable Fptl
aggregate.isFptlEnabled = !aggregateFrameSettings.enableForwardRenderingOnly || aggregate.enableFptlForForwardOpaque;
}

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/LightLoop/lightlistbuild-clustered.compute


{
uint2 uPixCrd = min( uint2(viTilLL.x+(idx&(TILE_SIZE_CLUSTERED-1)), viTilLL.y+(idx>>log2TileSize)), uint2(g_screenSize.x-1, g_screenSize.y-1) );
#ifdef MSAA_ENABLED
for(uint i=0; i<g_iNumSamplesMSAA; i++)
for(int i=0; i<g_iNumSamplesMSAA; i++)
{
const float fDpth = FetchDepthMSAA(g_depth_tex, uPixCrd, i);
#else

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Reflection/ProbeWrapper.cs


class VisibleReflectionProbeWrapper : ProbeWrapper
{
static HDAdditionalReflectionData defaultHDAdditionalReflectionData { get { return ComponentSingleton<HDAdditionalReflectionData>.instance; } }
VisibleReflectionProbe probe;
HDAdditionalReflectionData additional;

var add = probe.probe.GetComponent<HDAdditionalReflectionData>();
if (add == null)
{
add = defaultHDAdditionalReflectionData;
add = HDUtils.s_DefaultHDAdditionalReflectionData;
add.blendDistancePositive = Vector3.one * probe.blendDistance;
add.blendDistanceNegative = add.blendDistancePositive;
add.influenceShape = ShapeType.Box;

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/Volumetrics/HomogeneousFog.cs


namespace UnityEngine.Experimental.Rendering.HDPipeline
{
[ExecuteInEditMode]
[AddComponentMenu("RenderPipeline/High Definition/Homogenous Fog", -1)]
[AddComponentMenu("Rendering/Homogenous Fog", 1100)]
public class HomogeneousFog : MonoBehaviour
{
public VolumeParameters volumeParameters = new VolumeParameters();

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Decal/DecalUtilities.hlsl


#include "Decal.hlsl"
DECLARE_DBUFFER_TEXTURE(_DBufferTexture);
DECLARE_DBUFFER_TEXTURE(_DBufferTexture);
void AddDecalContribution(uint2 unPositionSS, inout SurfaceData surfaceData)
{

FETCH_DBUFFER(DBuffer, _DBufferTexture, unPositionSS);
DecalSurfaceData decalSurfaceData;
DECODE_FROM_DBUFFER(DBuffer, decalSurfaceData);
uint mask = UnpackByte(LOAD_TEXTURE2D(_DecalHTileTexture, unPositionSS / 8));
uint mask = UnpackByte(LOAD_TEXTURE2D(_DecalHTileTexture, unPositionSS / 8).x);
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
if(mask & DBUFFERHTILEBIT_DIFFUSE)

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLit.shader


[ToggleUI] _EnableBlendModePreserveSpecularLighting("Enable Blend Mode Preserve Specular Lighting", Float) = 1.0
[ToggleUI] _DoubleSidedEnable("Double sided enable", Float) = 0.0
[Enum(Flip, 0, Mirror, 1)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[Enum(Flip, 0, Mirror, 1, None, 2)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[HideInInspector] _DoubleSidedConstants("_DoubleSidedConstants", Vector) = (1, 1, -1, 0)
// For layering, due to combinatorial explosion, we only support SSS/Transmission and Standard. We let other case for the shader graph

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLitDataDisplacement.hlsl


// Since the result is used as a 'depthOffsetVS', it needs to be positive, so we flip the sign. { height = -height + 1 }.
float verticalDisplacement = maxHeight - height * maxHeight;
return verticalDisplacement / max(NdotV, 0.001);
return verticalDisplacement / ClampNdotV(NdotV);
#else
return 0.0;
#endif

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/LayeredLit/LayeredLitTessellation.shader


[ToggleUI] _EnableBlendModePreserveSpecularLighting("Enable Blend Mode Preserve Specular Lighting", Float) = 1.0
[ToggleUI] _DoubleSidedEnable("Double sided enable", Float) = 0.0
[Enum(Flip, 0, Mirror, 1)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[Enum(Flip, 0, Mirror, 1, None, 2)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[HideInInspector] _DoubleSidedConstants("_DoubleSidedConstants", Vector) = (1, 1, -1, 0)
// For layering, due to combinatorial explosion, we only support SSS/Transmission and Standard. We let other case for the shader graph

167
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/Lit.hlsl


// Precomputed lighting data to send to the various lighting functions
struct PreLightData
{
// General
float clampNdotV; // clamped NdotV
float NdotV; // Could be negative due to normal mapping, use ClampNdotV()
// GGX
float partLambdaV;

float3 iblR; // Dominant specular direction, used for IBL in EvaluateBSDF_Env()
float iblPerceptualRoughness;
float3 specularFGD; // Store preconvoled BRDF for both specular and diffuse
float diffuseFGD;
float3 specularFGD; // Store preconvoled BRDF for both specular and diffuse
float diffuseFGD;
float3x3 orthoBasisViewNormal; // Right-handed view-dependent orthogonal basis around the normal (6x VGPRs)
float3x3 ltcTransformDiffuse; // Inverse transformation for Lambertian or Disney Diffuse (4x VGPRs)
float3x3 ltcTransformSpecular; // Inverse transformation for GGX (4x VGPRs)
float3x3 orthoBasisViewNormal; // Right-handed view-dependent orthogonal basis around the normal (6x VGPRs)
float3x3 ltcTransformDiffuse; // Inverse transformation for Lambertian or Disney Diffuse (4x VGPRs)
float3x3 ltcTransformSpecular; // Inverse transformation for GGX (4x VGPRs)
float ltcMagnitudeDiffuse;
float3 ltcMagnitudeFresnel;

float coatIblF; // Fresnel term for view vector
float3x3 ltcTransformCoat; // Inverse transformation for GGX (4x VGPRs)
float coatIblF; // Fresnel term for view vector
float3x3 ltcTransformCoat; // Inverse transformation for GGX (4x VGPRs)
float3 transparentRefractV; // refracted view vector after exiting the shape
float3 transparentPositionWS; // start of the refracted ray after exiting the shape
float3 transparentTransmittance; // transmittance due to absorption
float transparentSSMipLevel; // mip level of the screen space gaussian pyramid for rough refraction
float3 transparentRefractV; // refracted view vector after exiting the shape
float3 transparentPositionWS; // start of the refracted ray after exiting the shape
float3 transparentTransmittance; // transmittance due to absorption
float transparentSSMipLevel; // mip level of the screen space gaussian pyramid for rough refraction
};
PreLightData GetPreLightData(float3 V, PositionInputs posInput, BSDFData bsdfData)

float3 N = bsdfData.normalWS;
float NdotV = saturate(dot(N, V));
preLightData.clampNdotV = NdotV; // Caution: The handling of edge cases where N is directed away from the screen is handled during Gbuffer/forward pass, so here do nothing
preLightData.NdotV = dot(N, V);
float NdotV = ClampNdotV(preLightData.NdotV);
if (HasFeatureFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_CLEAR_COAT))
{

preLightData.ltcTransformSpecular._m00_m02_m11_m20 = SAMPLE_TEXTURE2D_ARRAY_LOD(_LtcData, s_linear_clamp_sampler, uv, LTC_GGX_MATRIX_INDEX, 0);
// Construct a right-handed view-dependent orthogonal basis around the normal
preLightData.orthoBasisViewNormal[0] = normalize(V - N * NdotV);
preLightData.orthoBasisViewNormal[0] = normalize(V - N * preLightData.NdotV); // Do not clamp NdotV here
preLightData.orthoBasisViewNormal[2] = N;
preLightData.orthoBasisViewNormal[1] = cross(preLightData.orthoBasisViewNormal[2], preLightData.orthoBasisViewNormal[0]);

{
float3 N = bsdfData.normalWS;
float NdotV = preLightData.clampNdotV;
float LdotV = dot(L, V);
float invLenLV = rsqrt(max(2.0 * LdotV + 2.0, FLT_EPS)); // invLenLV = rcp(length(L + V)) - caution about the case where V and L are opposite, it can happen, use max to avoid this
float NdotH = saturate((NdotL + NdotV) * invLenLV);
float LdotH = saturate(invLenLV * LdotV + invLenLV);
float LdotV = dot(L, V);
float invLenLV = rsqrt(max(2.0 * LdotV + 2.0, FLT_EPS)); // invLenLV = rcp(length(L + V)), clamp to avoid rsqrt(0) = NaN
float NdotH = saturate((NdotL + preLightData.NdotV) * invLenLV); // Do not clamp NdotV here
float LdotH = saturate(invLenLV * LdotV + invLenLV);
float NdotV = ClampNdotV(preLightData.NdotV);
float3 F = F_Schlick(bsdfData.fresnel0, LdotH);
float DV;

float3 H = (L + V) * invLenLV;
// For anisotropy we must not saturate these values
float TdotH = dot(bsdfData.tangentWS, H);
float TdotL = dot(bsdfData.tangentWS, L);

[branch] if (HasFeatureFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_TRANSMISSION))
{
// We use diffuse lighting for accumulation since it is going to be blurred during the SSS pass.
lighting.diffuse += EvaluateTransmission(bsdfData, NdotL, preLightData.clampNdotV, attenuation * lightData.diffuseScale);
lighting.diffuse += EvaluateTransmission(bsdfData, NdotL, ClampNdotV(preLightData.NdotV), attenuation * lightData.diffuseScale);
}
// Save ALU by applying light and cookie colors only once.

[branch] if (HasFeatureFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_TRANSMISSION))
{
// We use diffuse lighting for accumulation since it is going to be blurred during the SSS pass.
lighting.diffuse += EvaluateTransmission(bsdfData, NdotL, preLightData.clampNdotV, attenuation * lightData.diffuseScale);
lighting.diffuse += EvaluateTransmission(bsdfData, NdotL, ClampNdotV(preLightData.NdotV), attenuation * lightData.diffuseScale);
}
// Save ALU by applying light and cookie colors only once.

#endif
return lighting;
}
DirectLighting EvaluateBSDF_Area(LightLoopContext lightLoopContext,
float3 V, PositionInputs posInput,
PreLightData preLightData, LightData lightData,
BSDFData bsdfData, BakeLightingData bakeLightingData)
{
if (lightData.lightType == GPULIGHTTYPE_LINE)
{
return EvaluateBSDF_Line(lightLoopContext, V, posInput, preLightData, lightData, bsdfData, bakeLightingData);
}
else
{
return EvaluateBSDF_Rect(lightLoopContext, V, posInput, preLightData, lightData, bsdfData, bakeLightingData);
}
}
//-----------------------------------------------------------------------------

IndirectLighting EvaluateBSDF_SSReflection(LightLoopContext lightLoopContext,
IndirectLighting EvaluateBSDF_SSLighting(LightLoopContext lightLoopContext,
int GPUImageBasedLightingType,
// TODO
return lighting;
}
IndirectLighting EvaluateBSDF_SSRefraction(LightLoopContext lightLoopContext,
float3 V, PositionInputs posInput,
PreLightData preLightData, BSDFData bsdfData,
inout float hierarchyWeight)
{
IndirectLighting lighting;
ZERO_INITIALIZE(IndirectLighting, lighting);
switch (GPUImageBasedLightingType)
{
case GPUIMAGEBASEDLIGHTINGTYPE_REFRACTION:
{
// Refraction process:
// 1. Depending on the shape model, we calculate the refracted point in world space and the optical depth
// 2. We calculate the screen space position of the refracted point
// 3. If this point is available (ie: in color buffer and point is not in front of the object)
// a. Get the corresponding color depending on the roughness from the gaussian pyramid of the color buffer
// b. Multiply by the transmittance for absorption (depends on the optical depth)
// Refraction process:
// 1. Depending on the shape model, we calculate the refracted point in world space and the optical depth
// 2. We calculate the screen space position of the refracted point
// 3. If this point is available (ie: in color buffer and point is not in front of the object)
// a. Get the corresponding color depending on the roughness from the gaussian pyramid of the color buffer
// b. Multiply by the transmittance for absorption (depends on the optical depth)
float3 refractedBackPointWS = EstimateRaycast(V, posInput, preLightData.transparentPositionWS, preLightData.transparentRefractV);
float3 refractedBackPointWS = EstimateRaycast(V, posInput, preLightData.transparentPositionWS, preLightData.transparentRefractV);
// Calculate screen space coordinates of refracted point in back plane
float2 refractedBackPointNDC = ComputeNormalizedDeviceCoordinates(refractedBackPointWS, UNITY_MATRIX_VP);
uint2 depthSize = uint2(_PyramidDepthMipSize.xy);
float refractedBackPointDepth = LinearEyeDepth(LOAD_TEXTURE2D_LOD(_PyramidDepthTexture, refractedBackPointNDC * depthSize, 0).r, _ZBufferParams);
// Calculate screen space coordinates of refracted point in back plane
float2 refractedBackPointNDC = ComputeNormalizedDeviceCoordinates(refractedBackPointWS, UNITY_MATRIX_VP);
uint2 depthSize = uint2(_PyramidDepthMipSize.xy);
float refractedBackPointDepth = LinearEyeDepth(LOAD_TEXTURE2D_LOD(_PyramidDepthTexture, refractedBackPointNDC * depthSize, 0).r, _ZBufferParams);
// Exit if texel is out of color buffer
// Or if the texel is from an object in front of the object
if (refractedBackPointDepth < posInput.linearDepth
|| any(refractedBackPointNDC < 0.0)
|| any(refractedBackPointNDC > 1.0))
{
// Do nothing and don't update the hierarchy weight so we can fall back on refraction probe
return lighting;
}
// Exit if texel is out of color buffer
// Or if the texel is from an object in front of the object
if (refractedBackPointDepth < posInput.linearDepth
|| any(refractedBackPointNDC < 0.0)
|| any(refractedBackPointNDC > 1.0))
{
// Do nothing and don't update the hierarchy weight so we can fall back on refraction probe
return lighting;
}
// Map the roughness to the correct mip map level of the color pyramid
lighting.specularTransmitted = SAMPLE_TEXTURE2D_LOD(_GaussianPyramidColorTexture, s_trilinear_clamp_sampler, refractedBackPointNDC * _GaussianPyramidColorMipSize.xy, preLightData.transparentSSMipLevel).rgb;
// Map the roughness to the correct mip map level of the color pyramid
lighting.specularTransmitted = SAMPLE_TEXTURE2D_LOD(_GaussianPyramidColorTexture, s_trilinear_clamp_sampler, refractedBackPointNDC * _GaussianPyramidColorMipSize.xy, preLightData.transparentSSMipLevel).rgb;
// Beer-Lamber law for absorption
lighting.specularTransmitted *= preLightData.transparentTransmittance;
// Beer-Lamber law for absorption
lighting.specularTransmitted *= preLightData.transparentTransmittance;
float weight = 1.0;
UpdateLightingHierarchyWeights(hierarchyWeight, weight); // Shouldn't be needed, but safer in case we decide to change hierarchy priority
// We use specularFGD as an approximation of the fresnel effect (that also handle smoothness), so take the remaining for transmission
lighting.specularTransmitted *= (1.0 - preLightData.specularFGD) * weight;
float weight = 1.0;
UpdateLightingHierarchyWeights(hierarchyWeight, weight); // Shouldn't be needed, but safer in case we decide to change hierarchy priority
// We use specularFGD as an approximation of the fresnel effect (that also handle smoothness), so take the remaining for transmission
lighting.specularTransmitted *= (1.0 - preLightData.specularFGD) * weight;
// No refraction, no need to go further
hierarchyWeight = 1.0;
// No refraction, no need to go further
hierarchyWeight = 1.0;
break;
}
case GPUIMAGEBASEDLIGHTINGTYPE_REFLECTION:
{
break;
}
}
}
DirectLighting EvaluateBSDF_Area(LightLoopContext lightLoopContext,
float3 V, PositionInputs posInput,
PreLightData preLightData, LightData lightData,
BSDFData bsdfData, BakeLightingData bakeLightingData)
{
if (lightData.lightType == GPULIGHTTYPE_LINE)
{
return EvaluateBSDF_Line(lightLoopContext, V, posInput, preLightData, lightData, bsdfData, bakeLightingData);
}
else
{
return EvaluateBSDF_Rect(lightLoopContext, V, posInput, preLightData, lightData, bsdfData, bakeLightingData);
}
}
//-----------------------------------------------------------------------------

#endif
float roughness = PerceptualRoughnessToRoughness(bsdfData.perceptualRoughness);
float specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(preLightData.clampNdotV, indirectAmbientOcclusion, roughness);
float specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(preLightData.NdotV), indirectAmbientOcclusion, roughness);
// Try to mimic multibounce with specular color. Not the point of the original formula but ok result.
// Take the min of screenspace specular occlusion and visibility cone specular occlusion
#if GTAO_MULTIBOUNCE_APPROX

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/Lit.shader


[ToggleUI] _EnableBlendModePreserveSpecularLighting("Enable Blend Mode Preserve Specular Lighting", Float) = 1.0
[ToggleUI] _DoubleSidedEnable("Double sided enable", Float) = 0.0
[Enum(Flip, 0, Mirror, 1)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[Enum(Flip, 0, Mirror, 1, None, 2)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[HideInInspector] _DoubleSidedConstants("_DoubleSidedConstants", Vector) = (1, 1, -1, 0)
[Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5)] _UVBase("UV Set for base", Float) = 0

6
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitData.hlsl


float alpha = GetSurfaceData(input, layerTexCoord, surfaceData, normalTS, bentNormalTS);
GetNormalWS(input, V, normalTS, surfaceData.normalWS);
// Ensure that the normal is front-facing.
float NdotV;
surfaceData.normalWS = GetViewReflectedNormal(surfaceData.normalWS, V, NdotV);
// Use bent normal to sample GI if available
#ifdef _BENTNORMALMAP
GetNormalWS(input, V, bentNormalTS, bentNormalWS);

// If we have bent normal and ambient occlusion, process a specular occlusion
surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData);
#elif defined(_MASKMAP)
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(NdotV, surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
#else
surfaceData.specularOcclusion = 1.0;
#endif

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitDataDisplacement.hlsl


// Since POM "pushes" geometry inwards (rather than extrude it), { height = height - 1 }.
// Since the result is used as a 'depthOffsetVS', it needs to be positive, so we flip the sign.
float verticalDisplacement = maxHeight - height * maxHeight;
return verticalDisplacement / max(NdotV, 0.001);
return verticalDisplacement / ClampNdotV(NdotV);
#else
return 0.0;
#endif

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitReference.hlsl


uint sampleCount = 4096)
{
float3x3 localToWorld = float3x3(bsdfData.tangentWS, bsdfData.bitangentWS, bsdfData.normalWS);
float NdotV = preLightData.clampNdotV;
float NdotV = ClampNdotV(dot(bsdfData.normalWS, V));
float3 acc = float3(0.0, 0.0, 0.0);
// Add some jittering on Hammersley2d

localToWorld = GetLocalFrame(bsdfData.normalWS);
}
float NdotV = preLightData.clampNdotV;
float NdotV = ClampNdotV(dot(bsdfData.normalWS, V));
float3 acc = float3(0.0, 0.0, 0.0);
// Add some jittering on Hammersley2d

2
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Material/Lit/LitTessellation.shader


[ToggleUI] _EnableBlendModePreserveSpecularLighting("Enable Blend Mode Preserve Specular Lighting", Float) = 1.0
[ToggleUI] _DoubleSidedEnable("Double sided enable", Float) = 0.0
[Enum(Flip, 0, Mirror, 1)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[Enum(Flip, 0, Mirror, 1, None, 2)] _DoubleSidedNormalMode("Double sided normal mode", Float) = 1
[HideInInspector] _DoubleSidedConstants("_DoubleSidedConstants", Vector) = (1, 1, -1, 0)
[Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5)] _UVBase("UV Set for base", Float) = 0

26
ScriptableRenderPipeline/HDRenderPipeline/HDRP/RenderPipeline/FrameSettings.cs


aggregate.enablePostprocess = camera.cameraType != CameraType.Reflection && srcFrameSettings.enablePostprocess;
aggregate.enableStereo = camera.cameraType != CameraType.Reflection && srcFrameSettings.enableStereo && XRSettings.isDeviceActive && (camera.stereoTargetEye == StereoTargetEyeMask.Both) && renderPipelineSettings.supportStereo;
// Force forward if we request stereo. TODO: We should not enforce that, users should be able to chose deferred
aggregate.enableForwardRenderingOnly = aggregate.enableForwardRenderingOnly || aggregate.enableStereo;
aggregate.enableAsyncCompute = srcFrameSettings.enableAsyncCompute && SystemInfo.supportsAsyncCompute;

aggregate.enableMSAA = srcFrameSettings.enableMSAA && renderPipelineSettings.supportMSAA;
aggregate.ConfigureMSAADependentSettings();
aggregate.ConfigureMSAADependentSettings();
aggregate.ConfigureStereoDependentSettings();
if (camera.cameraType == CameraType.Preview)
{

enableSSR = false;
enableSubsurfaceScattering = false;
enableTransparentObjects = false; // waiting on depth pyramid generation
}
}
public void ConfigureStereoDependentSettings()
{
if (enableStereo)
{
// Force forward if we request stereo. TODO: We should not enforce that, users should be able to chose deferred
enableForwardRenderingOnly = true;
// TODO: The work will be implemented piecemeal to support all passes
enableMotionVectors = false;
enableDBuffer = false;
enableDistortion = false;
enablePostprocess = false;
enableRoughRefraction = false;
enableSSAO = false;
enableSSR = false;
enableSubsurfaceScattering = false;
enableTransparentObjects = false;
}
}

10
ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariables.hlsl


float4 _FrustumPlanes[6]; // {(a, b, c) = N, d = -dot(N, P)} [L, R, T, B, N, F]
CBUFFER_END
// Custom generated by HDRP, not from Unity Engine (passed in via HDCamera)
#if defined(USING_STEREO_MATRICES)
CBUFFER_START(UnityPerPassStereo)
float4x4 _InvProjMatrixStereo[2];
float4x4 _InvViewProjMatrixStereo[2];
CBUFFER_END
#endif // USING_STEREO_MATRICES
float4x4 OptimizeProjectionMatrix(float4x4 M)
{
// Matrix format (x = non-constant value).

19
ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariablesMatrixDefsHDCamera.hlsl


#ifndef UNITY_SHADER_VARIABLES_MATRIX_DEFS_HDCAMERA_INCLUDED
#define UNITY_SHADER_VARIABLES_MATRIX_DEFS_HDCAMERA_INCLUDED
#if defined(USING_STEREO_MATRICES)
#define UNITY_MATRIX_M unity_ObjectToWorld
#define UNITY_MATRIX_I_M unity_WorldToObject
#define UNITY_MATRIX_V unity_StereoMatrixV[unity_StereoEyeIndex]
#define UNITY_MATRIX_I_V unity_StereoMatrixInvV[unity_StereoEyeIndex]
#define UNITY_MATRIX_P OptimizeProjectionMatrix(unity_StereoMatrixP[unity_StereoEyeIndex])
#define UNITY_MATRIX_I_P _InvProjMatrixStereo[unity_StereoEyeIndex]
#define UNITY_MATRIX_VP unity_StereoMatrixVP[unity_StereoEyeIndex]
#define UNITY_MATRIX_I_VP _InvViewProjMatrixStereo[unity_StereoEyeIndex]
#else
#define UNITY_MATRIX_M unity_ObjectToWorld
#define UNITY_MATRIX_I_M unity_WorldToObject
#define UNITY_MATRIX_V _ViewMatrix

#define UNITY_MATRIX_VP _ViewProjMatrix
#define UNITY_MATRIX_I_VP _InvViewProjMatrix
#define UNITY_MATRIX_MV mul(UNITY_MATRIX_V, UNITY_MATRIX_M)
#define UNITY_MATRIX_T_MV transpose(UNITY_MATRIX_MV)
#define UNITY_MATRIX_IT_MV transpose(mul(UNITY_MATRIX_I_M, UNITY_MATRIX_I_V))
#define UNITY_MATRIX_MVP mul(UNITY_MATRIX_VP, UNITY_MATRIX_M)
#endif // USING_STEREO_MATRICES
#endif // UNITY_SHADER_VARIABLES_MATRIX_DEFS_HDCAMERA_INCLUDED

4
ScriptableRenderPipeline/HDRenderPipeline/HDRP/ShaderVariablesMatrixDefsLegacyUnity.hlsl


#define UNITY_MATRIX_I_P ERROR_UNITY_MATRIX_I_P_IS_NOT_DEFINED
#define UNITY_MATRIX_VP unity_MatrixVP
#define UNITY_MATRIX_I_VP ERROR_UNITY_MATRIX_I_VP_IS_NOT_DEFINED
#define UNITY_MATRIX_MV mul(UNITY_MATRIX_V, UNITY_MATRIX_M)
#define UNITY_MATRIX_T_MV transpose(UNITY_MATRIX_MV)
#define UNITY_MATRIX_IT_MV transpose(mul(UNITY_MATRIX_I_M, UNITY_MATRIX_I_V))
#define UNITY_MATRIX_MVP mul(UNITY_MATRIX_VP, UNITY_MATRIX_M)
#endif // UNITY_SHADER_VARIABLES_MATRIX_DEFS_LEGACY_UNITY_INCLUDED

4
ScriptableRenderPipeline/HDRenderPipeline/package.json


{
"name": "com.unity.render-pipelines.high-definition",
"description": "HD Render Pipeline for Unity.",
"version": "0.1.28",
"version": "0.1.29",
"com.unity.render-pipelines.core": "0.1.28"
"com.unity.render-pipelines.core": "0.1.29"
}
}

16
ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineAsset.cs


#if UNITY_EDITOR
[NonSerialized]
[MenuItem("Assets/Create/Graphics/Lightweight Pipeline Asset", priority = CoreUtils.assetCreateMenuPriority1)]
[MenuItem("Assets/Create/Rendering/Lightweight Pipeline Asset", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateLightweightPipeline()
{
ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, CreateInstance<CreateLightweightPipelineAsset>(),

//[MenuItem("Assets/Create/Graphics/Lightweight Pipeline Resources", priority = CoreUtils.assetCreateMenuPriority1)]
//[MenuItem("Assets/Create/Rendering/Lightweight Pipeline Resources", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateLightweightPipelineResources()
{
var instance = CreateInstance<LightweightPipelineResources>();

//[MenuItem("Assets/Create/Graphics/Lightweight Pipeline Editor Resources", priority = CoreUtils.assetCreateMenuPriority1)]
//[MenuItem("Assets/Create/Rendering/Lightweight Pipeline Editor Resources", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateLightweightPipelineEditorResources()
{
var instance = CreateInstance<LightweightPipelineEditorResources>();

protected override IRenderPipeline InternalCreatePipeline()
{
return new LightweightPipeline(this);
}
void OnValidate()
{
DestroyCreatedInstances();
}
private Material GetMaterial(DefaultMaterialType materialType)

public Shader CopyDepthShader
{
get { return resources != null ? resources.CopyDepthShader : null; }
}
public Shader ScreenSpaceShadowShader
{
get { return resources != null ? resources.ScreenSpaceShadowShader : null; }
}
}
}

2
ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineResources.asset


m_EditorClassIdentifier:
BlitShader: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
CopyDepthShader: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
ScreenSpaceShadowShader: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
type: 3}

1
ScriptableRenderPipeline/LightweightPipeline/LWRP/Data/LightweightPipelineResources.cs


{
public Shader BlitShader;
public Shader CopyDepthShader;
public Shader ScreenSpaceShadowShader;
}

104
ScriptableRenderPipeline/LightweightPipeline/LWRP/LightweightPipeline.cs


// we need use copyColor RT as a work RT.
public static int copyColor;
// Camera depth target. Only used when post processing or soft particles are enabled.
// Camera depth target. Only used when post processing, soft particles, or screen space shadows are enabled.
public static int depth;
// If soft particles are enabled and no depth prepass is performed we need to copy depth.

private const int kMaxCascades = 4;
private int m_ShadowCasterCascadesCount;
private int m_ShadowMapRTID;
private int m_ScreenSpaceShadowMapRTID;
private RenderTargetIdentifier m_ScreenSpaceShadowMapRT;
private RenderTargetIdentifier m_ColorRT;
private RenderTargetIdentifier m_CopyColorRT;
private RenderTargetIdentifier m_DepthRT;

private Material m_BlitMaterial;
private Material m_CopyDepthMaterial;
private Material m_ErrorMaterial;
private Material m_ScreenSpaceShadowsMaterial;
private int m_BlitTexID = Shader.PropertyToID("_BlitTex");
private CopyTextureSupport m_CopyTextureSupport;

ShadowConstantBuffer._ShadowmapSize = Shader.PropertyToID("_ShadowmapSize");
m_ShadowMapRTID = Shader.PropertyToID("_ShadowMap");
m_ScreenSpaceShadowMapRTID = Shader.PropertyToID("_ScreenSpaceShadowMap");
CameraRenderTargetID.color = Shader.PropertyToID("_CameraColorRT");
CameraRenderTargetID.copyColor = Shader.PropertyToID("_CameraCopyColorRT");

m_ShadowMapRT = new RenderTargetIdentifier(m_ShadowMapRTID);
m_ScreenSpaceShadowMapRT = new RenderTargetIdentifier(m_ScreenSpaceShadowMapRTID);
m_ColorRT = new RenderTargetIdentifier(CameraRenderTargetID.color);
m_CopyColorRT = new RenderTargetIdentifier(CameraRenderTargetID.copyColor);

m_BlitQuad = LightweightUtils.CreateQuadMesh(false);
m_BlitMaterial = CoreUtils.CreateEngineMaterial(m_Asset.BlitShader);
m_CopyDepthMaterial = CoreUtils.CreateEngineMaterial(m_Asset.CopyDepthShader);
m_ScreenSpaceShadowsMaterial = CoreUtils.CreateEngineMaterial(m_Asset.ScreenSpaceShadowShader);
m_ErrorMaterial = CoreUtils.CreateEngineMaterial("Hidden/InternalErrorShader");
}

LightData lightData;
InitializeLightData(visibleLights, out lightData);
ShadowPass(visibleLights, ref context, ref lightData);
bool shadows = ShadowPass(visibleLights, ref context, ref lightData);
SetupFrameRenderingConfiguration(out frameRenderingConfiguration, stereoEnabled);
SetupFrameRenderingConfiguration(out frameRenderingConfiguration, shadows, stereoEnabled);
SetupIntermediateResources(frameRenderingConfiguration, ref context);
// SetupCameraProperties does the following:

context.SetupCameraProperties(m_CurrCamera, stereoEnabled);
if (LightweightUtils.HasFlag(frameRenderingConfiguration, FrameRenderingConfiguration.DepthPrePass))
{
// Only screen space shadowmap mode is supported.
if (shadows)
ShadowCollectPass(visibleLights, ref context, ref lightData);
}
// Release temporary RT
cmd.ReleaseTemporaryRT(m_ScreenSpaceShadowMapRTID);
cmd.ReleaseTemporaryRT(CameraRenderTargetID.depthCopy);
cmd.ReleaseTemporaryRT(CameraRenderTargetID.depth);
cmd.ReleaseTemporaryRT(CameraRenderTargetID.color);

}
}
private void ShadowPass(List<VisibleLight> visibleLights, ref ScriptableRenderContext context, ref LightData lightData)
private bool ShadowPass(List<VisibleLight> visibleLights, ref ScriptableRenderContext context, ref LightData lightData)
{
if (m_Asset.AreShadowsEnabled() && lightData.mainLightIndex != -1)
{

if (!LightweightUtils.IsSupportedShadowType(mainLight.lightType))
{
Debug.LogWarning("Only directional and spot shadows are supported by LightweightPipeline.");
return;
return false;
}
// There's no way to map shadow light indices. We need to pass in the original unsorted index.

{
lightData.shadowMapSampleType = LightShadows.None;
}
return shadowsRendered;
return false;
}
private void ShadowCollectPass(List<VisibleLight> visibleLights, ref ScriptableRenderContext context, ref LightData lightData)
{
CommandBuffer cmd = CommandBufferPool.Get("Collect Shadows");
SetupShadowReceiverConstants(cmd, visibleLights[lightData.mainLightIndex]);
SetShadowCollectPassKeywords(cmd, visibleLights[lightData.mainLightIndex], ref lightData);
cmd.GetTemporaryRT(m_ScreenSpaceShadowMapRTID, m_CurrCamera.pixelWidth, m_CurrCamera.pixelHeight, 0, FilterMode.Bilinear, RenderTextureFormat.R8);
cmd.Blit(null, m_ScreenSpaceShadowMapRT, m_ScreenSpaceShadowsMaterial);
context.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);
}
private void DepthPass(ref ScriptableRenderContext context)

}
}
private void SetupFrameRenderingConfiguration(out FrameRenderingConfiguration configuration, bool stereoEnabled)
private void SetupFrameRenderingConfiguration(out FrameRenderingConfiguration configuration, bool shadows, bool stereoEnabled)
{
configuration = (stereoEnabled) ? FrameRenderingConfiguration.Stereo : FrameRenderingConfiguration.None;
if (stereoEnabled && XRSettings.eyeTextureDesc.dimension == TextureDimension.Tex2DArray)

}
}
if (shadows)
{
m_RequireDepthTexture = true;
if (!msaaEnabled)
intermediateTexture = true;
}
if (msaaEnabled)
{
configuration |= FrameRenderingConfiguration.Msaa;

{
// If msaa is enabled we don't use a depth renderbuffer as we might not have support to Texture2DMS to resolve depth.
// Instead we use a depth prepass and whenever depth is needed we use the 1 sample depth from prepass.
if (!msaaEnabled)
// Screen space shadows require depth before opaque shading.
if (!msaaEnabled && !shadows)
{
bool supportsDepthCopy = m_CopyTextureSupport != CopyTextureSupport.None && m_Asset.CopyDepthShader.isSupported;
m_DepthRenderBuffer = true;

// Main light has an optimized shader path for main light. This will benefit games that only care about a single light.
// Lightweight pipeline also supports only a single shadow light, if available it will be the main light.
SetupMainLightConstants(cmd, lights, lightData.mainLightIndex);
if (lightData.shadowMapSampleType != LightShadows.None)
SetupShadowReceiverConstants(cmd, lights[lightData.mainLightIndex]);
SetupAdditionalListConstants(cmd, lights, ref lightData);
}

cmd.SetGlobalVectorArray(ShadowConstantBuffer._DirShadowSplitSpheres, m_DirectionalShadowSplitDistances);
cmd.SetGlobalVector(ShadowConstantBuffer._DirShadowSplitSphereRadii, m_DirectionalShadowSplitRadii);
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset0, new Vector4(-invHalfShadowResolution, -invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset1, new Vector4( invHalfShadowResolution, -invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset2, new Vector4(-invHalfShadowResolution, invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset3, new Vector4( invHalfShadowResolution, invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset1, new Vector4(invHalfShadowResolution, -invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset2, new Vector4(-invHalfShadowResolution, invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowOffset3, new Vector4(invHalfShadowResolution, invHalfShadowResolution, 0.0f, 0.0f));
cmd.SetGlobalVector(ShadowConstantBuffer._ShadowmapSize, new Vector4(invShadowResolution, invShadowResolution, m_Asset.ShadowAtlasResolution, m_Asset.ShadowAtlasResolution));
}

private void SetShaderKeywords(CommandBuffer cmd, ref LightData lightData, List<VisibleLight> visibleLights)
{
int vertexLightsCount = lightData.totalAdditionalLightsCount - lightData.pixelAdditionalLightsCount;
for (int i = 0; i < kMainLightKeywords.Length; ++i)
cmd.DisableShaderKeyword(kMainLightKeywords[i]);
if (mainLightIndex != -1 && (lightData.shadowMapSampleType != LightShadows.None))
{
m_MainLightKeywordString.Length = 0;
m_MainLightKeywordString.Append("_MAIN_LIGHT");
LightType mainLightType = visibleLights[mainLightIndex].lightType;
if (mainLightType == LightType.Directional)
{
m_MainLightKeywordString.Append("_DIRECTIONAL_SHADOW");
if (m_Asset.CascadeCount > 1)
m_MainLightKeywordString.Append("_CASCADE");
}
else
{
m_MainLightKeywordString.Append("_SPOT_SHADOW");
}
if (lightData.shadowMapSampleType == LightShadows.Soft)
m_MainLightKeywordString.Append("_SOFT");
string keyword = m_MainLightKeywordString.ToString();
cmd.EnableShaderKeyword(keyword);
}
CoreUtils.SetKeyword(cmd, "_MAIN_LIGHT_DIRECTIONAL", mainLightIndex == -1 || visibleLights[mainLightIndex].lightType == LightType.Directional);
CoreUtils.SetKeyword(cmd, "_MAIN_LIGHT_SPOT", mainLightIndex != -1 && visibleLights[mainLightIndex].lightType == LightType.Spot);
CoreUtils.SetKeyword(cmd, "_SHADOWS_ENABLED", lightData.shadowMapSampleType != LightShadows.None);
CoreUtils.SetKeyword(cmd, "_MAIN_LIGHT_COOKIE", mainLightIndex != -1 && LightweightUtils.IsSupportedCookieType(visibleLights[mainLightIndex].lightType) && visibleLights[mainLightIndex].light.cookie != null);
CoreUtils.SelectKeyword(cmd, kAdditionalLightKeywords, CalcAdditionalLightKeywordIndex(lightData.totalAdditionalLightsCount));
CoreUtils.SetKeyword(cmd, "_MIXED_LIGHTING_SUBTRACTIVE", m_MixedLightingSetup == MixedLightingSetup.Subtractive);

bool linearFogModeEnabled = false;
bool exponentialFogModeEnabled = false;
if (RenderSettings.fog)

CoreUtils.SetKeyword(cmd, "FOG_LINEAR", linearFogModeEnabled);
CoreUtils.SetKeyword(cmd, "FOG_EXP2", exponentialFogModeEnabled);
}
private void SetShadowCollectPassKeywords(CommandBuffer cmd, VisibleLight shadowLight, ref LightData lightData)
{
bool cascadeShadows = shadowLight.lightType == LightType.Directional && m_Asset.CascadeCount > 1;
CoreUtils.SetKeyword(cmd, "_SHADOWS_SOFT", lightData.shadowMapSampleType == LightShadows.Soft);
CoreUtils.SetKeyword(cmd, "_SHADOWS_CASCADE", cascadeShadows);
}
private bool RenderShadows(ref CullResults cullResults, ref VisibleLight shadowLight, int shadowLightIndex, ref ScriptableRenderContext context)

30
ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Core.hlsl


#include "Input.hlsl"
///////////////////////////////////////////////////////////////////////////////
// Light Classification defines //
// //
// In order to reduce shader variations main light keywords were combined //
// here we define main light type keywords. //
// Main light is either a shadow casting light or the brighest directional. //
// Lightweight pipeline doesn't support point light shadows so they can't be //
// classified as main light. //
///////////////////////////////////////////////////////////////////////////////
#if defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT)
#define _MAIN_LIGHT_DIRECTIONAL
#endif
#if defined(_MAIN_LIGHT_SPOT_SHADOW) || defined(_MAIN_LIGHT_SPOT_SHADOW_SOFT)
#define _MAIN_LIGHT_SPOT
#endif
// In case no shadow casting light we classify main light as directional
#if !defined(_MAIN_LIGHT_DIRECTIONAL) && !defined(_MAIN_LIGHT_SPOT)
#define _MAIN_LIGHT_DIRECTIONAL
#endif
#ifdef _NORMALMAP
#define OUTPUT_NORMAL(IN, OUT) OutputTangentToWorld(IN.tangent, IN.normal, OUT.tangent, OUT.binormal, OUT.normal)
#else

{
half3x3 tangentToWorld = half3x3(tangent, binormal, normal);
return normalize(mul(normalTangent, tangentToWorld));
}
// TODO: A similar function should be already available in SRP lib on master. Use that instead
float4 ComputeScreenPos(float4 positionCS)
{
float4 o = positionCS * 0.5f;
o.xy = float2(o.x, o.y * _ProjectionParams.x) + o.w;
o.zw = positionCS.zw;
return o;
}
half ComputeFogFactor(float z)

9
ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Lighting.hlsl


InitializeBRDFData(albedo, metallic, specular, smoothness, alpha, brdfData);
Light mainLight = GetMainLight(inputData.positionWS);
mainLight.attenuation *= RealtimeShadowAttenuation(inputData.positionWS, inputData.shadowCoord);
#ifdef _SHADOWS_ENABLED
mainLight.attenuation *= RealtimeShadowAttenuation(inputData.shadowCoord);
#endif
MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, half4(0, 0, 0, 0));
half3 color = GlobalIllumination(brdfData, inputData.bakedGI, occlusion, inputData.normalWS, inputData.viewDirectionWS);

half4 LightweightFragmentBlinnPhong(InputData inputData, half3 diffuse, half4 specularGloss, half shininess, half3 emission, half alpha)
{
Light mainLight = GetMainLight(inputData.positionWS);
mainLight.attenuation *= RealtimeShadowAttenuation(inputData.positionWS, inputData.shadowCoord);
#ifdef _SHADOWS_ENABLED
mainLight.attenuation *= RealtimeShadowAttenuation(inputData.shadowCoord);
#endif
MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, half4(0, 0, 0, 0));
half3 attenuatedLightColor = mainLight.color * mainLight.attenuation;

4
ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/LightweightPassLit.hlsl


half fogFactor = ComputeFogFactor(o.clipPos.z);
o.fogFactorAndVertexLight = half4(fogFactor, vertexLight);
#if defined(_SHADOWS_ENABLED) && !defined(_SHADOWS_CASCADE)
o.shadowCoord = ComputeShadowCoord(o.posWS.xyz);
#ifdef _SHADOWS_ENABLED
o.shadowCoord = ComputeScreenPos(o.clipPos);
#endif
return o;

6
ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/LightweightPassShadow.hlsl


// _ShadowBias.x sign depens on if platform has reversed z buffer
clipPos.z += _ShadowBias.x;
#if defined(UNITY_REVERSED_Z)
clipPos.z = min(clipPos.z, 1.0);
#if UNITY_REVERSED_Z
clipPos.z = min(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE);
clipPos.z = max(clipPos.z, 0.0);
clipPos.z = max(clipPos.z, clipPos.w * UNITY_NEAR_CLIP_VALUE);
#endif
return clipPos;
}

151
ScriptableRenderPipeline/LightweightPipeline/LWRP/ShaderLibrary/Shadows.hlsl


#define MAX_SHADOW_CASCADES 4
///////////////////////////////////////////////////////////////////////////////
// Light Classification shadow defines //
// //
// In order to reduce shader variations main light keywords were combined //
// here we define shadow keywords. //
///////////////////////////////////////////////////////////////////////////////
#if defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT) || defined(_MAIN_LIGHT_SPOT_SHADOW) || defined(_MAIN_LIGHT_SPOT_SHADOW_SOFT)
#define _SHADOWS_ENABLED
#endif
#if defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT) || defined(_MAIN_LIGHT_SPOT_SHADOW_SOFT)
#define _SHADOWS_SOFT
#endif
#if defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE) || defined(_MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT)
#define _SHADOWS_CASCADE
#endif
#if defined(_MAIN_LIGHT_SPOT_SHADOW) || defined(_MAIN_LIGHT_SPOT_SHADOW_SOFT)
#define _SHADOWS_PERSPECTIVE
#endif
TEXTURE2D(_ScreenSpaceShadowMap);
SAMPLER(sampler_ScreenSpaceShadowMap);
TEXTURE2D_SHADOW(_ShadowMap);
SAMPLER_CMP(sampler_ShadowMap);

float4 _ShadowmapSize; // (xy: 1/width and 1/height, zw: width and height)
CBUFFER_END
inline half SampleShadowmap(float4 shadowCoord)
#if UNITY_REVERSED_Z
#define BEYOND_SHADOW_FAR(shadowCoord) shadowCoord.z <= UNITY_RAW_FAR_CLIP_VALUE
#else
#define BEYOND_SHADOW_FAR(shadowCoord) shadowCoord.z >= UNITY_RAW_FAR_CLIP_VALUE
#endif
#define OUTSIDE_SHADOW_BOUNDS(shadowCoord) shadowCoord.x <= 0 || shadowCoord.x >= 1 || shadowCoord.y <= 0 || shadowCoord.y >= 1 || BEYOND_SHADOW_FAR(shadowCoord)
half GetShadowStrength()
#if defined(_SHADOWS_PERSPECTIVE)
return _ShadowData.x;
}
inline half SampleScreenSpaceShadowMap(float4 shadowCoord)
{
shadowCoord.xy = shadowCoord.xy / shadowCoord.w;
half attenuation = SAMPLE_TEXTURE2D(_ScreenSpaceShadowMap, sampler_ScreenSpaceShadowMap, shadowCoord.xy).x;
// Apply shadow strength
return LerpWhiteTo(attenuation, GetShadowStrength());
}
inline real SampleShadowmap(float4 shadowCoord)
{
#endif
half attenuation;
real attenuation;
#ifdef SHADER_API_MOBILE
// 4-tap hardware comparison
half4 attenuation4;
attenuation4.x = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset0.xyz);
attenuation4.y = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset1.xyz);
attenuation4.z = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset2.xyz);
attenuation4.w = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset3.xyz);
attenuation = dot(attenuation4, 0.25);
#else
real fetchesWeights[9];
real2 fetchesUV[9];
SampleShadow_ComputeSamples_Tent_5x5(_ShadowmapSize, shadowCoord.xy, fetchesWeights, fetchesUV);
#ifdef SHADER_API_MOBILE
// 4-tap hardware comparison
real4 attenuation4;
attenuation4.x = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset0.xyz);
attenuation4.y = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset1.xyz);
attenuation4.z = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset2.xyz);
attenuation4.w = SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, shadowCoord.xyz + _ShadowOffset3.xyz);
attenuation = dot(attenuation4, 0.25);
#else
#ifdef _SHADOWS_CASCADE //Assume screen space shadows when cascades enabled
real fetchesWeights[16];
real2 fetchesUV[16];
SampleShadow_ComputeSamples_Tent_7x7(_ShadowmapSize, shadowCoord.xy, fetchesWeights, fetchesUV);
attenuation = fetchesWeights[0] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[0].xy, shadowCoord.z));
attenuation += fetchesWeights[1] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[1].xy, shadowCoord.z));
attenuation += fetchesWeights[2] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[2].xy, shadowCoord.z));
attenuation += fetchesWeights[3] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[3].xy, shadowCoord.z));
attenuation += fetchesWeights[4] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[4].xy, shadowCoord.z));
attenuation += fetchesWeights[5] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[5].xy, shadowCoord.z));
attenuation += fetchesWeights[6] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[6].xy, shadowCoord.z));
attenuation += fetchesWeights[7] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[7].xy, shadowCoord.z));
attenuation += fetchesWeights[8] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[8].xy, shadowCoord.z));
attenuation += fetchesWeights[9] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[9].xy, shadowCoord.z));
attenuation += fetchesWeights[10] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[10].xy, shadowCoord.z));
attenuation += fetchesWeights[11] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[11].xy, shadowCoord.z));
attenuation += fetchesWeights[12] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[12].xy, shadowCoord.z));
attenuation += fetchesWeights[13] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[13].xy, shadowCoord.z));
attenuation += fetchesWeights[14] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[14].xy, shadowCoord.z));
attenuation += fetchesWeights[15] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[15].xy, shadowCoord.z));
#else
real fetchesWeights[9];
real2 fetchesUV[9];
SampleShadow_ComputeSamples_Tent_5x5(_ShadowmapSize, shadowCoord.xy, fetchesWeights, fetchesUV);
attenuation = fetchesWeights[0] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[0].xy, shadowCoord.z));
attenuation += fetchesWeights[1] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[1].xy, shadowCoord.z));
attenuation += fetchesWeights[2] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[2].xy, shadowCoord.z));
attenuation += fetchesWeights[3] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[3].xy, shadowCoord.z));
attenuation += fetchesWeights[4] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[4].xy, shadowCoord.z));
attenuation += fetchesWeights[5] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[5].xy, shadowCoord.z));
attenuation += fetchesWeights[6] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[6].xy, shadowCoord.z));
attenuation += fetchesWeights[7] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[7].xy, shadowCoord.z));
attenuation += fetchesWeights[8] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[8].xy, shadowCoord.z));
#endif
attenuation = fetchesWeights[0] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[0].xy, shadowCoord.z));
attenuation += fetchesWeights[1] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[1].xy, shadowCoord.z));
attenuation += fetchesWeights[2] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[2].xy, shadowCoord.z));
attenuation += fetchesWeights[3] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[3].xy, shadowCoord.z));
attenuation += fetchesWeights[4] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[4].xy, shadowCoord.z));
attenuation += fetchesWeights[5] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[5].xy, shadowCoord.z));
attenuation += fetchesWeights[6] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[6].xy, shadowCoord.z));
attenuation += fetchesWeights[7] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[7].xy, shadowCoord.z));
attenuation += fetchesWeights[8] * SAMPLE_TEXTURE2D_SHADOW(_ShadowMap, sampler_ShadowMap, real3(fetchesUV[8].xy, shadowCoord.z));
#endif
#endif
// Apply shadow strength
attenuation = LerpWhiteTo(attenuation, _ShadowData.x);
// TODO: We can set shadowmap sampler to clamptoborder when we don't have a shadow atlas and avoid xy coord bounds check
return (shadowCoord.x <= 0 || shadowCoord.x >= 1 || shadowCoord.y <= 0 || shadowCoord.y >= 1 || shadowCoord.z >= 1) ? 1.0 : attenuation;
return (OUTSIDE_SHADOW_BOUNDS(shadowCoord)) ? 1.0 : attenuation;
}
inline half ComputeCascadeIndex(float3 positionWS)

return mul(_WorldToShadow[0], float4(positionWS, 1.0));
}
half GetShadowStrength()
half RealtimeShadowAttenuation(float4 shadowCoord)
return _ShadowData.x;
}
half RealtimeShadowAttenuation(float3 positionWS)
{
#if !defined(_SHADOWS_ENABLED)
return 1.0;
#endif
float4 shadowCoord = ComputeShadowCoord(positionWS);
return SampleShadowmap(shadowCoord);
}
half RealtimeShadowAttenuation(float3 positionWS, float4 shadowCoord)
{
#if !defined(_SHADOWS_ENABLED)
return 1.0;
#endif
#ifdef _SHADOWS_CASCADE
shadowCoord = ComputeShadowCoord(positionWS);
#endif
return SampleShadowmap(shadowCoord);
return SampleScreenSpaceShadowMap(shadowCoord);
}
#endif

8
ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandard.shader


// -------------------------------------
// Lightweight Pipeline keywords
// We have no good approach exposed to skip shader variants, e.g, ideally we would like to skip _CASCADE for all puctual lights
// Lightweight combines light classification and shadows keywords to reduce shader variants.
// Lightweight shader library declares defines based on these keywords to avoid having to check them in the shaders
// Core.hlsl defines _MAIN_LIGHT_DIRECTIONAL and _MAIN_LIGHT_SPOT (point lights can't be main light)
// Shadow.hlsl defines _SHADOWS_ENABLED, _SHADOWS_SOFT, _SHADOWS_CASCADE, _SHADOWS_PERSPECTIVE
#pragma multi_compile _ _MAIN_LIGHT_DIRECTIONAL_SHADOW _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE _MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT _MAIN_LIGHT_SPOT_SHADOW _MAIN_LIGHT_SPOT_SHADOW_SOFT
#pragma multi_compile _MAIN_LIGHT_DIRECTIONAL _MAIN_LIGHT_SPOT
#pragma multi_compile _ _SHADOWS_ENABLED
#pragma multi_compile _ _MAIN_LIGHT_COOKIE
#pragma multi_compile _ _ADDITIONAL_LIGHT0 _ADDITIONAL_LIGHT2 _ADDITIONAL_LIGHTS
#pragma multi_compile _ _VERTEX_LIGHTS

8
ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandardSimpleLighting.shader


// -------------------------------------
// Lightweight Pipeline keywords
// We have no good approach exposed to skip shader variants, e.g, ideally we would like to skip _CASCADE for all puctual lights
// Lightweight combines light classification and shadows keywords to reduce shader variants.
// Lightweight shader library declares defines based on these keywords to avoid having to check them in the shaders
// Core.hlsl defines _MAIN_LIGHT_DIRECTIONAL and _MAIN_LIGHT_SPOT (point lights can't be main light)
// Shadow.hlsl defines _SHADOWS_ENABLED, _SHADOWS_SOFT, _SHADOWS_CASCADE, _SHADOWS_PERSPECTIVE
#pragma multi_compile _ _MAIN_LIGHT_DIRECTIONAL_SHADOW _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE _MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT _MAIN_LIGHT_SPOT_SHADOW _MAIN_LIGHT_SPOT_SHADOW_SOFT
#pragma multi_compile _MAIN_LIGHT_DIRECTIONAL _MAIN_LIGHT_SPOT
#pragma multi_compile _ _SHADOWS_ENABLED
#pragma multi_compile _ _MAIN_LIGHT_COOKIE
#pragma multi_compile _ _ADDITIONAL_LIGHT1 _ADDITIONAL_LIGHT2 _ADDITIONAL_LIGHTS
#pragma multi_compile _ _VERTEX_LIGHTS

8
ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightStandardTerrain.shader


// -------------------------------------
// Lightweight Pipeline keywords
// We have no good approach exposed to skip shader variants, e.g, ideally we would like to skip _CASCADE for all puctual lights
// Lightweight combines light classification and shadows keywords to reduce shader variants.
// Lightweight shader library declares defines based on these keywords to avoid having to check them in the shaders
// Core.hlsl defines _MAIN_LIGHT_DIRECTIONAL and _MAIN_LIGHT_SPOT (point lights can't be main light)
// Shadow.hlsl defines _SHADOWS_ENABLED, _SHADOWS_SOFT, _SHADOWS_CASCADE, _SHADOWS_PERSPECTIVE
#pragma multi_compile _ _MAIN_LIGHT_DIRECTIONAL_SHADOW _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE _MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT _MAIN_LIGHT_SPOT_SHADOW _MAIN_LIGHT_SPOT_SHADOW_SOFT
#pragma multi_compile _MAIN_LIGHT_DIRECTIONAL _MAIN_LIGHT_SPOT
#pragma multi_compile _ _SHADOWS_ENABLED
#pragma multi_compile _ _MAIN_LIGHT_COOKIE
#pragma multi_compile _ _ADDITIONAL_LIGHT0 _ADDITIONAL_LIGHT2 _ADDITIONAL_LIGHTS
#pragma multi_compile _ _VERTEX_LIGHTS

4
ScriptableRenderPipeline/LightweightPipeline/package.json


{
"name": "com.unity.render-pipelines.lightweight",
"description": "Lightweight Render Pipeline for Unity.",
"version": "0.1.28",
"version": "0.1.29",
"com.unity.render-pipelines.core": "0.1.28"
"com.unity.render-pipelines.core": "0.1.29"
}
}

2
ScriptableRenderPipeline/master-package.json


{
"version": "0.1.28",
"version": "0.1.29",
"unity": "2018.1",
"dependencies": {
"com.unity.postprocessing": "0.1.8"

2
TestbedPipelines/BasicRenderPipeline/BasicRenderPipeline.cs


public bool UseIntermediateRenderTargetBlit;
#if UNITY_EDITOR
[UnityEditor.MenuItem("Assets/Create/Graphics/Basic Render Pipeline", priority = CoreUtils.assetCreateMenuPriority1)]
[UnityEditor.MenuItem("Assets/Create/Rendering/Basic Render Pipeline", priority = CoreUtils.assetCreateMenuPriority1)]
static void CreateBasicRenderPipeline()
{
var instance = ScriptableObject.CreateInstance<BasicRenderPipeline>();

5
TestbedPipelines/OnTileDeferredPipeline/OnTileDeferredRenderPipeline.cs


private Material m_BlitMaterial;
private void OnValidate()
protected override void OnValidate()
Build();
base.OnValidate();
Build();
}
public void Cleanup()

629
Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode.unity


m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.36615336, g: 0.3847445, b: 0.4253475, a: 1}
m_IndirectSpecularColor: {r: 0.3661522, g: 0.3847425, b: 0.4253456, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:

m_Children:
- {fileID: 1463840387}
- {fileID: 1350281944}
- {fileID: 938480603}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

v_Value: {x: 0, y: 0, z: 0, w: 0}
c_Value: {r: 0, g: 0, b: 0, a: 0}
i_Value_Max: 0
f_Value_Max: 1
f_Value_Max: 2
count: 2
count: 3
offset: 1.5
rotation: {x: 0, y: 0, z: 0}
scale: 1

m_LocalPosition: {x: -1, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1492725334}
- {fileID: 321102322}
- {fileID: 387317036}
- {fileID: 1167281863}
- {fileID: 1980092100}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

shadowResolution: 512
shadowDimmer: 1
shadowFadeDistance: 10000
enableContactShadows: 0
contactShadowLength: 0
contactShadowDistanceScaleFactor: 0.5
contactShadowMaxDistance: 50
contactShadowFadeDistance: 5
contactShadowSampleCount: 8
shadowCascadeCount: 4
shadowCascadeRatios:
- 0.05

m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0}
--- !u!1 &321102321
--- !u!1 &387317035
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}

- component: {fileID: 321102322}
- component: {fileID: 321102324}
- component: {fileID: 321102323}
- component: {fileID: 387317036}
- component: {fileID: 387317038}
- component: {fileID: 387317037}
m_Name: DoubleSidePlane__DoubleSidedNormalMode_1.00
m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00
--- !u!4 &321102322
--- !u!4 &387317036
m_GameObject: {fileID: 321102321}
m_GameObject: {fileID: 387317035}
m_LocalPosition: {x: 1.5, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_RootOrder: 1
m_RootOrder: 0
--- !u!23 &321102323
--- !u!23 &387317037
m_GameObject: {fileID: 321102321}
m_GameObject: {fileID: 387317035}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1

m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 1222758656}
- {fileID: 1579018352}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &321102324
--- !u!33 &387317038
m_GameObject: {fileID: 321102321}
m_GameObject: {fileID: 387317035}
m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3}
--- !u!1001 &749245062
Prefab:

m_Modifications:
- target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 2}
propertyPath: m_LocalPosition.x
value: 0
value: 0.502
objectReference: {fileID: 0}
- target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 2}
propertyPath: m_LocalPosition.y

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 2}
m_IsPrefabParent: 0
--- !u!1 &938480602
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 938480603}
- component: {fileID: 938480605}
- component: {fileID: 938480604}
m_Layer: 0
m_Name: New Text (11)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &938480603
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 938480602}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.996, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 103750789}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!102 &938480604
TextMesh:
serializedVersion: 3
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 938480602}
m_Text: None
m_OffsetZ: 0
m_CharacterSize: 0.1
m_LineSpacing: 1
m_Anchor: 4
m_Alignment: 1
m_TabSize: 4
m_FontSize: 16
m_FontStyle: 0
m_RichText: 1
m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3}
m_Color:
serializedVersion: 2
rgba: 4294967295
--- !u!23 &938480605
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 938480602}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1001 &1037782906
Prefab:
m_ObjectHideFlags: 0

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: e0446b620fbf66540b1b93f937834a01, type: 2}
m_IsPrefabParent: 0
--- !u!21 &1222758656
--- !u!1 &1167281862
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1167281863}
- component: {fileID: 1167281865}
- component: {fileID: 1167281864}
m_Layer: 0
m_Name: DoubleSidePlane__DoubleSidedNormalMode_1.00
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1167281863
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1167281862}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.5, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 195823282}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &1167281864
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1167281862}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 1337868745}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1167281865
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1167281862}
m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3}
--- !u!21 &1337868745
Material:
serializedVersion: 6
m_ObjectHideFlags: 0

m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DOUBLESIDED_ON _NORMALMAP
_NORMALMAP_TANGENT_SPACE
m_ShaderKeywords: _DOUBLESIDED_ON _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2000
- TransparentBackfaceDebugDisplay
- TransparentBackfaceDebugDisplay
- MOTIONVECTORS
m_SavedProperties:
serializedVersion: 3

m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}

- _BlendMode: 0
- _CoatCoverage: 1
- _CoatIOR: 0.5
- _CoatMask: 1
- _CoatMask: 0
- _CullMode: 0
- _CullModeForward: 0
- _Cutoff: 0.5

- _EnableMotionVectorForVertexAnimation: 0
- _EnableSpecularOcclusion: 0
- _EnableWind: 0
- _EnergyConservingSpecularColor: 1
- _HeightMapParametrization: 1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _IOR: 1
- _InitialBend: 1
- _InvTilingScale: 1

- _PPDPrimitiveWidth: 1
- _PreRefractionPass: 0
- _RefractionMode: 0
- _SSSAndTransmissionType: 0
- _ShiverDirectionality: 0.5
- _ShiverDrag: 0.2
- _Smoothness: 0.5

- _SubsurfaceMask: 1
- _SubsurfaceProfile: 0
- _SubsurfaceRadius: 1
- _SupportDBuffer: 1
- _TexWorldScaleEmissive: 1
- _TransmissionEnable: 1
- _TransparentSortPriority: 0
- _UVEmissive: 0
- _ZTestMode: 8
- _ZWrite: 1
m_Colors:

- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
--- !u!1 &1350281943
GameObject:
m_ObjectHideFlags: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &1492725333
GameObject:
--- !u!21 &1555213935
Material:
serializedVersion: 6
serializedVersion: 5
m_Component:
- component: {fileID: 1492725334}
- component: {fileID: 1492725336}
- component: {fileID: 1492725335}
m_Layer: 0
m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1492725334
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1492725333}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 195823282}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &1492725335
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1492725333}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 1590950923}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1492725336
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1492725333}
m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3}
--- !u!21 &1590950923
m_Name: DoubleSideNormalTest(Clone)(Clone)
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DOUBLESIDED_ON _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2000
stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- TransparentBackfaceDebugDisplay
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
- MOTIONVECTORS
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceRadiusMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _Anisotropy: 0
- _BlendMode: 0
- _CoatCoverage: 1
- _CoatIOR: 0.5
- _CoatMask: 0
- _CullMode: 0
- _CullModeForward: 0
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 0
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 1
- _DoubleSidedNormalMode: 2
- _Drag: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveIntensity: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableMotionVectorForVertexAnimation: 0
- _EnableSpecularOcclusion: 0
- _EnableWind: 0
- _EnergyConservingSpecularColor: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 1
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _IOR: 1
- _InitialBend: 1
- _InvTilingScale: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 1
- _Metallic: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _PreRefractionPass: 0
- _RefractionMode: 0
- _SSSAndTransmissionType: 0
- _ShiverDirectionality: 0.5
- _ShiverDrag: 0.2
- _Smoothness: 0.5
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SrcBlend: 1
- _StencilRef: 2
- _StencilRefMV: 128
- _StencilWriteMask: 7
- _StencilWriteMaskMV: 128
- _Stiffness: 1
- _SubsurfaceMask: 1
- _SubsurfaceProfile: 0
- _SubsurfaceRadius: 1
- _SupportDBuffer: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _ThicknessMultiplier: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _ZTestMode: 8
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DoubleSidedConstants: {r: 1, g: 1, b: 1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
--- !u!21 &1579018352
Material:
serializedVersion: 6
m_ObjectHideFlags: 0

m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DOUBLESIDED_ON _NORMALMAP
_NORMALMAP_TANGENT_SPACE
m_ShaderKeywords: _DOUBLESIDED_ON _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2000
- TransparentBackfaceDebugDisplay
- TransparentBackfaceDebugDisplay
- MOTIONVECTORS
m_SavedProperties:
serializedVersion: 3

m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}

- _BlendMode: 0
- _CoatCoverage: 1
- _CoatIOR: 0.5
- _CoatMask: 1
- _CoatMask: 0
- _CullMode: 0
- _CullModeForward: 0
- _Cutoff: 0.5

- _EnableMotionVectorForVertexAnimation: 0
- _EnableSpecularOcclusion: 0
- _EnableWind: 0
- _EnergyConservingSpecularColor: 1
- _HeightMapParametrization: 1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _IOR: 1
- _InitialBend: 1
- _InvTilingScale: 1

- _PPDPrimitiveWidth: 1
- _PreRefractionPass: 0
- _RefractionMode: 0
- _SSSAndTransmissionType: 0
- _ShiverDirectionality: 0.5
- _ShiverDrag: 0.2
- _Smoothness: 0.5

- _SubsurfaceMask: 1
- _SubsurfaceProfile: 0
- _SubsurfaceRadius: 1
- _SupportDBuffer: 1
- _TexWorldScaleEmissive: 1
- _TransmissionEnable: 1
- _TransparentSortPriority: 0
- _UVEmissive: 0
- _ZTestMode: 8
- _ZWrite: 1
m_Colors:

- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
--- !u!1 &1823592852
GameObject:
m_ObjectHideFlags: 0

shadowResolution: 512
shadowDimmer: 1
shadowFadeDistance: 10000
enableContactShadows: 0
contactShadowLength: 0
contactShadowDistanceScaleFactor: 0.5
contactShadowMaxDistance: 50
contactShadowFadeDistance: 5
contactShadowSampleCount: 8
shadowCascadeCount: 4
shadowCascadeRatios:
- 0.05

m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0}
--- !u!1 &1980092099
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1980092100}
- component: {fileID: 1980092102}
- component: {fileID: 1980092101}
m_Layer: 0
m_Name: DoubleSidePlane__DoubleSidedNormalMode_2.00
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1980092100
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1980092099}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 3, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 195823282}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &1980092101
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1980092099}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 1555213935}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &1980092102
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1980092099}
m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3}

5
Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat


stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- TransparentBackfaceDebugDisplay
- TransparentBackfaceDebugDisplay
- MOTIONVECTORS
m_SavedProperties:
serializedVersion: 3

- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _ThicknessMultiplier: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0

m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DoubleSidedConstants: {r: -1, g: -1, b: -1, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: 1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}

36
Tests/Scripts/GraphicTests/Framework/TestFrameworkTools.cs


public struct TestInfo
{
public string name;
public string comment;
public float threshold;
public string relativePath;
public string templatePath;

public override string ToString()
{
return name;
if (string.IsNullOrEmpty(comment))
return name;
else
return string.Format("{0}: {1}", name, comment);
// Get additionalSceneInfo
public static Dictionary<string, AdditionalTestSceneInfos.AdditionalTestSceneInfo> GetAdditionalInfos ( string path)
{
Dictionary<string, AdditionalTestSceneInfos.AdditionalTestSceneInfo> o = new Dictionary<string, AdditionalTestSceneInfos.AdditionalTestSceneInfo>();
AdditionalTestSceneInfos additionalTestSceneInfos = AssetDatabase.LoadAssetAtPath<AdditionalTestSceneInfos>(path);
if (additionalTestSceneInfos != null)
{
for (int i=0 ; i<additionalTestSceneInfos.additionalInfos.Length ; ++i)
{
o[additionalTestSceneInfos.additionalInfos[i].name] = additionalTestSceneInfos.additionalInfos[i];
}
}
return o;
}
// collect the scenes that we can use
public static class CollectScenes
{

{
playModeScenes.Add(ti.templatePath);
}
// Get the additional infos
var additionalInfos = GetAdditionalInfos( "Assets"+Path.Combine(filesPath.Replace(Application.dataPath, ""), "AdditionalTestSceneInfos.asset") );
// construct all the needed test infos
for (int i = 0; i < allPaths_List.Count; ++i)

if (playModeScenes.Contains(splitPaths.Last()))
continue;
string sceneNum = p.Name.Split("_"[0])[0];
comment = additionalInfos.ContainsKey(sceneNum)? additionalInfos[sceneNum].comment:null,
relativePath = splitPaths.Last(),
templatePath = splitPaths.Last(),
threshold = 0.02f,

}
else
{
// Get the additional infos
var additionalInfos = GetAdditionalInfos( Path.Combine(filesPath, "AdditionalTestSceneInfos.asset") );
for ( int i=0 ; i<listFile.scenesPath.Length ; ++i)
{
string path = listFile.scenesPath[i];

split = string.Format("{0}{1}", split, Path.DirectorySeparatorChar);
var splitPaths = p.FullName.Split(new[] { split }, StringSplitOptions.RemoveEmptyEntries);
string sceneNum = p.Name.Split("_"[0])[0];
comment = additionalInfos.ContainsKey(sceneNum)? additionalInfos[sceneNum].comment:null,
relativePath = p.ToString(),
templatePath = splitPaths.Last(),
threshold = 0.02f,

8
SampleScenes/HDTest/BakingSkyTest.meta


fileFormatVersion: 2
guid: a9790c44e9473bd4c8810927d3b0658e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
SampleScenes/HDTest/BakingSkyTest.unity
文件差异内容过多而无法显示
查看文件

7
SampleScenes/HDTest/BakingSkyTest.unity.meta


fileFormatVersion: 2
guid: c3be815be46948b45bbdc32a09e594b2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

180
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/GlobalIlluminationUtils.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.GlobalIllumination;
using Unity.Collections;
namespace UnityEngine.Experimental.Rendering.HDPipeline
{
public class GlobalIlluminationUtils
{
// Return true if the light must be added to the baking
public static bool LightDataGIExtract(Light l, ref LightDataGI ld)
{
var add = l.GetComponent<HDAdditionalLightData>();
if (add == null)
{
add = HDUtils.s_DefaultHDAdditionalLightData;
}
// TODO: Only take into account the light dimmer when we have real time GI.
ld.instanceID = l.GetInstanceID();
ld.color = add.affectDiffuse ? LinearColor.Convert(l.color, l.intensity) : LinearColor.Black();
ld.indirectColor = add.affectDiffuse ? LightmapperUtils.ExtractIndirect(l) : LinearColor.Black();
// For HDRP we need to divide the analytic light color by PI (HDRP do explicit PI division for Lambert, but built in Unity and the GI don't)
// We apply it on both direct and indirect are they are separated, seems that direct is no used if we used mixed mode with indirect or shadowmask bake.
ld.color.red /= Mathf.PI;
ld.color.green /= Mathf.PI;
ld.color.blue /= Mathf.PI;
ld.indirectColor.red /= Mathf.PI;
ld.indirectColor.green /= Mathf.PI;
ld.indirectColor.blue /= Mathf.PI;
// Note that the HDRI is correctly integrated in the GlobalIllumination system, we don't need to do anything regarding it.
#if UNITY_EDITOR
ld.mode = LightmapperUtils.Extract(l.lightmapBakeType);
#else
ld.mode = LightMode.Realtime;
#endif
ld.shadow = (byte)(l.shadows != LightShadows.None ? 1 : 0);
if (add.lightTypeExtent == LightTypeExtent.Punctual)
{
switch (l.type)
{
case LightType.Directional:
ld.orientation.SetLookRotation(l.transform.forward, Vector3.up);
ld.position = Vector3.zero;
ld.range = 0.0f;
ld.coneAngle = 0.0f;
ld.innerConeAngle = 0.0f;
#if UNITY_EDITOR
ld.shape0 = l.shadows != LightShadows.None ? (Mathf.Deg2Rad * l.shadowAngle) : 0.0f;
#else
ld.shape0 = 0.0f;
#endif
ld.shape1 = 0.0f;
ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Directional;
ld.falloff = FalloffType.Undefined;
break;
case LightType.Spot:
ld.orientation = l.transform.rotation;
ld.position = l.transform.position;
ld.range = l.range;
ld.coneAngle = l.spotAngle * Mathf.Deg2Rad; // coneAngle is the full angle
ld.innerConeAngle = l.spotAngle * Mathf.Deg2Rad * add.GetInnerSpotPercent01();
#if UNITY_EDITOR
ld.shape0 = l.shadows != LightShadows.None ? l.shadowRadius : 0.0f;
#else
ld.shape0 = 0.0f;
#endif
ld.shape1 = 0.0f;
ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Spot;
ld.falloff = add.applyRangeAttenuation ? FalloffType.InverseSquared : FalloffType.InverseSquaredNoRangeAttenuation;
/*
switch (add.spotLightShape)
{
case SpotLightShape.Cone:
break;
case SpotLightShape.Pyramid:
break;
case SpotLightShape.Box:
break;
default:
Debug.Assert(false, "Encountered an unknown SpotLightShape.");
break;
}
*/
break;
case LightType.Point:
ld.orientation = Quaternion.identity;
ld.position = l.transform.position;
ld.range = l.range;
ld.coneAngle = 0.0f;
ld.innerConeAngle = 0.0f;
#if UNITY_EDITOR
ld.shape0 = l.shadows != LightShadows.None ? l.shadowRadius : 0.0f;
#else
ld.shape0 = 0.0f;
#endif
ld.shape1 = 0.0f;
ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Point;
ld.falloff = add.applyRangeAttenuation ? FalloffType.InverseSquared : FalloffType.InverseSquaredNoRangeAttenuation;
break;
// Note: We don't support this type in HDRP, but ini just in case
case LightType.Area:
ld.orientation = l.transform.rotation;
ld.position = l.transform.position;
ld.range = l.range;
ld.coneAngle = 0.0f;
ld.innerConeAngle = 0.0f;
#if UNITY_EDITOR
ld.shape0 = l.areaSize.x;
ld.shape1 = l.areaSize.y;
#else
ld.shape0 = 0.0f;
ld.shape1 = 0.0f;
#endif
ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Rectangle;
ld.falloff = FalloffType.Undefined;
break;
default:
Debug.Assert(false, "Encountered an unknown LightType.");
break;
}
}
else if (add.lightTypeExtent == LightTypeExtent.Rectangle)
{
ld.orientation = l.transform.rotation;
ld.position = l.transform.position;
ld.range = l.range;
ld.coneAngle = 0.0f;
ld.innerConeAngle = 0.0f;
#if UNITY_EDITOR
ld.shape0 = l.areaSize.x;
ld.shape1 = l.areaSize.y;
#else
ld.shape0 = 0.0f;
ld.shape1 = 0.0f;
#endif
// TEMP: for now, if we bake a rectangle type this will disable the light for runtime, need to speak with GI team about it!
// ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Rectangle;
ld.type = UnityEngine.Experimental.GlobalIllumination.LightType.Point;
ld.falloff = add.applyRangeAttenuation ? FalloffType.InverseSquared : FalloffType.InverseSquaredNoRangeAttenuation;
}
else if (add.lightTypeExtent == LightTypeExtent.Line)
{
}
else
{
Debug.Assert(false, "Encountered an unknown LightType.");
}
return true;
}
static public Lightmapping.RequestLightsDelegate hdLightsDelegate = (Light[] requests, NativeArray<LightDataGI> lightsOutput) =>
{
// Get all lights in the scene
LightDataGI ld = new LightDataGI();
for (int i = 0; i < requests.Length; i++)
{
Light l = requests[i];
LightDataGIExtract(l, ref ld);
lightsOutput[i] = ld;
}
};
}
}

11
ScriptableRenderPipeline/HDRenderPipeline/HDRP/Lighting/GlobalIlluminationUtils.cs.meta


fileFormatVersion: 2
guid: fdcaf3aecf6718c4bb05a3616bcf6009
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

85
ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightScreenSpaceShadows.shader


Shader "Hidden/LightweightPipeline/ScreenSpaceShadows"
{
SubShader
{
Tags{ "RenderPipeline" = "LightweightPipeline" }
HLSLINCLUDE
//Keep compiler quiet about Shadows.hlsl.
#include "CoreRP/ShaderLibrary/Common.hlsl"
#include "CoreRP/ShaderLibrary/EntityLighting.hlsl"
#include "CoreRP/ShaderLibrary/ImageBasedLighting.hlsl"
#include "LWRP/ShaderLibrary/Core.hlsl"
#include "LWRP/ShaderLibrary/Shadows.hlsl"
TEXTURE2D(_CameraDepthTexture);
SAMPLER(sampler_CameraDepthTexture);
struct VertexInput
{
float4 vertex : POSITION;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct Interpolators
{
half4 pos : SV_POSITION;
half4 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
Interpolators Vertex(VertexInput i)
{
Interpolators o;
UNITY_SETUP_INSTANCE_ID(i);
UNITY_TRANSFER_INSTANCE_ID(i, o);
o.pos = TransformObjectToHClip(i.vertex.xyz);
float4 projPos = o.pos * 0.5;
projPos.xy = projPos.xy + projPos.w;
o.texcoord.xy = i.texcoord;
o.texcoord.zw = projPos.xy;
return o;
}
half Fragment(Interpolators i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
float deviceDepth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, i.texcoord.xy);
#if UNITY_REVERSED_Z
deviceDepth = 1 - deviceDepth;
#endif
deviceDepth = 2 * deviceDepth - 1; //NOTE: Currently must massage depth before computing CS position.
float3 vpos = ComputeViewSpacePosition(i.texcoord.zw, deviceDepth, unity_CameraInvProjection);
float3 wpos = mul(unity_CameraToWorld, float4(vpos, 1)).xyz;
//Fetch shadow coordinates for cascade.
float4 coords = ComputeShadowCoord(wpos);
return SampleShadowmap(coords);
}
ENDHLSL
Pass
{
ZTest Always ZWrite Off
HLSLPROGRAM
#pragma multi_compile _ _SHADOWS_SOFT
#pragma multi_compile _ _SHADOWS_CASCADE
#pragma vertex Vertex
#pragma fragment Fragment
ENDHLSL
}
}
}

9
ScriptableRenderPipeline/LightweightPipeline/LWRP/Shaders/LightweightScreenSpaceShadows.shader.meta


fileFormatVersion: 2
guid: 0f854b35a0cf61a429bd5dcfea30eddd
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

30
Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/AdditionalTestSceneInfos.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6918f3da28fdc4e47b6f4f6e669f1831, type: 3}
m_Name: AdditionalTestSceneInfos
m_EditorClassIdentifier:
additionalInfos:
- name: 1102
comment: Waiting for negative values in BC6H.
- name: 1103
comment: Waiting for negative values in BC6H.
- name: 1206
comment: Waiting for negative values in BC6H.
- name: 1302
comment: Open the scene and apply the correct pipeline.
- name: 1303
comment: Open the scene and apply the correct pipeline.
- name: 2203
comment: Scene not finished for the moment.
- name: 2301
comment: Shadow must be fixed.
- name: 2004
comment: No animated cookie on point light.

8
Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes/AdditionalTestSceneInfos.asset.meta


fileFormatVersion: 2
guid: be06383040e673b4887e323b8addbd15
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

19
Tests/Scripts/GraphicTests/Framework/AdditionalTestSceneInfos.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UnityEngine.Experimental.Rendering
{
[CreateAssetMenu(fileName = "AdditionalTestSceneInfos", menuName = "Render Pipeline/Tests/AdditionalTestSceneInfos", order = 20)]
public class AdditionalTestSceneInfos : ScriptableObject
{
public AdditionalTestSceneInfo[] additionalInfos;
[System.Serializable]
public struct AdditionalTestSceneInfo
{
public string name;
public string comment;
}
}
}

11
Tests/Scripts/GraphicTests/Framework/AdditionalTestSceneInfos.cs.meta


fileFormatVersion: 2
guid: 6918f3da28fdc4e47b6f4f6e669f1831
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

76
SampleScenes/HDTest/BakingSkyTest/BakingSKy Profile.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: BakingSKy Profile
m_EditorClassIdentifier:
components:
- {fileID: 114389694901652452}
--- !u!114 &114389694901652452
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name: ProceduralSky
m_EditorClassIdentifier:
active: 1
rotation:
m_OverrideState: 1
m_Value: 0
min: 0
max: 360
exposure:
m_OverrideState: 1
m_Value: 0
multiplier:
m_OverrideState: 1
m_Value: 2
min: 0
updateMode:
m_OverrideState: 1
m_Value: 0
updatePeriod:
m_OverrideState: 1
m_Value: 0
min: 0
sunSize:
m_OverrideState: 1
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 1
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 1
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 1
m_Value: {r: 0.8207547, g: 0.8178204, b: 0, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 1
m_Value: {r: 0.8641819, g: 0.9811321, b: 0, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 1
m_Value: 0

8
SampleScenes/HDTest/BakingSkyTest/BakingSKy Profile.asset.meta


fileFormatVersion: 2
guid: ed65e360bc6f5044d8f9af4f23991c00
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

95
SampleScenes/HDTest/BakingSkyTest/GlobalSky Profile.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: GlobalSky Profile
m_EditorClassIdentifier:
components:
- {fileID: 114517358334719460}
- {fileID: 114262273854700064}
--- !u!114 &114262273854700064
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name: ProceduralSky
m_EditorClassIdentifier:
active: 1
rotation:
m_OverrideState: 1
m_Value: 0
min: 0
max: 360
exposure:
m_OverrideState: 1
m_Value: 0
multiplier:
m_OverrideState: 1
m_Value: 1
min: 0
updateMode:
m_OverrideState: 1
m_Value: 0
updatePeriod:
m_OverrideState: 1
m_Value: 0
min: 0
sunSize:
m_OverrideState: 1
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 1
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 1
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 1
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 1
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 1
m_Value: 1
--- !u!114 &114517358334719460
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d7593b3a9277ac4696b20006c21dde2, type: 3}
m_Name: VisualEnvironment
m_EditorClassIdentifier:
active: 1
skyType:
m_OverrideState: 1
m_Value: 2
fogType:
m_OverrideState: 1
m_Value: 0

8
SampleScenes/HDTest/BakingSkyTest/GlobalSky Profile.asset.meta


fileFormatVersion: 2
guid: 903446f3b0b92344ba24706ec45f6bf9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

7
SampleScenes/HDTest/BakingSkyTest/LightingData.asset
文件差异内容过多而无法显示
查看文件

8
SampleScenes/HDTest/BakingSkyTest/LightingData.asset.meta


fileFormatVersion: 2
guid: bfadf1449b5b7fc468810eeffb430ed0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 25800000
userData:
assetBundleName:
assetBundleVariant:

397
SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_dir.png

之前 之后
宽度: 1024  |  高度: 1024  |  大小: 114 KiB

83
SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_dir.png.meta


fileFormatVersion: 2
guid: f9b2cc403000ed34ca8a93f2ae10637e
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

129
SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_light.exr
文件差异内容过多而无法显示
查看文件

83
SampleScenes/HDTest/BakingSkyTest/Lightmap-0_comp_light.exr.meta


fileFormatVersion: 2
guid: c8c82f22adff56545adfc53ca3788e5a
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 6
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

682
SampleScenes/HDTest/BakingSkyTest/ReflectionProbe-0.exr


v/1channelschlist7BGRcompressioncompressiondataWindowbox2i�displayWindowbox2i�lineOrderlineOrderpixelAspectRatiofloat�?screenWindowCenterv2fscreenWindowWidthfloat�?YS�%�����{ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������_������������������������������}�Tף�I!V(i�ԁ��T�F��a�F"'��1K(��$�x`Pǐ�@A�@(��D��%�A"@   @��@ $�$��0!���@���A�HpA(DAB@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������@D � 4��@ �P@C  "�b  �!�@� � 0 �`� @�@�@��@@�   H���A�a�a�� �I$��(��(��,��,��0��0� 0�L4� 4�O4�M8�N4�N8�L8ӎ4ӎ0ӎ<��4����<��@�8��<�8�A�@<<��@�@��@�@��=�@��A@�A�<�@�;@;@�=����=@C�;A�A�C�<@��;=�A��<>C�C�APC�d>A<A�����@� �P�P�� <AP�P�������PA����e��������P�C��=C�$?C�T?8C��?C�������uP��P�q�������������� �P����}��P���O�9�P��P����������AP���P� ��P�Iː������)Ɛ�uӐ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������C�$?C��?C�t�!��?C�d?C��?C�?'C�?C��@?3C�D�a�C�4?C�$>C�? C�>@C�DC������<C�<C�?C�?C����A�C�@C�A;@=<��A@@���;@@;A�=����@�@�=�C�A��@��@��@�=@��@�<���=���<�@��8��8�8�N��8ӎ@��<��8��4��8��4��4�M4�M4�M4� 0� 0� 0� 4� ,� 0� 0��0� ,��,��(��(��(��$�I$�I$� � ��q�q�a�QEa����_y��q�=7E.��.��3�L�l��K�n&��fv���e��U�Wh��ݒ��X�D�h� ��V������3!� ��Ȧ��-�Ӆi��Ɯ#q�^m�Y���m��A�
�D
��D
��}Pz�}PED
��C���}Px�yP
�FT* ����&�Œ &�%$M+ P�� ���9C������ݻ��S����<6��4�] �t���8ӄsj`�E�N���p��Lf�Ȧ��91!�/
���MD$�ӤNA�0��\��ېtːp��:e�:� �u8ۄi�,\i��I� G޴.�[���o�Ϲo>��\�z�gu�Y��֗�u��_������������f��}��o������:�������Wv���ݿw`3�U*��U* �
2�����<\���=�8��Grt}��;��~�)�u�>���q枛�7d��b�ӱtːp{��UƜfӅj`�q���3 ��Ȧ̀-��J��gIQ�QԕC4}(rZ���&�^���U8 �!�@���@� ��"�D��((�;AT”��L]0�!d�-"iiD���PH�����=��r�ݧ-�wswwwv��ާ�w�wwi������sr�S����q�wwwwwwww7m������{��|�9��s��T�)����v�������������ߧ����zߧ��{{z�޷��wz���ݧ9ӗ>|�\�q�Å¡›��]k[Z���mkV���������ֵi*GF��tt-GF��i CF�Ф) ��;�������� CB��4)�����ꮯ������ꮿ������������꿺������������������۶��\.8p�ǕF�����S�ϝ����Nn����[���������Nӻ���������N�nS�����77*|��T����srݧ-����{{{wwr��)�ssssssr��)�wv�����������ϟ*�>|���ϝO�>{?m^�o��{zӱsr.s���\�*�c�0���7���9���a�e�i�Yvr�N3���>p�6�ͩ�j|ڞ�Nn2�8Ӗ�.n2��+k4��ڶ�Պ��UՒ��Ե&��54�OM���KI�t\GFhRC>GgD���P��V���������4���i��S�����L@�� wtB�� r���!�1 �e�C."�E���v�Y�ŝ�U�qWwUwqW7suG7p��:�:q�m���ߴ��/�n�U��_�U�~��뾿�����������������;��������������������ѴJ�h�GD���4 ��l�<�Ϝ��s'g2wMU�����q~ߋ��{z/oE�ػ�wb���"�99�>mϛS���lϛ5�5�U�U�uu
�5Ԏ��~|��"� � ��� ���4�hRBЊ�PЊ�PЂ����'��ZL���Z,���: ������ϝ9������N�������������nnӛ��:�>|������ݧ7www777.t���s�9��ϟ>u:���ϝ��nn[���������n��۶�������Oo�ooooS��;����Nns�ϟ.\x��T8m�{t��5��J�kjڶ�����������������������:4�����HZ��~~}��]?����gY�����H���hR�]]_��]_]U�]_U}U��������]u��������wU���U}�Uw��UUU5��������on���q�ƥr�˟>|�.{����������nӻ��������n�[���������>|���ϟ>|��ܧ)�srܷi��������ssr��ܷ77777m�r�ݷ)��wwwz��˗>U;�ϟ+�ϟ;�K��"��߲����8�w��� 8��l�ԗ�D�M@�*�,�V��6�4Q��"d��N`��^N͉���1"�bgM��͙�6fRmO�NM�7p��ܷ �
��T@�ED
ڢK* U�C��T>��Tڡ�m@���2��0� �%iI��#��, �zg�9����Y�dV��n�<����=Ov.n6��4�o6ftؘ>zN۱t�7p M��٘@��/ �q���_Q'6�w`���;�C�A��82�n�SJk�I����.�u�K�1��v���~������w]~w_�w�Y���w_�����~w��w��wy��}�w���w�w�vwwwv"I�Y��}P �6��
OL��L���>�D���9�>���~�����.��v��q���a�;n��.��rq�)ƦUƧSje&���2)�>lH�����"�����������Ϝ��OH���,��������AT4@�
�h*��TB�Uh*���%PQ$��b��bɐ$M-"h���4�� ���.|��[�������sr�ܷ-�wwv��ݷ7i���˟>u.u*q�����wv��i����u>t��n\�����Υr�\���\�������r�����ݧ���{z�޷�w��������wwwr���ܩ����ʣ£Ç
okkkj�ئ5uik[Z�����mmmml�-�Kkd�mmD���дtti F��i C>������r��޷ﳴ- CB�Ѵtm
B������몺���꺾�����������뮺����������������ꪪ��i��kkkj�����Sw<8��˗.\�\����S�ӛ������������Nnnnns�7.|�|�T�����s���r����T�{�����幹����s�.|��r�NnnnS�����N�ۻ�����\n\�r���s�S�r�r���o�_�i��ݷ[v�m�r� r�n�7m���Mm2�� �,3L.�1\�.P����U6�Sj|ٝM��3=�\�a��\�squ�XZ�a[U��VV�[ZՂ֬�b��TՊ��ON)�rOJH�2F��9�?>Q�:���~پͿO�z�2�<]�t���nS�'S"�2T�����;n]�.sO��|�2�"�! j"��rY�ŝ�Y��]�r�U���r���/6�F�J�x��$=㔫��־��_�Z����������������������������뮿��������������m$�$tH��HѴK#�Y <��`�<��Ǝ�4u���5{?�wm]>���O�����ۭ;N���ӛ�9����\�f|ٟ6%͙�ؕI��b����*隣�:�j��;9���?=�4B�e
A�4CA�4CA�4 ��4"��PЊ ����6���i.���+��� ���.\�|��[������幹�n[���9nS��>|���Σq����v�ܷ7777*|���ϟ*�>\�����ˍ˕Υs��r��nnnnnn�ۻ����;����nۻ���������S�S�r�ƣǏ6���靚gb�إ�ZZֵ��mmmml�������V�J���ֵNGJ������Ѥtt-CC>������Q�����S��4���#�H���]]_��]_�]_U�U}U���]}�]u�]u��]W���wU���U}�UW}��UK��ű�������mm[|*|*7�<�<�s���s��ss�;r�ܷ.|�9��79������ϝK�.\�u:�K�˝J�S�ϝ�rܹ��ܧ79������-�rܷ-�r�����ܧ)��wwwr�Q�q�\�r�R�Q�r�R�������~O��r��6�uƜ)6d$����� @J�f�6��4Q��"d4`����l�y1!��!$���ؒ2bDba���ٙ�fe&�����p�p������5�+B����*�B�\T@�?T@��P���@���2�8Pe1Rb��dɥH�DB��h(�3�9#�9:�w�[���?�xޓ�������\i�A���f���y�y��:òu� �� �n529�;� ��*F�7QN&�+��8�pu�8,�0�\nA��A�\jd3b@_D�`�`Hd�p����H�9T �@48�;����[��������뾺���뮴?����C3C���� ������ ������>�߻������4B���$I"$IXEdDH,��Q� � ��x���=c���G�U[�������>��?�x5zN�v.ӱpÐp(�ۅf�Л3"�3 �fD2bgɉ�͉
>��γ���>�S�9C�9Ð9c�87=#ŏM�Q�@6AD�*����@H���YPU*�(AT�*� �((�MAd� ���B�iD%"I
����'�|xܹ\���\��s�s�ܧ79��*|��ʟ>|���r�Q�}�r�ݧi�s��ܧ*{�>|�����w.U.\�r�Ǐ.\�����ϝ��nnnn۶���廻���Nӛ����n[���|�\�q����6齽�kkkgf��إ�z7j�Z֭+kkkkkkkkkd�l�J�Y-l�J����ҤttttttttiC?:��9��@T��uת���Ѵ-GGGGB�����ꮯ�����ꯪ�������뮺뮿��������������ꪪ����y�__^׶666vm�j٦���j���Ç ���ƣQ�r�˗*�>u>|�w>|�u>u.U;�˕K�*�ˍǏ*�.\�r�Υ˗.\�����s�ϟ>|�|����ܹ��7-����r��m�v����q�ǍG�G���ʥF�7wkݾ���=n���NTٟ6eŨ�j�6�[L�L��� S��jr��BU6�Rn\��M��f\ٟ6'͉�a�qy�.���)�kkZ�6�� k0��+j���Һ��j���jjAM8'�����hh6�{Gg�wLUk�f�����^�,��U�t��p�u2 ���R�LrGH>�� wt@��!spC;pE;��w!���E"(��� �0%=ŝ�Y�Ŝ�U��\��#�sh.T��lDat�`��ZF2�����J��}�t�������_��]����_���_���_��W��_u}��}��_wW�_u}���8���V��:$�$(��F�"B�(��X�<�����0wFj��y��w���������=�û�;�Û��N.�3s���3S�nU#S�jU#uѳ�^������\��N��?9���?=��CA�)P�eP�YF�i��B�m !�4 ��H ����%�i-H��C@��P��q�Ǐ�.u*�O�ϟ>w:�=ʟ>|���r�˗<�v��-���v�9S���ϟ>\���R�ƥ˗.<*7<�Ԯ\�r�s�sܩ�s�Nnnnnnnnnnn[��*u>|�|�\�<x���n����m��cc^�ףy��k[V��u���mmml��J�d�Y+%d�Y-l��T���������Z4��#HY�gI��#I�9pܹ��p��}GGGGGGGGGGG뮺ꮯ�����������������뮺����������ꪪ����f�Y��o^���)}�������f�������p���Q�q���r�R�r�r�˕J�˗5.<�q�ǍG�F�R�T�ܪ\�7.\�ܹT�T�s�S�r�r���|����ܹ�\�˝9�����Nۻ���*nx������Qኺ���~��^zo[�t��ܹ�2)/&�E0��6@�T�C���s$,0B�2^E���F�G%�t����%�A&%Sfc�fu6�;6��Ӄn6�8ۂ��+>��ańKZ�%�������k(��[T<��*j �U1d���F�$tTD���y��=GQ�X��>�|J�� �����ہ��8��p&M�!%� R^G��A��{vN��b��A���S��� ٗ%�dn<MD ��.&b�f�fb'sr\���n ��ϑ���K� *�E��lu@�8�Ь6$HBz������|Co^�ϝ�����w_��Y���_�����������������w}ݝw}���Wvu��v I $�B�����D� �I�VD(��.��!�
�����S�9�:�w����y���~�qᷦ��F܃��n �ۜژ�lΦ��sbU6&*��1!�>�>��B��8t���8|�O��<����L�CAD�U AT�UEdH�U�(��Z*�YP�U*���QPQ!Rd��$��%��UDT��g�{u.<x��Tyr�˗.u;�>u.U.u.\�q�������ܩۜ�������W.\�r�q�Ը��ˏ7
��G�G�.\�s�s���Χ�r��Sܩ����s���r���ơ�on��٦vvi��}|�o7F�Tg3F)]]kZ����R�Ե-���Z�,����mk%�ֲTKM�
8��]P�.��~�8�e}��-*GF�������몺��몺������������뮺뮺����������ﺪ��������9�ՙ�9��k7���������űl�[V���շ��p�Ç��<x��Ǐ��<8\8p�Ç*�J�q�q�Ǐ+�+�+�+�.\�r���˗;�>\����r�繹nnnnnn��n�:8p�Ç8p�ט�3{�_�ͽowuw-��ɉqb<X���]�h�Tɦm�Ll]�7*�r�7*�2�3.L˓�1:���n|�ϙ��4�3Nnsp�ֱ��c+k[X�*X��˭��Գ j���ʚ����zL%I2��� !���ƪ���l�-t�g��ݧH�� r��LvgLnu!�rD�
#Q=o���!spB��E>b)�K��W �7�<DP�0�"�@��ug7Vwqg7s��9�uH�'���6*�P D@� D�� ZD����+�g�ֽ��߯�����뾿���������������������������������%�)KLT��4���Z#��#�莡h���>��B~y�����tW�-�{����x���^�2�:e�p˔����3�b|�J�^\�ˑir5]��ѣ���h��Gg?<��y��͡����h.��� #��4�(貎�(�-#��: ��-!���a�0�$]D�:�.~{{|8T8Tn<j<j<n\�ܹ\�s�r�˗<x\j*o9nӛ�����Υs�Υˍˏ<�5�<x�ۦ�8q��n<x��˗.\�|�U>|�\�|�Թr�ˍK�F�p᷷��Ml�;;4��n�Ѽ�k5Fs9�1��������kkkkd������T��KZ�d�Z�K%��Q-TҤttm ��@��H��2���F�����ѴttiGG�����������������������뮺�������������������L�K�,Ř�f(͙���͚���vo7K����ų�l��mSv�ݷ����M�w
�8p�Ç � ��M������n��ۦ�\.<j<j<x��Ǐ<�r��n<n5+�K��.\�s�ϟ>|�9�n[�幹����R=���›���)��_Gh~v��>@��4�]vq�������hlJ�f�h�A�$L��$ l�fM�vF�"��$����Ix��/!�� .�ć�ă�"�5f���ja��p����! �HD���D�D�,"X �!X�� U�a��P��pP<�8Pa:LY �"iB+"AD�=#�9
:���J����>*~n�v.���ۄN30�&&=&$ �7!���3D�EQ3'�y����t˱pۍL�٘s6fC&$!#q�������L�@�03f����e�58ۅ\m���3����d5�0Z�%| �p���0S ��L]����Z߹�ϲ�����>��C���������뮺�3S��������ﻻN��������~���~��?SH.LY 3�.�Z��CIH$MND�!R$�Š�UH=C�H�9��B
;B����~�����e��ñtq�8a���Ɯ#�3 ��Ȥđ� �
2^C�^@[���q3�93�9Ӑ9S�8Br'=#��zG��� �2��8����Y��ȈQYC��"$VDQY+"�*�!Ed!P��^ �(&�`�g�"�!�$�AT�@a�oj�����P���Q�Ǐ<x��ƣ��ǍLJu���r��ϟ>|�\�r�ʥR���q�����P��ooon�m�8p�p�����q�q�q�r�r�\�q�q���Dž›᷷�Ml��Sƾ��j�Ѭ��c1�����mj[[V�ֵ��Z�J���kY,�K%��d�Y,�K%��k��h�:ZZ::�!Y�0s���)�9S���*KKKKGF�Ҵ���������몿�����������뮺������������������������[-���_1e���b��sTg5��Q�z7k��Z��űlS;;;[;[[[Vշ��m���{[[{vݷ��m�Vյmmm[[\j5�<8p�£��q�P�����ƣǏ\yr�˗+�K�+�>|�-�rܷ9�nnnnp������oooo#���庲���{x˶��m�S���#Q�f٦��5L�gd��v6��nU&cɘ�fU#�x�7*��r5>f������L���sp˛�V�E�k%�X��\��ekX��Ɩ�4���uM)�iKL�t����#H�C@���Ϊ/U��#�|����ty���pju1\�
e�O#�%����I
������i� ��-���3�ːS.!Lx�1�B�ÀSL8 Ar�$�����i� *�,� ćXA��0A�BT����VI��~���䟧�뾿�������������������������������������i������&KHN���+HR����C@m �������㮈*芯"�"�����|����ۥ]�ܧܷ�S#�L��E'̤��"��;8���k8���N�2~q���'g�?<��y��HhGD�&��6����,#h����:,#h���(�4��� !�����E���F�*�yc�ٶ�i���n�۶�8p�ǍǍF�����Å7M��nns�ϝʧ��R�r�ʣʣǏ<xq�q�p��n��۶���[|.n.5�<x��q���ÅC� ��������cc_^��Ѽ�f��h�b����j-�������kkZ�����+[%��d�Y,�K%��d�����,�K%��iRZZV��#�iZ�����Q0J����+�����IZZV��#H�5�]u�Uuu�]_U��W�_Uu�]�W]u�U���}u]�wU���UW}�UW��}�G��r:+���h�����|��Y�͙�Y�՚���o7k��l[4ͱL������V�͵����l�V��ͳ��l�S;;<8p�Ç8p�Ç
� �F�P����x����r�Q�ʥ˗.|���ϟ=˟=�w;�����kkkon���ڏ���9�~߱#����tL����LJ�j���f��d�HX0>����I/F�Cq����������W��^CR^\���LN�ą3f{�8(�Nn6�t����,#$��AI!)!ְ�a:�%�a
…�
ڡ�E* ��2��1d��"(ET)���}��o�b����� OA��m��6f|ؐ0�ܐ����MD���# f(@���>��x�'mغ\���SSfw&$�n7#Qq5&`�f @ ����r]�m��lˑ���h;��p@/�t\'�0)�` ŀȒG��o�So?O������y󺮪���������������������;��;��������:�����������OL]0ZL];LY0\H]7�H�&��D$�Ȫ�EADAC��􏳐8&}?GPP���
/�����M����m�8����0�lϓ2 &��1 �lJ���]p�������Ȝ'9��<PzG���*AD-P���� "�6�ȍ�ID�#ȒE�I"@�Ⱦ�ȑ"�:
�D��h&y ��y�'=�A4�?=3ض-����kkn���ڶ�{v��B�Ç
� o�7M�w;��ϟ>U*�K�+�ƥq�LJ � �B�Ç8l�[[V������7m����|6���8p�p�Pۦ�������gf���ףy����s�������V��yGE2�Ej��������ֶK%d�Y,�K'd�Y<�K'D���y,�K%�z6������jY'��`��\p<L�+�� ��Rt������iZV��i__�WWW�uWW�U�_�___�}��_��u����_�w�U]��UUU_�S)��e2�L�#���V����[-���,Ř�f,�g5f�Y�7�����}}}}{_^����٦66m�cggf��66-������
�C�
n��o� ��P�¡�p�ÍÇ��<x���n\�s�ϗ>w*�>|���ϟ3�9�gfڦ����kȿ"��7��޷J�n�̴��@�8oh�6�fi��R��Rf\Y�"tW�q�j5Q�j\Lʤf\�O��r1;�y�0�8]�„�b"VH�,�BY"��b���e��-�Ymb�ҥ�� )�Y="�R%P�J��P��"��~���ǟ���9ѧ)�K�LQ>Bi �U�5�<�Thp a�>�� {xB�������'9�3�"��)��*��*��<�p
��*����'nn�L^6�R���'P~*�8`M��\D����_���I��O��|������}����_�u�_�������W�}���}��W����WW�W�_a�za�za�v�l����%�%iIiҴC�m2:t3�'�⣬�Y��U��������?�>��>��>������s�1���!�r�!�r �ȽU���^�.vqc��g�;<��yt)�hC@�&�L��eH��GD�:&��]E�tXGE�4CA�)O�d��O�2r�q�G篱Lllll�;V�ͳMm[vݷ��M�{{{{v�5���rz|�T�U*�˕ƥ��DžG�C�8p�����M�6��흚gggggf�٦�����kkokokoon�۶���kkgggf��إ���n�f�9�1���z/E��[#���L�Ȳ*!�r]]]mmmmml�K%d��K%��d���y,��tO'D�VJ�d�QKKKKNԵ�]н�8�X��.��$��Z����--+KKKJҴ������������������������B���꾿���������������!�2�!��!Ȭ�)dTS)��yV��r�l�Z���c3f39���f�Y�7��ټ��y�_7k���������������6����on�P��������on�����p�[|8p�ÍG�<x��Q�T�r�˗*�.|�W>|���p=��g�RtuC���Y����=7����-M�D��� [,�/�D�l� X,��M�&��F�j(��Eq5i���D�Q����܁�K�zK��1" 10a�3)6�sm��6�+,$I$�$��AI V$��B%�$"X ,!X��ʈ�T �&�œ
�$�(*����㐣��n�6��X�7��F]jd3f`%s^Cr7����&`� &l��x �/"u����zn��]��pÍMٳ2)� #伇�n/��F�jH@�P3
��
bl�v�4��l�zK��3bRㅀF��jTH�}W�N����!��'�|��~O���gu�guG����]g����u����������������v���{�v}ݿw}ݿw`R�.�^��o�.�^��`:SL/L](�.�\��@S�M �H��ȈPU�(x��������Y�w+~�}���}ǚvN��]4����+6�͙�2lL�lI�/2 / `���8�<����r*r'g"y#�<�H�s�B�Q�
� H����uH�(��FD�!RD�q"h�H�D&"I�H��ȈU��� ���zg����z',r9���_^��ض6)��cf����٦v�i�kkkkkggggnR�ܪU*�.\x��£p�P�Ç �
�7���M�t��ݱL���������3�L�;T�ͳ�l�S;[;;;�1ll[�n����k5Fs��Z�Ql�V���S)�d6C�Yd�Ac���Զ��-��kY-j%���d�y*%D��O%d�VN���y<�O'K����j>����S���5z�V����ZSON�����iKJҴk��뮺���ꮯ���������������������������ꪪ������������ �2 �!Ȭ�"Ȳ�S)��y����l�_/��e�Ř��l�g3fh��f�Y��n�ټ՛�Ѽ�o7������
ooon��ڦ���kookn�����������
��ÅÍG�Ǐ<nU+��K�K�J�r�˕J�˗+�Çt<u��x��>����.��9̊|��Q"�&����"g`�Mɉq^<Mlj��5&�q3&#��j%�ļ��"��^v�i�.�2�n���$�D$�D�� ,� +$B��"%�B��D����
��
zD(菡�<~x��UcWة��C�:'v��:b9�%Q ��5�@3��
0��M�鰞�6������.��]�N[�L��3�K�U.!\n!Tx�Q�q�B�C�Vݶ"�M���17�BM�������%�2xVrT3Ջ?O��w�I��O���ߪꫪ��������뾻���������뮿��뮺����������� �����zv�ON�
��)��)�I��iiiZ!�/���!��$>�UЖ��/x����◷�/n�����+spW>cS�5>CR�5>cs�J�^�-]���g:�*vqS�����B�*��Y @���,��dtK�iJ�0����L��iIh�F�6��m
@�z�h.~z�Y��g0vsQƳVo7�k����/�k���ͳ�lS;;;�3���9r�˗�<x��P��P�p��\6����������\)�['������lllll�6����űLR�������f�Q��b����j+��S)E,�!�h��h� ����hv�hv��յmj[[[[[%��Y,�J�d�Y*'��y<�-D�y<[Ųt-d�kN���5lY���S����� ��9jR���;J��Ѥ��KJѯ������������������뮿�������������ꪻ�������w��w�q���{��{��� �,��r,��YL�G��l���l�[-���j/����Ř�f,�g3��9��g3f��k5��f�u��7M�{[[[[[T���������7m�[[[V�7����p��8q�\.<xܸ��\j<n\�s�r�R�r��  vq���� �����.��u���.&�@�{EZ �"e� �9%����j&�Q5���D�3�f"h��D�C����ɉrbbI�;�S�ۖ��$�yA�A@�RK$� 䂒Y ��P$"Z����T'�2�&0�MLY:IdBJ �q���:�����|���.;Pq���ؒ^@����0 @���Y��-/�.�͖l>���� 8��I����p!���l��ĸ��&D�n&�8��32@�. 6�7P/t�y(� 1!�30"]q�m�w�[~���|��|*�_��|*}���_���������������������������������������뾻��/�OLa0/TN�L ��L $��}1t����O$M A"I�$�!�U�QV=#�9�j������z�}�^}�� N��ظ �A˛Sy�7�̂,ٛ�b`�&$��������GGUQ��y�Ȝ����� ������YD�"D�#h�H;H�V�4��J�&��"h��$F�$��Ȏ"�6�����zG����r'���F�9���Q�7�����}}}�_b���5��b��5��K�.W�<x��p�›�ۦ������ojڶ��������T�[H���K���뜾�������o_7F��o7����Y��g1��_/���\�G��L�d9Q��?C��;�P�c����殮���+���kd�Y,�O%��VJ��;'����y<['��l['B�-�bڨ'�jY,[���j&rڴ�'�i�v�������Ii_���������W�U�W�__W��]u�]u��U��wU�WU�U�������9Cx�7���7�P� ��9�c����;C���X����A�d9EdVE��Y���;+��娶[-e��k/E��b�Y��b�f34g1fs9�ooookn���������kkj��v��i��kkkkkn��������p�P���LJ�<x��r�R�r�˗+�
ϣ��������xu���jc��=#��khy�`�m�ܹ�#Q�j<MB�b< B�Z7Ѩ��Ҩ��"��V\�N�Y���nv�a�*���Hx�Hx�Hx�Huk$:J�[TqZTmZPm=1���h��(�I��z�ubG����t9r� �N�����O�@&B� m턦����6�����|@����� ����p)��*� �|��\��q #�+��,�m �Y��8����N�~w0�o:�s�S�X}��|�|�����'{䟧�?O�]w��W�u�U����]]����W�]u}��w�uu��W_���W�_u}�Zza=0���GOL����a!KL$&�a!+L%�i��� ���OE�B����g�t��o�ݾ������G��#��ۛ�W7ӹ��sO��\�3��es/�[��tV��Σ��Dvq����HB�"B�(��DtH��#J�,��Y-"�iKH�Z&�2���tM#�m @������ϣ�?9s��:�3�����j�Y��n�f��o7�f�y�_7�f�޽��rU<x��LJ8T)�ooooon�۶��n��齽�ooooo�.\�"�����y��o7����y�7��f�Tk5fsTb��3|��e��W#�QJ"�h� � ~���v�lw��n��j���Ʊ�kҺ����+j����ֶJ�d�VK%d�y<�-�Q<Z��['�bض-�bض-B��
j��J���zԮ�)�I�RzZZZZZZ4��%��]u�WW����UW��__W�f)u_�W��_U���U_��}��5�P��]
�^+�x��^+���V5���7��������=�c�?���A�d9EDYK"�e,�#��<���r�l�[-E��_/f3�ř�pۦ������vv�����������ggjڦv��kkkoj�������۸T8\8p�Ǐ�G�Ǘ�+�.\� S����c��şu�=7��L�ۀ3fd2^A*&�*����f�mh"hP���O�yIy�/����5���3@�P3
8�� 01D @
���" q3T �i1t�ȸV,H�Z, ���XаXL����I�d��H*$H)X!,!X�ꇔ`�ʀ�1��A"iIH%=3��"rgC]o��ku��q� ���`�b�S ��K�j&� �34 @S�����s}���u��u��y��x]�:��xP�]4��p��8͙�MyRD���h �"R�eq��d�� �h��)�`��L�*����:�
�9L]��
h���(p0��LÀ��Lǀ��Lů��(���������� %��T%S鋦�!d�ԉ�tI"���xx��G�q#�8Z:�����~�f>��}NJ�7�v.�W`�g�m6fE&&'%�;#q�5\L��L@M��˶�Y�
Z;C�&��M�LIxh�&�0ј��
$FI� �; � � z h ��L+$
K* &91d���� H���P�
2���s�<\���=�9�� r�!B�}!GRu�6��5mmm�|-��8p�ÍC�LJ|*{{u;s��O�*�K�K�7*�<x��p�Ç�8S|�ll[;;[O��m���p�\y\�\�r�r�Χ��S���ΧS�r�q��x���oookf�ئ)�{_7F�Y�3����ӵ)M:OOSSSR��4�MKSSSON��Ԥ�5-M===+KGF�:���{'@y*!�D�����;�4�o:��օ�ii�jjj�W���Vf�x ��W���9��k7����z_cb��ڶ���oo�Ç �77<�\�ܪ\�\�T��y\x��p�P�p��ۦ��i�f����r}�w~�9��Y�w����<��q�sە:�O�.7.W.\�r�˟>u+�Υ˟;�ʥϝN�r�ʧr吝�E]��o������.���-��^U�^ ��Y����+�RfU6eň�^U��xTMG��p5 ��p1!��8���ZM��Q4��E�b��,F-bŅ�e���ə'�imcKZ�յR�aM6��KE�i�\��gtk�7�w���N�sp�u1�T�dt��Q (����:�/���|e�ᇭᇷ����v�v�spa�c�/*��j�9��@���""��*@�B�. 9@� C@��\�V��� �Q���:�g���������3�����2 ��3��*���-AZ��i��i���@���#�Q D��<�����1WFk�Wf��O��~�4���wM9�i��3���3��"��Z
 R�{d-��9�5W�o>��L?(�Ź���, ���:$* ����`�fI��Z�6��m-#ih����: !h0�z�h0~{��vr�g0wLWK�K�o��cb٦v����kjۦ���p�m�t�7m���{t��5��)ʟ>U;�.\�r�����ơÇ8p᷷���M��ܩ}�f��v����oo�C��G�7�K�.\�r�˗.5.<x��P�m��S[;;���/F�Y�3������+�I����t����Iڔ������jjiښv���ji�t����GyΞ�H9P$� i���j�iTKM�~�BҴ�=MMMMZ���B�2
뮺뮰2
��>���_1��fs6k7f�z���1��l��[[[T���.<*<x\j<n<j5<8p�Æ�7��M[[[[;;;{w7+r���δ-G�����T"�4�g(rQ����>\�r���q�Q�˕˕˕K�+�.\�s���˗.\�5.8bzG�r�U��6���� ����̹/�&�P.؍���FEl���1"/#�nC�5�����x��"t @O�: %l�8���P1�&!��)�&�c �p�^���p�X-tX d��o�
ID�$"$4��W�*6�ʖ��c�J�$��
!G�x��:���n�t����^ ݃�8Ӂ.lI�E���0�,�-�l������>��?7��{zow��������:;)Ʀ͙T��,�x"�9�Ap��M'@l�M��lX1
����K��5�X 0 �� rаN ��r���EC������`&aՀ��W�����W��w�����&a�w�ED
��}PhP<�� � j &�b��䉤�$� �YQP����x�N�?Gb߻�K�?��—���]9)ƜM��bBI��5�&bt @4�fρfƒe[9�� N@�(�"��v�o:��t���o���
E� ����\��VM"B%���J &4��zD�H�:*�8��Z
8����x��g"p����9G�U�������)������kkn�ڶ���n���齪j����g��T�\�����Q�Ǐ�C�
oooooookkkkkkkj����ʗ��66i�����kj۶�8�j5<x��q�ǕǏ5*�������ƾn����f��2�|�ʜ-b��/�X�1B�9ZN��4�;R�Դ�:SON����ӥ5)===--����#���(�"Łl%����l�ŷx�Ѵ�==ZSSWS3��^��L�+��L�/3���W-�����3��f�y�ݯ��ll[4�յmm[[v��ݷ��p۶�\8p�p������ڦ�����ggf����ץ��ko���rݻ�|�ѵl���l��)�:��r�Υq���q�Ǐ<y\�<�q�R�Ǘ+�˗*�Ǘ5<xㇾx��U�yo�?�Q�Ҏۄs�V\JǁXSe��5L���Ĺ1.KƢj5q�j< ǁ�T ÁxSe���t�XSdp��C�*P�eKL�zd)�0</�� ع� �eI�2��E�Y# k[TҺ���4���tM!hC8���������!z� v�;>Cr���tE�&�͉�Ö頷� ��/�|/{x-x�B�Ope��z�z�wta�ta�pe���*c�/+��)�M�&Q*��!@h���-���{�L)�ɂ,DL�XD�hl!��.� �������=������f-_�`&dW�����������a�ڢE�Q*��umAB���Lm;Hm+DyD} D��<��8���:~�w���^�g���owt�����Z|�ϑj%#ĊaPn�ohy�hq�����g]��}������,���8>�$,��&�9� ,�:$mc�4����3)�KD�:&�� !�i Hg�?<�����4vq��5]�5�k�Y��n������������5mmS[V��3�����u.\j5��DžÇ���ݷ��M�[[[4����3�p�p���y�_b��٦v�����oo��Ç8\8��q�pۨp�m��[[4���ƾn�Q�5Fh�c1��eh�W#�bص�X�/�X� �� c3�Ӵ�M:RԵ-MM;SOON�ԥ4�==- ��>�LNH# ���=��a��y�:+��є��J�ե5u5)]N������1Z��2���L�.������dtG��r�l���f3���Y�7�k����3����m[[[[T�շM��{V���5����L��4�1��k��Ѽ՚�l����w<nv��wu������HUU�����Q���T.8q�P�p�p���Ǐ<x��Ǐ�8�n7
��
0z'.r�x ����zOI�n��EM��Ix�5T 6 m�hi�Q�3�����ME(���&b"f"x�p/, �.�v�f�l�a�e�+e���i���1[Pe@r�ʁRc ��pl.!p�\ ��p�B�h�'�b`�&��AI(��* J�
&�B�H��/ ���D��>��%��_q�����`�fc�^b���&`< �F�f–�� Y"d _����~O��OM�݋�݃��۠ozv.�v.�r���p��L��!���� Y6
% +�`�gP�U����(D,]�
�����!��t�
�x�
��~q��u����_��fX �u�����W}�_���,"X!,!T��A�����y@v�ʆ�L/LY /R$�T�Ȳ���H�C�������W��O���M�݋���nq��2�� MDW0R %l��l�b6ʶ�Dm�h�H�s�8��)j>����n�)�Ad��a�AAa H$��B%���E�P�0�2&,�V�4_D�"$VD"���A�@\����zǠvr'G�2�uUHf39��k7����}}{cccf��vi�ggcb�٥�.ϗ.\����x��Ç
ooookj��i�f��ئ)�c^�إ��p�Å��Q�7��׵��gf�ٶ������n��۶麅7�›ڦ���vv)�cb����Y���Qz/���\�)���CD/bؾ-b��/�P�1�c�1��3��Ӥ�M=;SSSSR�ԥ4���#��*�OiB�|��}�4|6lT���2�Π�������J���`&a�x ��`&fwU��������YJ)��<���e��|�c3fs9��o7����ئ66)��cgggggf�ڦvvvv-�����{_^��y��k5��Tg1��ll�[[w<�7m뿺��Ϊ���v��q���p�P��ۦ�6�8p�ơÇ7j8p��᷷b�4G�p�� ����={��n��n9̆W"��6>�щ�kˑ�TMK���MF�f��Z B�#n�(��t�{d09�����y���p,��uP–��� ��c��.</b���"'d��Dd�b5�R���SL�ZE��J�G��q��"�������שѷi�T�b�T�Ѩ�"t��l7h��6�d1f�  ~��� ߧ����m�����æM)�9N�;N�;n ��1;��� K��6ɰq���<lJ ���5�h�1@ a %�p.B1��D ��(�=04������������V������L�+3:��3���� IZ��ְh����*��E-A*v��;HP��*E�F��B�;8t����� ����^�!wp��� ��'�~\��Q��m���ƛ���)kdN���y�Du�FuѪ~���t�?O����g)5OY�G�imc*ҥ�� '�Y-2�iGD�:%��.��t,���>�0u�\��T^��W����|�c3fl�k5��Ѽ�o^�إ����}}�}}~/ˍʣƣ��q�ÅB�������i�f��)��cc^�ص�������{|8p��8�k5����}�ccbضvi��kkkjڦ�魭�kggf��5�-}z7��f�c/��er�R�e(� �1�{ű|_����(_��c�1�c�=KR��ӵ4�-:SN����Ӥtj���HpX"��D�f�M�,M�P��L��s�)kY*%����j������x ��_X ���`&b5_������Y�d9 �YL�G���[-���|�c3��Y�ݛ���޾���ƽ1�k���/�k��R���7��y�ݚ�f�9�1���|����6�͵p����n�����OoT�|��۸m����S{{{t����7�M���T8m�t�7�›��ooooon��Pu�c�9�?�n�τ����lڟ%�bj ����3�:F�)���P@�N���]��v�f�@��66Y�l�aA�͞�f�[e�=�̈́��@���F�y[P<��A�Pe0j
�(`/ B�p���h�b,�aY АRI��+ʇ��L6H�Z+  ��r5Y��K}��zoW`�50�%䔌��/�,�!�#i&���$,����_wvky��^4��[�t .A�Ʀ �fj�y���N6�7vn50o6eQ5�ZA��1(��p�q����Pd� `@�;�F� ���`�� ���`! �I�D��@A��E3��Vv��������`&h�w�����w���� �����@b,��%�UQ�*P�(�b��D��yH�2+"�
G�{�!A&���oݾ��5黻Bk��ͩ��1#�n �0: `Y��,�2�F� h�(� ��PP�PP������&9�r'���=3͢�G&.���TT>��P��(PF�ʔ��b4œ���#H�6�$D�����T>�L�)蝜������#�����vW-e��_/��6c1fs9�5��Y�7����y��ñ�Ǐ<xp�›��齽�kj٦v)���}�c^�����vj�Q�ՙ٦�����
4��3��Vk5f��n�ئ66666m��b��ٶ6-�c^ץ�vo7���s4`��^��\�G�Ȩ�!�1�~DZ�s�l[�k��|^��_��b�1�f�1�b�h� �v��������i��i�R4}<�)��By����� ����i�8 �n/���ؽ�d앒���mkWR����3���1�������{���!��Ȭ�S)dvW+���[/��f,�j�Q��k5�����o7F�y��j����o7f�Tj��s�1F(��岴W#��l�o7��66����˝����S�q�M�{Tݵ�������mm�V��ݷm���{V��5M���[V�7������a�/�#B����t(�S{�����wF��7;��x6��Mٚ�32�fU��Z< C�XT�M�7�B�6@���{c͜��{c�퍵�4�ة�lS�(�*F��e-B�Z��,HP1c���a�k&:O&<K$>������d i#�>�x��p�V9Պߧ�.Ӣ�pK3�#��aP `{a�t�Pj� ��)��랸6��v��\��^��`���n[���`�W m�3:pe���� ϐĪ��"�� �*`2��/�0� 0.�m�d��q�� �-p6h�e�k<��Y�!RԘ�
8A]�.����������3B���0����j'd�A<�K%d�rϬֵ�%_T4Q�u-@�7�����m2�� <Ru�)��_���j�Ɵ�wpi�cS�+�!Tx��QB���&ohJ�4$f�����HZ�4ϴ�|��8��<��y��Att�KL҇*]ZT��(F��E4ȓ�"OH�ZE�(��P�
��T�����N����G]בUe>ȯ��L����k-���|����36g3���sY�5m�
�C�� �n��ۦ��kkgf�ٶ)�z___7�����Y�3���s����յmmm�m��/��f(�f�ٻ7f�y�޽/���LZ�����7�����k3��Qz/��Y\��J"�r
��{�����t*űl^��^��{������1�c�1����H)���Jjiښ���)I�g՜�c�"r���)���6*t�2:���H,8Dp|����-jZ�֥u����>�3G��L�����X��x�7�����X�?C��� �Y��dyW-er�|��ٌ͘�ь�g3��Vj��h�f��sb�f3z/��el�W#�:#�e2�b�ٌ՚�Y�޾ų��m��nxT.6���i�j�٦i���f���ٶv��f������٦i����j�ڶvvv-�f�@Y�* ����Š:����z/E�73Sj#Qje�m��l̊L�'Iy ��@Hbj"���0@��.�>l�b6�6
��h:h�`5�*�r�@��a�dm����Z*�-�U�e[T>�>T>�U*(�P�"��`0 �p�b�h�'� �ܐTHV�%Cꃕ����� 5H�<�+ܷ�S�xðp&���f��8"f!� �#h4h��x� ��5q�a��&�
*���~ܷ_i�i�:@�]2�n�q��I�27���&�ۃN50d����&Ƌ�NBE;Bp�X@Ef��j(|�!B�A��x
�!@�� �O�#�����H9Uad��B��q�_���1��Lǫ�������������������7�B���XL$²A�TH� �`���PRT@�$(P�A���b��I���j������y�RU�]�Ϻ��8��E�q��͙�2^Cr503+e�6ʶ�F���d6d��cd��킌�Ed(*�?AT(�, ����<PU
�"I��������TA����1d�ԉ� �H*H�-"��@ ���x��r� p��RTu U�wo[�A��Y�YL���<�V�e��_/���_/E��a�n��p�S{{{v���5���LSƾ���y���Y��g3��{1E��[-�������L�[{��e��b�f36g3fsVk5��٫5F�Y���Y��g1E�[-��<�)��h� �����n��k�V*�M
1= bض-�bؾ/���1�X�1���1�c1�c1�ҧ����������I�t�O�me�4��34����h�������G�^��g�RԵ+J��W����f9W]u�]u�U����f!U��lO�1E
�U��WcX�7���������A��9 �dYL����[+�����l����|�^����_-e��l�[+Er<�#���EDTE��9 e��^��36g3��Y�__f�ڶ������v)�f���ئ)���cccccccfٶ6v-�ggb��vvi�ccf���׶)|7=$)� <7>�j�:߱#��v��%s���\(��,��i��O�ir+*�8B�E
l��ly�ly��橡�����5M
Z�� SBv��+{A�Tؑ�lykT}]RmR%uԵ�UA �0%�q(���Ŭ������j
���I�B�iI�p���7�g��#�:8t�iԃI�
l'6sA-�������:�. f�6��B��m�[was��\��\�����Ns '�0��ǀW�3>c��ǀ�6�M��hN�MH1�x"�p[�!!)�`�.>��4' ���E�h& �@�0�C�T!��?����x ������_W�����������d�X������rvL#x�G$��!kX%���9W�
��QJ� �Cd-��88;�^#�?o��;�$spI>B9T�q�C�p�67M�SA�;!�4�b�0�8 �C�m2:�-Z�����@��
:D)i�'J(r��j)J)�<���zC�ZC�h���>��@���琟G��@wC�T?^=�=�=wf���g�d��VE��e,�+���\�y�n���ڦ��������j�٦65��}}|�o7F�Tk3��c1���|�[-E��Gdy�ݛ��666m�j��ʞGer�[-���_/f3�͘�f3�1��Y|��eh��<�EDY��=c�;���5�b�b�OB|MBZ�\[űl^��{�|_�,_�1|c�1���c��b��5555555-ZSV��մKt"�h� 09@񐆰`�Tp��(Z��<�-�j��&b������f1u����f�ZǓ�%�5��>'�)�X�Ƭk��s������(� �����"��J)����h�V��yGDyG����YE�QC�d�?C���#��r�l�^��3g5���������ƽ/�f�to7��vo7�kٽ|ݯ����K����������������k���z7�" ��� � q� p#�?����~o��LyǛzN�.���m��lϛ �n'��C8���/��9�̈́���{DmKDm��F�����F�����FAq���@��F�h�����W���*���C%C�ҁ��@�0��Z0�p�]�`�XɅd�$"XU+�2�DL�G ��z'�GP#w��x.��\f`��'�
��EђT`yp,W 6��6AQ�1-�:�����y�3>����C�v܃�iq��f@j���32��b햀9���5t�Vl��pI! �vBp����`!@�`X ����@#� �%�Z�#��'�`�`)TQN�o�����`&a�����fM_}�f'w�����xT��&.�+�*LBL
�aY9�
�jH)YՄ*�v��WLMԉ�UA��<� s�u�������=n��Vq�9� E��j&bhl�ʶ&��A�&@�� /�F�#[3�^@��$_D� ��$^EdA��q��VEԉ$�J�L%�0�(2�HTeMA��A�)1t�Jb�>��A)"h�$� �����!5�<&����<��� ]u݄���~�f��o^���c-E��{3k�;T��յl�[[4��ͳ�l�;������Y��g3��f2�|�[+���\�)��dYk5F�y�ݛ���ض6s*e2�G��y��k-E��j-��Yl����G��e(��r ��w����^)�F(�5 hKBLO"'H�� bص�bض-��ؾ/����/c�1�c�3c� �8�M5555m[R֥l���!t4�Pp�8 p+�Y
d�� @����!Y��h_'D��mmkZ���Lë3��3$���R�0��)����<�v��û�+�[b�Qb�Sb��V5cV9���;�c�=c�A�d9 �9d4C�dYCd9AD9 Q����=C��;���A3Vn�dyEe2:)dy\�[/��f,�g5��Y�՚�f�Y�����6j�f��n�f���y��o7����|�o7�����n�٪5f�Tk3����ϳ������s�����|��x���'m�'7�̊|�eĂ<��z��t��G64�Щ�hR�Н��3T�v�2#f�Y���f�d5j� ��KZµ�F��G�G��G��G�9@�E���.�>,��a�+X:[TF���+D9B�8�޼6�� ާCwtΘK����4�M3'� LS����F\d&E���� U�6���Z���{��^��^��a;�a>@�\A�x�x\�g�!m�q7mW�Q������|`
���f�)�-�0 Ql�ct rІ �x�|I0��
h�Cg> z�������B���2���N�������T�0�=0��i�2k, ��L���D&� c%k*֨ER��-0kN� (��KA��q�xO���^/|1|1{t(��1� �.!�*=����6� L�!)�`(�
d��R�#��h��i��H�"Dm2V��+HR���=1Rz��5JZ��5*Zb�-1Rzb�􆒴�iZ#H��#�4�����gQ�Gg U��t+�W�*��M���Y��j�f�y��n��׶6-����b��6666666-}{^����y�5F�9����|�[-���\�#���EDYC��Y@��͘�Y�͚�Vn������D�C�QE�Ȳ�S)��dvS)dYL�"�h� �
��w�1�k�V)�4'�ؚ��I���d)�Ȳ,� �ض-b�-b�/b�/���ŋ�����1�c1�c3���3���Jj�ں�+'b� t/�'��?� .�� 8Qr�G K��l)�G��j'���ֵu��Lë3��3,��R������h��l���,�@��0�ìG�1%�x�bzX���b�WcX�7�����c��;�X�=�c��?c��=�c�;c��9�c��5CX�+�L͙��3 ��Ae2�L�Ȭ����W-E��|�_/����c/��f3c1f3�͘�9��g3��Y��f��h՚�Y�3��9��g1����V��Q ����"pt}#���������A��۱tÍ�
�fD^ID܅p1-�]���͓h�a�DmT�A�%d��͒@w�B�d� "��22B�VHY Z"i�J4(h��+�k�aa
� a
�[* T�T���ڃ*�� ��`��X+& ���r* T*0��D@����=
�����m���LvF�"�x �#h �C�
.��Z�f 7�fh�헀����&q��W/�߰<���yǜvN�r8��M��%�9QZ��U���&X�P,�l���j# G��@��#A�@ ���@+#�<��`wMhx�TX�\, �&��>��ۯ���W���U�����_��_����]�����Pe@t��b� &L�b��錪�&I ~,V��������4B�U@� ,r!_V��>��;n8ۅ&̮F�9l�B���4�fF�2��^C�^D7!���I$H�6�$DIH�$�
�&��H-H�@>�L/L]GL(2�J ��)j �P
�� �Iԉ��I =��"UA�<`���蜡�uG�`U�wzV���_/e��|����l��Vk7��Y�{^��������^����7��to5��Y�3���/���Z+DtG���L�E��9A�d�=D�;eh�Z����ř�6g5��y��e���~�� � � � �2
����{�����WB�b�bjb\;ĔPs�&=",�"� ��DZ�'���ض-�bؾ/���� н���1c�1�c8�1c63��8ͪz�����X������y�&P"l�7�L�p����������3B�:%�����\̒�3J��F�3DZ���� �2�!�)�'�Xsa�#�&$���[b{أ��Ub�U��^+�t5�cX� cX�5�b�Wb�W��Ub�U�qN9"|��eh~�q��,� � �_"�#���"�dyG���r�Z�er�[+���l�Z����|�b����c1e轘���c1��_/��Qk-��eh� �C�@L��'?8RwB���5�6��㻣n��1�r�\*���-�
�5L�l�ȍ����d8f� ��CF)�Ƀ� X� X�Bs4�Ngd&���BBV����'Z��j���Ej��ږ��D� ��L&�Y0�N�խP����� �Q�0��Uv o����8 :@�� 0��y���N\[�a"-D2�� �P
��kt�Jl�º�+��ϰm}����k��s��s��^�0�|� ��� �p �@子�uZB�
Y|�^ZD g�-���h8"BN.i��H)
�Ht ��� ��% ��8I��:�Yψ�=O}���f!]�&gu���U����a-[P&+�T����b����HR$�#�EPWY�@�Y�Am[PT}0_N��Zƅ� ��5^ v ����:\��� ��<*��4 �S@� �5�r�����#Q�Q ���NOD'�i)ZA�v�f���i��Za�v�n��p����)jJjJj����$OHH�$%J���%G@J�x� �1��S���tׇ�/���O����W����j/���͙���՚�Tj�f�Y��k5��Y��b�Q��b����Z+Er<��dYC��AD?���������7����2<�+er�[-E�^�f,�g3��f@o��s�1�s�1�r���k��WB�SB�OBZ�w�(:�惌7��c�!�r ���~�q���j��tO'�Y<��bؽ�b�� ؾ/���/C�1��͌�3���3����*��+'��y���uP\ ,�`0�������� D�`�� �1B�O%�Kkj������&bU���^f#U�����7cx�9c��;�c���X����t�d\7���{l9���;a݇o�v%ĸ�bz��أb�Q�1=��>'���Л�s*�l����\����#���1�x��8s|� ��z�!�N!�r!Ȳ+)�Ȳ�K)��e2�G��r:+��\�W-��Y\��Q\��er�\�W+��G��(��Y"H����
��  s�}[�v ����M�hv.Ӎ��̪K�"j'@�$ 6{eZsE=�&A]�&Od��C�@� 0��\}�0W `���m���016�RaY' D�H*$��J����g�, ��y@����ʂ� &c*���`��� �H�' ��|8�F߰=='Rq������-��h�S�����������L���[,�-�le[A�6�0�*������>�}׀����b� �q��05M�\MD p3 �f��h�(�<�Bd��d��; €�`: ��j b�ST@
`� ���0!X
��VLu $�}:�J�|���='�1z��4���������2T>�����P��(2�錦�� �t��j�,�iHe!ez&,�*�(:��>�Ȁ�ET=#�|Q��v��_}��S���Ԁ�x� ��W���0EM�3%� 27�j@����0��<���TE$�L�N�H:b龘�`b$0�� (UT}A��yG�(�T}1�Y1��1t�a1d�"i1H誀- �� G�}���GUu������*ݳ�u��!��S)��y[+���l�^����^�f,�b�Y���_/���l�[+����R�dTE��9AC��=���9Cx� c���4��5�L��2!�,��dvV��[+��e轗�Y��c1�&*�8�b�Sb�UB�S�1F(�>&ĸ���$��8q��a��R!����{�1�n��k��S�hSD�VO'���ض-�ؾ-b��/�P�1�X�1�c3�X�3�����Qk%d����.�w)�7������|)PB�vY JH���8f���N�jҺԮ�fCX ���&c��Sb�U��]��W�X� �������=�c�� �� �� 0��k �7Ì8��l:��ë؏�<Gb:�JЏ�Gbw�#�<�#�:)�e,�"�h�!�h�g4��� 6x�8��cT9cϏ���<���������AdA�dCd9��6Cd9E�e2�L�S)��e2:)��e2+)�QdYd9C��A+D2E�CTm��<8>�N�׈����į��WwD�n g�K.A�x�P���sA�[!�4�f��d���\&�r�-�� +�!���R����KnqNS��y0ț��2Y0ؕ� �k+Z��֨�]Q2���KL;M�jD�t�L���-b>��v �s�����ΐ+Ƣ Qz �8L%I���dx��5�M�f�l9�ed恅��
��+������ n� _� �� �� ܷ�� '�ˈ7�p��9kd�k��.��!��2 �M��&<*z>&2 Փj0��x �Abi��S<.����������S����_���w���U�fw��� *���� �ڠЭ����KP#�i���L&%i��H#"� ����G"�iD#�
��x"κn�X��Yz��n`�q�~n8 N6�e7&Ϙo*�i*�i�e�Q�D1�@l�<Vu%<��D<& z!!- ��Ʉ��0����r��NR� �ځ=KT(+����i�I�a�zA�ZA�:!�6�h��j}���gUA����Q�|(]>�Ǭz�� ��h�Ȳ,�)��vG����嬶W+��Q\�W+DyR�YJ"Ȳ � �����q�����Պ�cX��o��ؘ|�x����{��
�,�!�+)e2�K#���\�V�e��ly1�[�.�� 1&#�Xs�4�oA���6����=�P�ct5��UB���O��- p���J���y<���lZűk��^��^�1��1�c�1�b�p�3A�?�,<�,���/�� ��$�� 9�^I�oH�A�!q�I� =C-D薶��+��_���`&b���^f!���L;���[b|O�1M�qN*�t+Ʊ����1���@Lxr�hxc�2�� �� �4�L4�\5�� �8xJ�Ӥ/�d6CD9 �9A�c�?C�?����;kѽs�ٓ�ٌ�\�Ʊ�xk�t7c�� ����t9�c�9C��=c��=�������A�dd4CD6CdA�d?������=�c��G�5Z���~�~o����oI�b�� �v�S)6f��!��G����f p14 � ��lH�V�s�F�p�F��A�$L�M�B�Q`��A0@�b�U�@�h� ��v�&ӀJ�������A���^*T(Pu
&���azb��!d�ą�d��`z��P4(P�.�bD���Z �q{��D�����mq�f��/!\�� (li������l�Wwww;z�������zo�vO.�]|v.r jdSf`������,L6$l��
��A�9p(�DV���|'�A� q��B
���8�>x��B !���0�� �t� S�8�@Q`&c�Q`&c�Q��x �u������&a� ��D+LYPPX>�7X@�
u��S:c � $��$B�U@ �����p(��'U�ݿo>������v.q���fA5��j"��� �N�f�{FZ!q��6fA6d�ć�Ā'n���}�d�f*��C��6l�-���ā�| F�A)D�� �p`��PA����P �G��*� �L t��"I����Q�<\��
�D�ND���4q�u_��ǍF�˝K���ϟ>|�|��ܹ��Χ˕N�˕K�+�.8m��{{{Vյ����m��[{t���۸p�q���R���R�ϝ���ݷm��7� �7<i���kkj���ئ){7���s4c/E���q�f�֥�]]mZ[[[[[%kkR��ֵ��Y+[[%KkkkjҺ���'H�Vs����4�"��C�e� �Lne]a�<���g�:::6�g�5L Z��r�lŘ�6f���Z��7lllll��;6����7�m������6��m��Sv�5�l��;4�˗.\�TyTx�n��w~u��o�b��  v��:</@*<eG�q�G<s�*�G�u8p�Ç �7�5<x�n8�8m�8[td��Utn��v�ݲ�����[���˛��Sf|��&%Q^<W�@�*��̷M�j�,�4Y����%Y�#g`����l��Q�`���-�lϙe�S
�ƕ�M+j�SUu5R�eMFS�N�m-&�A��-�eMC)�f�0��t3���^��Y������85:��GDQ��ؕ��?9L�|�� �@����|B����xB�������'73�"�1�BTD��9����#�8�!�a��lt���`p��+�`a�����0�����H��,����ī�̾���������L͈R���E �4�j�U�D�Z��Li7�J�E�G�� B�";8���U���_�*��ww 9S+:��Dq��@�)����9��L��F����Feɭ�����>��=1y9�l�n�'�P!�
�ʇ� � � 
OP��j&\��uiB�R���0��]�F�0��`�����.u�z��V[�p�Ï<�\�r�����T�\�|�w:�˗.\�q���q�p��ooon�۶������gggj��ڦ��gϝ���p�p�q�q�R�˗>|��\���s��7¡�n��P��m��[t�����1��F�Y��c/E��l�V�q��ccV�֥uik[Z�յ����V��J��kR��KZ�kkkRڶ��'I��gL��\���S ���`��Ӏ��,H���}��δmGFѤm,�ʮ��������L�����8��y��e��c/f36k5f�޽���l[���3�l��6��5��������L����˲�ƥʣƣƣP���޷����>�}[|e��U�laa�#�Ǔ=S��Ϻz�S�����|)�{|-�ݷpۨp�¡���n��›������!OQ�5���v�Ϗ<�Ͻ7����p�Ƨ͙��yT��r&�Q3T �M�lL�V�l�BF�2s%"g`��Ղ)�F�`5`��Y,�����fa���XB��Q�* TiP��*P}A�Pe2����#LY*H�B���Ea�ڃ*i��$H�4��G�q�T����Ǥ�.6�E�3>K�"b'��a ʼn�0�6%�y߷��[���� �������'B�wq��N�̂��Q�.��0�6d�`��a��(a�!P+�� �U��x"�\�YU��# �P'�'A(�=�^%
B�|�R���D0Ac�z`&c���X ��W���X �b�4�"h�d�".�����ʶ�}@bPeI�0�4�,���D%����D�z��������~ޓ���v�na�ٗ%���j `Y�7\ڛ�fb��:���y%�W���v���7A��p�MHSm®��(��Q 0�\,
���ZX,aH�����!x���Y1��P��E�HJ��T�$D����� �Q A#�Ǣ}��Z>����|8T*8�x��ƣQ�T�r�˗.\�r�˕Ǐ57� �����kkkkj��٦66666v666��ϗ-����n۶�<xԮ5.W:�O�>t������n��������kkjڦvv5��^����f��(�_-�8������llS����j�jҴ��������J�kd�mmj%���������mJR��N8�ς �a!�"A`0x 2@?� 6@�!�Dbn=o�h�::6����x �e}`&dX �b��4�H���V�Yl����c1fsO����޾���3������l����3l��1��lk����#Q���LJ6������wy����}R�>.�͇�?���'J�����>s�:� ����kn�����j���ڶ��������������ooj�����g��W����i��O��z�6���w �����HԹ�P�a����e���5�U�d�;L���B���l/l1�U�Mys7>e����Ymb���V�4���mSjj.��ʖ�)鲞��RD�֩��zdiR%�!>�!��.�u�xq�tT�8(�!,N��$\��ܙ�C������_b ��o���/o^���!v�9n��!�1���B��}�`<l�$ʢAcJ�B��P����� @T����70F� #`! Y�txY1�ֱ4�!
n�������}`&eU�WX � �V��ZC�Z#蠐v�I� Z�5mA"v��7�%�*GDi�?8v��� |��x����7��~\G��v��g��33���"���H�y/WL�p��_y��u՝q� �t-}� �9�4$�#ɜD)HBl>p�q����Dd�b5u
�I���U-"��%�� !hC<��yS����V�+U��"��on���P�����Ǐ���ˏ5.U<x�����M�8m�[t�����3�L�4���ƾ��/���9r����l�mmm��v�Ç�W7.\�s�ϝN�ٶ�v����ggccb�أy���њ1���l�Gdyg�m���^����]]]][V���mmmmmmmj[Zֵ�V���J��Z����ԭ)��G� "m�$â`� �/���z�c W�����M8��>�����b�O'��Lɪ��L�.�3%7f��/k����e,��YGer�^��{/���l�j�ٻ____b�إ��������to7����o����Ç
n��ڦ���S�7w�뻫>Ѵ�[Y�VJ��*V��(��v�ơP�������kjٶm�������n��ڶ��j������kf��vvp\9�9
��� �v��s}�����b�� �8�Ȧ́�K�r&��L�O�lH�V�h��ݒ���&C6HYQ�F�
��{놫�� ,��ؙI12 �0WXD�$�"Z V+UeD
��D
�P���A�j�)��S�b酩H��D)D��b�
I�$�I"2�g�r^���o��g`�i�0,��H���.M��w6$=&$|��WQ/��-�q��)�_��=oM�]��E�L�-ƦRl��^C�5�Y���6)0 $aDx �@#P`�
���4��8H�4���Al���.�Pp'�@�30 4��дt
��B��S$���Vf_��f�}�]��`&b�\&,�^��V�4��D���$B�I$L]Pl�ʀ?L,HY("I
���9
o:���>���}Ƿ����bD25)D�7\�NM��6fA6$ r^C�^JH�F�j!�IQ��w`���}�� o��]P$����C�ł�2�| a�p0 ���L+$
�Vʇ��S鋦*d�
�$�謈}s�@\��8�NP�I�}H�m[[[tݷ��m�8p���p�����Å��Q�p۸S{{T�յ��M[;;;��|�/f�vj�涧<j<x��6����ݷM[{|8p�Q�q���˗;�J��s�ƽ��LQ�7��f�4g3��Qj,qj+dtGF]gb�ץ�z7��4f��������Z�ֶ����J��Z��,�J��ֲZ�����ں�z'{ǰ��G b0��+�A��h�5�&���dFU�ΞBѴ�=G�[���3!��34��̄�j�ѻ7f���v��n�$C�e,����V��l����b�f,͙�ٛ5��f�Y�5��Y�5��fs4gm�p��᷷�M�mml�[<..\�-�������mOOJ��NB��z��Ti�kf�٦m���cbضvvvvv�����gfڦi��������ccc!:�";8�]��~Z�.�����.ۦ\�2�3�b\KƢ^ Cl�t�V��&��&i�i�i��6X��_\i}q��r���K��s1>c䬑 +$Qk$F����euK�j�R�2���4ͩi����Z&�=��P}:Hy-�(����T�<(x�D���s�1�(rN���ө��� ����QF��?݈.�C{���/����O[�m� ��.b)�ʢ"� {bip��,L��Ʉ��aD&��`�p]��� ����iJ�(H�ւ�_b�{$ ��X-N��u�����fuwWX ���;LT��6��8��8��<��� �A0�G� Ӵä�DF��%A���YŠ�wb��?�*wtT��W:��5Lx�Nsp��2��Zu29T�K�x�F�`��S��{{�����B��ߥ��M�=C�qT�뇏,2p�AlX��H�mbmB4�S�"J�"J�!G@�-#�Ȏ�!;8���?���cf�ڦ���������T8p�T8p��¡p����ڦ����gggf����ףy��j�Q��j�Y�����p�P�ᯯ���L�[4͵�m�����x������ʥˁ��y��o7��f�4g1F(�^�eh�)�QgX����Ѽ�j�fh�b�f5uuuu�]]Z[[[[[[[%kkZ���+Z���j[Z֥���]JN�8��=� $)���x 1�P ,��5l:h7
D�p�<��JjR� c�-�P�f=W�fyuX ��{1��9��k5����v��e�(��l�)��;+er�k/e��_/f2�c1��f36c1������᷷���mmmS;;;6ͱ��n�Q�r幹n����gY����uWut�ӨS{4�1�����LZ��������3�ll�;;���ƽ�LZ���� OH�ND���)�;z�Ė���� ]���pM6�͉�r7#�j"8�@�a�eZ9�6�&��9�&Bs$,�!���`y�i\ys�\�]�L�M&$����kϒ� ���O
�k$�XD�nHD��!TH��W��(P<�� �+L]7�HV�4i� QQdUL#�����q�v �����`�&��p#�ےq����3���4�� �0��O�����{oݾ����_��x���x ;w �Aq��faKlj�h�H&D��! cDA��@'@,����4qb�  49�v��6�Q�7@x,��Kl�� ��0�� �,���J�zJ�q��f7X �5����
�)���`Θ�N�,�GLY'�&�FD�*"��Ad�D�`��$�EdAiOt��}O�-��}ǁ�ػ�Ӏ�6d�Y�c&�a�����l�8�:k�4���#r bj'��D� s�!C�}N��Y�n���H�� z$�m1e�  �����VL�aI ���]P��=A���� SKH�AE��T@1=43�<(��r�ꮨ&w�oٻ_^����ڶvv�����kn��ۦ��ooookkkkkj������ض5��z7��Q��g3��6b�f]�7�ooooj��ѽz7l[ͳ���m[[{{{t��ÅÅC���Q㴁���c1�����j#�<���/lk���7F�tk3��e��_-��m]][WZ��im][Z��������R��K%�kR�J�ֵ��m]M<���f����Bp�"���TDB@C����t�$�,�-�A�g�z��l�r�4J�L� el�^��,�c3��Y�՚�z�n��@x��d9 �dYL�R�Y\�W+e��[-��Yl�Z�Yg�q�n�۶i��������cc_^�����۸p���Μ������������
n��i�z__^ץ��tn��������ů�k����/��Kѽ{7����Վ!g��>wD5tE��K�(��U�Ү�sp��EeQ#���D��t�T��4��;#�SLSLl
W�� ��u�qA��)'$Z\�ʤVU"���ɍ��CĬ��+X��䈖�"Z�*��Y]B�i�R�.��a-#�B�#=��@�9ǜ%�Ės�7���>���]u�G��'S�!T�"��D��p�P�����;�� ~�?o^���"wpB���������E"&��,��4T`|�R!���D4 p�(�>@G�������lTA���E@�
� �p.y�+ h>����3� ��Ӫ�1z�3H���`:SPF���i���� >��+LV��6�荡�&A4D@2B� �� O|������9�����ۢ7*bI��۲t���G)Žs"�2)r �H�U!���Dr<γ��\����LS��?ʮ���|�A�Iĩ6�E2��.@.p���%D��WPqKLu;Lu=!ԭ�i�i�-���N�;���n������5��z�n���ͱ�����M[[[6������5�L����__7��Y��g3����_/�����������5L�l�k7F�y��_ccggfٶ�����ooo�Æ��7P۶�[��V��Z)DvZ�>��lk���y�5��4g/E��l��<�#��������ե�m[V����Y*[Z�kd����-D��k[[[V֥4��wa!PxA�s0� �!��G�u8�g����Pz�q�b��l�n�4��L�JdyW+���l���f39�͙�Y��o5E� < � �!�r"Ȳ�S)��e2�Gdou�kgggggb��������׳to7��l��[v�
� �˖幻�oo�oS۴���3LS�o7��Y�5��٬��y�ݛ���y��o7�����o7F���fsTg3��ADOH�vr',r#�;������H��6���Ȧ̖���D����Y�(�#h6h��A2D�Q`��n���9q��
���1q��p6"\�nC�7!W����#�܇d��CɅ��4�VL �aQ01�
�d��A ��`$�*�P���@��pPa0�1d�H�AR$�h(���r%GS߽o�B}��zo ���m������3H܅q5M�� �b��x�,� ������ٷ_���e����x
��� ��ƦRl�rbCq5gl�A�$͙P�5�<C0>�( 0G�P�@�`�����O�: `@�F���z!<X� `x�*�N ������b$R9
�L�k3U���������P���@��tPe@t��b����&ԉ��M��"��������랉��D�H�`5����}��z8���<iغ'vq���M��M���/!��[#Q��A�b(��hzG���yȜH�Nc���
�@�G"x��x}R(�H+HY0)���аX,�aQ0�H)X��A���@Ԡʀ�1��1d�ĉ��Y
�T��=#�� rgp~����n��g3��Y�5����������ͳ�l��;�ͱ�Llk�����o5��fl�b�ٌ�^����j+��m����gggggcc1flř���Y�7�����ض-������kn��ۦ����kn�ٶ�i����zb�9|�n�Ѭ�f�f(�Z�eh���:"�,��)JR��i]]]kWZ�֥�mmmml�-���VJ��Z�ֵ�d���J��)#�.���F��N��&�D�H�>P <f�-T!8=A���_�LŪ�4���L�Hr�)e2�V��r�l�[1����f��l�o7���8������!���|���4������ƽ/�k��Ѽ�o7��Y���њccb�����o��=˟;rݷ9��T�Q����sb��h�g3���s9��f�٬��6j�f�Vg3���sg1��Q|P��*>����Gt9^;�;����@�:@�2 � �!�p�6<���T��T���)�C�u�õ��vo6#7�4�JF�R5(�!�D�U�r b‚vLRNɊ�Y1�vHp��%�<��B��D����v�D��%�Q���GUUQ��Տ�O��4�8+p�� �R�|C��C�ThT6�l(���~�?wb������ ���D.n���g�E.ALx���Lf“9P�~���bD)PA��D @!�0�&T�� �$A�� ���p1��`�l�^�) �OD0?����L�k3R��L��_T3WT5V� ��}0�;L;J���&J��h
P�!g��*8�WB��*����|}����G��wpy�c���ʤ7*��j"�� )�DO
���y�yϞFs�:�0s�9��>�e ���F�6��d�HTH�b�tHPO$(%J��)�(SLP���-R6��J���QŠ�Ub~�Oub[9��_/e��f��l͚�f��n�������ץ�)}}z^����o7��Y���c1�����j+����fl�4��1L������W-��_1��9�͚�f��}}{_cccb٦vvvvvvvvvm�cc^����t��f�Tg1��^�Q\���<�dYAD�?JjR������ֵ���kR����ֵ��KkkY,���Y-k'D�y+'��Z�%���G��Rp_`O����I.� ��5��DG���"��f�(Z��1J��N�3�� �2�Ȳ,�S)el����l��b�f34g3Fh͚�Y�7f�z��o_7�����n���y�5��Y��f�Y��g3F(�����ݱll�;V�5�Å£Ǘ+�.U<x�l�2��/��嬾_/E��{1���{1��f,�c1��Y������z-e��k�VE�@OH�O@��q���"߷���[�y�b�Lq��fA*F�Q3����l"�Q��"`� aǗ�Ǘ=q��lp���Me���&�dj'D�B|M�蛈K���r�`l,��6!`�����a�TM�AQ �H)Y��+�D*��y@�A��L]0�!dtI"PP�=ǝUXK�з_���E�dq�q��>K���+��Q�� �ͤ�V���I4Q�sU�����߰}o?o��?yǷ��$=w`�@q�.l� ɉ\MD`Y�� \ ��<@� �� ���"�bL��p��@3�6�*�8,����H�N� `�0]��O
��2�&�g8�K~�1:�Lծ�3 Q�* T*��uP���P<�� &
��&�b���D�}H�DA�@OL��@�f8���7����[��o��5�'i�:�m��\��#企�F�tMD�f@�A�턳�=��<(��������'=#�=3ƐQ ETEH�E���M �Bʃ0�$ $�ya
֨}P_PeM1���1d���YQ�&�z'C�:��}y��-��s��G��Yl�����͙���Y��k7��f��o7��f�Y�3��Q�1E���Ql�[+��tGE2*(�ͱ��LZ����������Y�����j/��fh�g5f�Y�7�׵�}}}}�^�ض)}|�/��Ѽ�k5��9��b����j+��J"�,��h~��z�����n�ԥ)MKV���ե�m[V��������֥���K%��d�Y+'�b�Ň�(t.�7��:�@]�0T����F�V�`)���AU�ӂ��'(f�lb��|�J�3W��L�F����Ǭ{�� !�,�"Ȳ�L���W-e��z/��f3f�Q��g3��fsY�ՙ�Y��g3��њ1���z/���l�Z��l��f�y�޾�������շ¡Ç
oon�ڦ+���r�\�W+���[-���l�[-��e��Z-��Q[+���h��y��"4m!�x��8LuТ��b����+wti�cS�5��-�b��� 쉙�ئk������� �Q��ӌ�Fq���������Ƣ�X�p/b�е� ������b�o������V�R�R�KHu�3�O���o��:�O������n1�2>A�N�i
�b�̈́��l&5M�����23WA���X~���������� ��m���NsK�S.!L6��mp������@�7�F ��{X� ?�`�-'���������@Q�Q ��Y%A�'�Q�[t�f#X ���f +Z�ֳ���X&+j��_P(+jL3OL6J� ��Q}4,�)�p���5] ��ئ��/o
^�;n��'r�'�LM.Bh�C��F�B�`sa�{b�-Y�x��������'��>�#?@��T-���KH�ZE9B$� k+j�+Z�ʴ�r��#N���#GDF��� ��ptu�qU�a����O�dYL�R���W-���|�c1��ь�g3���s9�Ř�Q������[-����#�QL�!���ɍ}|����Y���ќ�b�Q ��Y��<�+eh�[/���3��g3��Y��j����n�Ѻ5��Tf�ќ�b�e��l������S"�r�����q�r��k��Қ���������j�j�j�Z����J�Z��ֶK%���<�-Bؾ3b·AԂ��yP��1�!�?���&�`��Q��6���B
��઄'�g��_��>�3[��L��V*�X�Ʊ�o�lwDZ�� ��l�"Ȭ�S#���V�Y\�[-���_/�����_/�����_/��e��Z+Er�GDyJ)��,�1��Y�3f�Vj�����űl��V���������3mQ����R�QL�S)��K)����,�#�QL��dvS)��e2*"Ȳ,��rRD�Ȭ��@>zg��9������|
��y�b��72�b@?dj"�m&�64Q�l���>������ ��66h266h��FD�3 Q3DL��f���f"����3TL�0�^.�p�\ȸ\,qp�X
�`l, ���fɅd�,�RHkU��
�@���A����4��I#H&�3�8
�:�����o����gpC6&93q���bb[e�#l���l�42B�O`��!h�C�߿�+~�n���<��x���N���m³f`w�����4D��e�!Q���X0Z� �������X@/X B��%� \�3���@�` � �� � �`:���A
�w�~���͖������j�� k�,��`���PD
�B��K�2�;Pe0�� H�D�
�Y(x���9J:�K���v�~/8�/I�N�ÜjdSf`SM�H�V����f 9�bXl�e��U�,PQ�
� �=D�A4Ǩ{(�yB
�!EdmH�ID ĉ��M n�$B�I&2� eCʌ(P-Pe@i���M+H�"@R �L�N@�B����{~�}��}LJ�� �l�Ȳ,�GdyV�Y\���e��Z�Y{/���|����l���Z#���L�"�* � ���8��F�y���Q�3��f2�|�_-����YC��YEe2<�+��e��k/��Yz1��Q�ř�f3�������[-���y�*"�r
��{�ln���j�T)�N(8O��6������J�������R��ֶ����J�ֵ�j%��Y<Zűk���� ]�Px %�C��� �����
��l`�
A<�=DS��s���Uh=A��(Z��6��L���'�=��F(�8��t+Ƭk�,s��zDZ� �l��r!��R�e2<��YG��l���r�Z+��G��tS#��E�dTC��6A����_/�����3��fl՛���ץ鍍���{ccccccc6� �CD6CdC��E��9�YC��9C�� ��d����ԭ ���#hg������]?�]؍��#ۂG9�'�I��؍����d8b� ئE�p�� MQ��k`;��Dn�TQ��!pÀ�,*Hq ��O|`1�p�^ŃQk Ųa�<����-k �D�j ����ZBd�D�Rc󃳫}��|9x��wwCI�0�u ��aP P9����f�d�9�cd�#0�\f�WC?�����|>�� {xB��������w1�AL��0�¶��o�Dn�N�f�4@�E@,�1x��@2�1�� �:�����0J�8
��PT�@M���_gX6{�����L�*����y+$ ��`b%d��kXV��*��ԭ� j>�IM��Zv�MKH'��!��d}���g߆��o{�����ۡ������y� ��4��<C8p [��鰜�4[���ZT-*�� B���A���GQ�KHy-!䴇��J�F���!�h*� T� S�
)itB�E
<1?81;��^� �V.� ����9���=���A�d9e,�S)���<����W#���G��<�S)�Y�9A����c�����k3fs4f�f3_-e����Z+Dx�9c��=c�?��C��VE�YK)��G��Yk-���Z�e��[-���tGEh�)��,�!�(���v�(r�(kЯP�bzP�Гb<9�555555-KWWV���ummmmmmmmjZ��d�Y:%��v-c2��������6��� � ��=
@ A�``�� D��0QX!� �  �� �/��Հ��Vf����؎�x�Ęw�t%�؟��S��Ub�����n�1�Ǭz���2 �!�!��!�!�,�Ȳ!�h�!�r��2 �����hw�,s�<���r�[/e����f��l՚�Vk5��y��o7����z�n��Ѽ�#���;C�=�c�?���=C��=�c�=���;C��;C��9��x)�'4��h������x�(�o��*��ϽAY���āP�^�h��Z"d F�Aq���lp�&����`f �~ �/�b�> ���1W��0_�� ���A���gE��`C���&�bAJְ�`YT>�� � I %�� �����
�Y��w�y���mĦĀ�QJ& � 6�dmZ�J2B�vQ���J�]3c���:��U�݃ۻ�y�|��[�x���\�`����ٛ�7L���l� j\t���d ,���H��gi�/ ��E@�  .�A��:��h R���� &: -W`�n���{����3d�����aa9�
ɀ��
�8H)$쐉i�!XJ�UqP��&*��� �LY'R$�QY�P�?��r�:���o?����vNېpiʛ2 3q>&�
�3�^A Y��*�6��A�6�]�}Pr+ �
� *��*�2��/"���I" (�I�I��&��4�:DҴI" h�D�+ TVL�D�DɦzD�H�*���y� p�GW�wݝo> �=��)�U���j�����{Ǭ~��� �r�"�r�!�+"��!�� ���z����1�o����s4f�e�_/��e��W+DyȲ*"�6*�V+��n�,s�����,� � !�,�"Ȳ,��e2�R��,�!�� �
���z�(r��j��]
�N(����� 1a�Po��mA��)�����jZ����+�jںֶ������Kd�Y,���x�/��� |*|0p HX7���f@T0��O*�`�p! ��Ij`��7<-8*8CA�c4/�P� `&nU_������a��qa�b<GBLIa�%�ؚ��(�)�X��V5�cXՎct9�X�;���;���P�=���;C��=C��P�9�cx�7�P�5B�U���YE�QL��<����V�e���1��Y�1f3g3���s9���Tf�fh�Y�F���������oƨoƱ�WB�j�x��X��X�UL} ���GE�BJxL>� �xN߰�{����b��c>A�x�m�������M^� kѰ�l�Aհ��0�'�@M �,)�{a�|�΀n�6���l2��A��A�e���1cc �.�� �ϋ�l�bN���5mP�M0�- �� �����U� � �S�-�t%L��\�A5g���G4 ��.�{�`��as�U��" �lf���U �A��������}�������t@����� �1��q
����h/a�@���A<��X ��V@� `�q�OXd,
��`�@n�X�X�Izr:���x<s����f�Agɂ��I7ɂ,��rO��V�-�}`\Y�Ay[T")jo$ ��@Ѝ�����<#�� g^;��{�%�x%=�]�K��L��TB<j!@[��+{a�h��FNd2E�C4m�� �� ѴC�m� DF��%F�#�&J���'KHP���-!J:B�tE(��Q9�� ���5"z Ԏ�4�� '��c���]EV �3?� �S���Ήq-��Qb�Qb�U���k�(r�1�w��DZ�{DZ�{�q�s��oƱ^+�V7#c1���l�V��l��Q��YCD4AD6A���=�q- �;��X�>*��Ƭo�1�w��Ǭ������� ��{�q�v�1�oЮ�X�b�Л�w��G�XsA���iA�XeA�('�z�����jҖ��������KZ������J�ֵ��K%�űk��>>��XŐ$̀�)�S�����@Gr���AD��!���d��_�lZ����3s ��� l(�Q�,2�<4�� ���|8|9Û�G�,I�x�ĸ���'�(�M
qN*�X��v+�x��v5�cX�Ʊ��v+�v*�X��T)�E
1F'�>&�ؚĸ�?�����9�dYL�GdyGeh�W+e��Z�e��|�_/����/f3��f�f,����G
qN*�N)�8�b�S�1F(�>&�>'�-�hK� ���P^�U�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������M��X%A�a�a�q� �I$�I$��$��(��,��(��0��0��,��,� 0� ,�L0� 0�4� 4� 4� 8�M<�M4�M4� 4�L0�N4�N4ӎ8��4Ӎ4��<� 4��8��4��8��@�8�@��<��A�9�<��<��@�@=A�?�=AAA���A����=AC��A��A�����8���@?���C��=@;@?C�C�?C�d?�C�t?NC��Đ�9�O� ����5����Đ�U���IÐ�A�����$C��<C�D?(;�4?C�?C��?C�?dC�4?C��=C��?gC��?�����?�C��?*C��C�d??�?C�t?C�D?'C��?C��?C��?������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������$?C�4?C��?C�?C��?
C��?C�?C��?C�t?C�?@C�4;C��%�P��@;@<@�����1���?�4<C�$?C�;A�������P�P�;A������C�C�? ?�DC�?C�D�?A�A�������P��;C�;?�@�A?=C���@�<@;C���<@��=�@�A?��C�AC������C�A;<�@;<��C�A�<�@���@��@�@�@��=9@�@��@�8�88��<�8��<��8��8��8�<��<��4�4��8��4�M<�8Ӎ8��4�M8��8��4��4�N4��4��8Í4�M4�M4�M4Ӎ4�M4�M0�M0Ӎ4�M8��4� 4� 4�M0� 0� 0� 0� 0� 0��0� ,��0��0� 0� 0��,��,��(��,��,��,��,��(��(��,��(��,��(��(��(��(��(��(�I$��(��(�I$�I(��$�I$��$�I$�I$�I$�I$�I$�I$�I � ��a�a�Q�Y�����Z���8�$��"���N�"@C�����ұ�RXQa �E��!�n�
��'͏�>#�B|��H�7��T��E����Jb.D�#�OFq��У�@,�d��FC I�����tb�B:0zHGHё��?#"��?p68|�9���i+$V\aB����� _�3���H#�W�%0���@n� �g�_4>{x�x������'�o@x��LJ���r�)�5R�+��!�H$C��ͱ�����"S �H ��Bq��7��!>S}�c�/�>��������5����
,gHߐ��Qg� �$ߜs:�I�8�U���rM
rN�0�ku�ַ[�uֿ]~W��[��o���������-�����w�ֻ���������w%����!�q� �l��Vȭ�l�چ�-�l/���[i��m;d��6(���[IY�Q�Ha��.|�K�Y���������r�9�8��UrA ��F���bz$���J�=D�#�J�=D� �����zZ�T�2� 8� #]��"�it˸�5�"0� ��FH��d3���SI��i3BcI� �&hLi3@I���S)vR2Ii# �:�� K�…�\붺U�\LY��Y���B�B�- B����
д*C��=��C�:C��=�`��ߧ� �z޷��z���v����WJ�^�Wj�^�������޷�� D�4M��=CЩBд:BдA�t
@� @�������y��<Q���v��3���g,�G8g �F��f�7f�ݛ�vm�nn��n�S�����ݤz=���M&�I��im.�K����6��im6�M��i��}F�Fû�;Gh���ͽ��oookkkkkkf�٪�������몿����������Y����������������d$���snm�fl͙�͔l�e(�F�6f�6f�ٛsnn�vn��o�p��q��r��r�tsΖtδt��v���;g|�G|��,�G��g�=g��g���h��o��������^�WJ�Z�V�S��T���uV����N�U��j�v�Wj�{֯{WO[��=o������po�5����P���ŭcZ�F������6ϔ�-�o��� �{������P… B�
/� ?���������������*��xO0�'�x�q\hq�Gȃ'"+�+[(L���Œ��3zM��ڏt��:lv�5��jmf� l��� ���E��]f ����!rJ����� 
��ʯ��7���x���I�YI\� ��34p�wdI�"N�"��G��#�q�㸉1\D��I0�$�x pp�����&?�L|���9�|��p��re�O��Q-MD�4���Z�Y�K:�I��N����_U_�___�_��]�_���}����u}����}���W�]_}�ٝv/.��Vd~ef���Ƿ7��������l}n�����)3l�,�%F&�Y}r���]��/v[�e����ܤ<�!'!�>3s���f����+��Y����y���k+��Ա�ms���f5��[fi��;'f���[Gv���m�<��zkh�մ{j�=�l�����������뢯K"���mdA�tA�
�tA�Bд- BЩ CЩ D�
�~��ާ���z��ާ�v����^�W���Z�]�ޥv����o�����5�iC�*C�� B�iЩA�m@� �G���������3�x��ڎ��:Q�:QʎYʎ9�8g
7Y�7f�ۛlۛ3fl͔k��g��t wwv��ݴt�G���M���M&���t�ZKIt�m6�M���zM��i��}>�gڅ���;�nnnS{{{{{t���ݵ���M}u�]u��_�_W�UW����]u�]u��U��wU���U��UW�}��~�H: � �70j�9��9�4ѧ4��ӚsVj�Y��vk�vk�fl͹�7f�ߛ��3��圳�s�ttΙ�;Y���w�����<������g��4A�����{{W�ޥz�WJiV��jmU)���N�Uj�:�N�U��j�Z�UJ�^�W���޷������. ������xxjY���X~����}�2X�����T7#询ª3\Jb�*a5@�@��(� �3�/e}��#�Pp"Bd��,*b��Di����d~I$�C�.�L�ɩ�l�eETg��FFF@#"��H��]":��� �m�Ҵ92�,0�b�,�x��ٜr��A#1��V�&aC�E@���> �=��ǧ�3�*�y ��Q F�c�oF�oF��[�a�rNr�(�$2\��q��Wf�LW
,!�Hg$�����'��_ o�����n��_B|5���"��zW%�Rt��ic��,s��2\��Ӓd��>rN�����������������������n������n�������������������]��\ia�Ӯ��9v�JӬ�ƒ6�i V�7M�l.Nԭ&h=4�����ˬHË���ZE�XGR��Ww$�1�q�)c�f�)e�Ĵ��pF:F�q��eߎHߌ�w��g�[�1�UR�C���.����^�m��1���Q������[IZ!�L��v�m'j�Nٝ��[I�4������c(ٕ�X7��Ë��my���U�Z�edB�-A�t A�tAЭ A�iЭB�-�_����߷���������WoR��W�ޥz�^����������~�����Ḹj}d=BЩ A��i=���t{��z�Ty�9�;��;gZ:�\��(�G,�G
8f�ߛ�nn�fl͙�5��ך�՛,��tAЩ�����ۺ:G���-�I��i4�KKi��ZMi��m5��֛O��֟O����E(����]��r���������������������������������������VE.�����������������B�t@�4 �h{�yكr�z3fz3њ�ٞ�ٛ3٢�h���9�5f��f��f�6��7پ����r�����sΙҎ��;Y�;���g����ށ�h: �Po���S���W��ҭV�U��ڝN�Ju:�M)��u:�M*�V��j�T������{z޷������.�����xj.,ص,l[�ey���uf��5��k������ �GQ �P�C��8o��߷�O��/������*�7 �$�4�Ф���d�T��)f�Ege �d�˭�Q�3b:Fjwt�����̭�f6��L��r��Eβ���IjB̜eh��� BR�� �������x|WO���o�g�H�Q����6Gq�}����H��#K�F��$Gq�#�$�q���P�$�8�8�7ɏ���ɏ����ɯ������.:\-D}Ҩ��4��婦�4���ϚY�I:�]��uU�]w_]]�����}_���]w�W]]u}��]_�_u}��}�ݚ��5,�ƅ�s:���}s�.Z]����dxivGF��չ�:�m��[C�6��ͲQf���妱���WEN����3����-�9K�\�4�!�I�c���$�4G9 rN4[��A��=�Q��<�,w[X쾹�}����՝��4�ժh�նvj�;5m���<7�yol�������[H �(,��3l�3l"1������ԯ��md*BдB�+B�
�tA�A�tB�r?��O�[������oooS�ڽ^�ޥz��Wj��^���������8888x�+�㸸��xxnKHZ���4�G�=���G���(��3����h�gJ9�<�G8Q�8Q��ٺ�������y��Y�5f�4���Q�h:�h:�h:�nnnn��ۺ=�G��RM&�I���t�]-&�i��zMi�='�Z}>�O�����j3�Q��isoojڶ齭��kkkkkkk�뮺���������������������������������������t
A� ������z�Y�=Q�� X50d̙�2f[2f\˙l�Flϙ�Fh�E��՚�e3nmͶo���9�9��:g[;Y���w���9�=Y��4⨸j �{{W����]��j�N���u:�N�S���uV��j�V�U�����z���޷��8888n��������UY��������,��s�XdU$�1?�Hu���Q+�{�T'HQ!^8 �!@O�
c�/�� ���_�B|������0"�u�LOD�4���ѢI ��C+�E)�wNÌ'a�0�#.�|�GT:Jp�������6Di+DV]d�6Ë��j�����sC� ����, ����O���g��
`=F�fȞ�7� ��7�<F�h�� @]��s�r�c�"��E2A$2? oF��Dw�LQB��(�l(p C�H�7>��%`B|�� �����(680"B
�N�)�bz3����X��9%Y�+Ӓk�I�9&�Z�w�]u�]U�_Ku����`+!�w���w��}����Ww}�]������>��Yu�]��˲�k2�J.���iq1��J�k��v�L�l �6ʆ]d �Q�|ӭ2�6O�q�V����mu+2��/@�����wܳ Y�,��)�X��X��E$2E)�X��H�1N[�rڋ��ݏu��&��b�XK,���� 0�
u���l��H��LИ�f�ӴNm;p���5�폭�h��f�i3BcIZ-4��K)}�l�Xq�;.|�k��K�]���=��=
�� BЭ B�tBЭW��������O���������ڽ^�{{W�OS�������� ���qqq�|�%�Rq�TUEp��T "0�����������h��3�v��uζt�tr�YŽ�7Q�6Ѳ��k�^k�Vi�h�Nm�������� @�-�tB�-�r�ݷwwm�wGh�zM��i)-���m6�Mi��m6�Mi�5�����{Oi�>�OI�F�Q��Zjqv���okn�ڶ�������:������������������������������dE A�t
@�,�G���������s�y��h�g����8�j`Ʊ�1f<�f;2f[2�k3���f���U��fm�vn�~p�9�9Y�δu���<Y��Y��4
����8�.:����7��{{z���Z�V�U��Z�U)�j�:�U��ڽ]*���z��{z�����88.+���������NNK9�G�8u���}՛�S6��p��;��2q�Gq��ă
5  �������=��{}�.8��P��E��Lw��G䜰Kr�-�6ca[¦a��&`��.�Y�K�ٕ��15L�� �R嵩b��6���ԥ9*2*�~�� ��/��� ��Q��8�4G�i����:���l��6�r(�?���ݑ'r�e�H�T�y.2D|d���1\D�xIp�"d<�8 �o� �&��N~�'?�N~�`��*t<$�j!2%�"D�i��SKʚZ�i���4��U�WU]Uu_��u����]��]w��_�_uu���]uu���uu�}��W�_u}���ֲ�V�4-K���2/�c^�1/�b_\��������.A.�����<2����Ͳ:�k�+���a�k��^T��n[!.s.Ns!�,�R�̳���nSl���-�9�8n���5wV�kh}hU�U��<��y^�;��wgd���ݭ��V�έ�v�彳Ӗ���m��&����Dj�EgeK;3l<���Z��k½���ҝE�tMD��KC��=Lߜ����o��������[����������O��o� CP��w��rrr���|�y9998��.�yt5�i@�(�����h�����s�t�Y�8��8Q�7f�6Q�6Q��Tj�Usd�i3�{�4 @�4 @��t- B��77-��wwvݴzKG��RM&�K����6�M���m6�OI��}=�������R}F���}E(��}=�����m[tյ��Mmmm`+"u�}_�W�W���__������U�_U���U_���T������{��{�Y�=g�<��<Y�<g{;��;��<Q�����c��Ō��&e�-��>h�9�5ٳ6ٻ7� 8Y�gK:������y�Y��-��M��Χ�R�TwE��P��=O��ڻW��T�U��V�Wj�^�W���j���~���.���⨸�*����99jZ����zٯ!�[�!�ws�fi�8����$��3|oGĪ#|Ja�Q!6‡��_�A|�� ����П��9���E�����\Hq=��$C$r�*��8�,�]��a��i�ms���� �C��F\l{mN4����Ym�����uX��ۜr�rAQ���T3�TB%p�����ލToFO��%����ގq�JH$�H$,I �I����_��s�a�X圑J$�Ic~0���%Q�*a�(��Q!� ��A��n�
�'���(7�� �!���n�%1��D�J� =�A(�,SZX�K�9������]�WU�_���_�����_��ww��_�w��������w��w}ݕꩪZ��YfV]a�fafWaviq�vXYv��iu�mq�v�ev��mv�iq�K0�+��^�aa�%/B�/P�P����wp]̩;��s0N���u8�����l�I�\틼��1���]e�asJ�.�0ga4�F��%j�Lٝ��͵ ��P��P��� ʹ��[N܍&h��f��VQH̬�a�b�q��myWmxi�{{{W��Z�� ��������x.������888887�
�����������⸸����9n^u>○����������ԕEþ�"�Z��Q��Y�<Q�:�֎ts�Tq����F�6Q�5ٯ5g �h��h����h:�HZ��薋h���۷)���v���:Gh�zM���[Kit���RkM���jMi���O��R�QJ4��Q����O���}>��RjOi���t��5������_��u�W��_�W�W�W��)u_�W�}WU��W�}��}�ߩ�iC��-@�3�����y��<g��g|����w���<Q��x��<��=Y�<�vX�G�n�m����l��3�����,���B�+D�ګWo�6���U_�N���Rrq�T\U ���po�S���������O���� C��qqq�w%��������ϻ������W֧�U}���N��w*�yUKȦN51����S B��X-�W��_�R�����?�� ��.!�a���9�9.:�r�,�j[���i/���ץ��/"�/�/�����k���v60�v\Ⱥ��t]��S^d�)Z:��^)c/I �x���Hi����;��Fm��6�r$��9.S����/*�������'s"ϔ�/)Z��%�I����J��!�D�x �p � ����&��N��:t$�jt<$Ȫ"d\D���1���,�T��Rϟ��_���_��`+!�����W��w���w�����*v���ì�KQ�n�4��e�c"��5�c
�������� ��W�0�k�ؚ�E�s2��E�c*�FZ�ʷFj���5��wyϞx��9u7=�v�J��W��jU�S���}ǭqu�KR��e+R諬�#(l졵���6������ۊ\�Էm�r�}��ڶ�jڍ��ٛ3ggcgb��cb|�|���jZ�������*J��������>:���������+��������;����s����ֵ/k�ll��v����k�uU�WϝKRq���4�t:B�A��y��x��vΔt�tr�4p���SĨ6��hT�H:���T�����Z�����mM��j�z�oon��ݷwwtt�����zJI���].��Rm6�M���}5��R{Oi��O��i���O�����}5&��m6�J�t��5�Mm�WWWW�����_���_�����u��W����WU��+"�j�Z�E�JD��= B�d ����y��y��<g���3�x��<��<������{� AЭ
��D�]N�������p�W��r\��v�9M�mST�1��Ku�WWs�R�TuEQ�qp�\5 �Qqq\||w%Grrr�������○��������Nw��>+��.Y���<N9��9@��d�3oFy�\\*a:B� ^8!@ �П7>��U�'����u}�(�!S �Q��hq��Hd~X�.K$䜳��u}�V��2� :��4� �fivefef0,�.�˼��Z�@����l�9&���g���!�H$B��!���c~3LoH���c~DX���$+�Jr�,�*�d�9e��]w�s�nY�'$���2�",�F�7�A�\F��Dw�L'hQ`9‰ ��!}
s�O� C�� @��H(Q!9‹�*����x��y���4j�=���ya�
q�n�j�b�����[�~��[��[���VC�����﻾���󻵻���w�������ws����q\����������e�Yu��� 4� $]�Ѯ���v�J�l �����`9���˴�e]��,����.�fVE�Y*�,�b����zIKP�KRJ[u����H�,2���TYb�g��I�ܷx]UR���,��0Na��F�ce+D��� ��6&�|�>8|�]p�ó�������P� ӴLi3A����Hə�l��u��ˌXq��n��몯������ϟ>|��>|�j|���_�u�-��ll�;Tշ�n���z].�Mi�=����L�ƾ�-��WS�r��|K<��CЩ�(���ݠ�ju4���-�R&��h��R&��Z&�H��S��j�^����p\7 Ƿ�M�mۛ�����h�z:G���KI���]5&��{M����O���}E'���>�OI��������O����5'��m6�K�]�j������������������dN�������������������*���ߧ�z�N�D�iC�iA� �G�����{��z�Y�=Y��y�@� �tC�=D�u:�V�{~������^^}��Zֶ���}6�K���=�vۦ�靝��}z[Z����������ﺾ����n�mk_bض666v�����oor���ZK�˫ful�My�םMi�Ԝ�'%G�QqT<5 A�P\ ?���}��ڂp9��
XxS�8����NBL���,�'Ns�v��<�K,~�R��d�,��K4�K��Բ�:�������g��;�Y�|��<KR����T�X��q�c�;Gq���<Ir���2\�Rܨ��Ur���8�v��E]�wg�̉;�Y�F���'!"K��*."TW� � �I�\�8 �[��.t��7��p��'CP�a���p�"�&E�&E�&GQ�Z2,lF�U��]��]U�w��_�]����W_��]w�w�������}��}��q�k~uj���kh�y����Ҫ� R��Ycb�楩sR���-sJ��-sc�탃\潮u^k�����k�e+Mg���-�*ֵ�-/S���J�� 2- ^�i��M���%JJ��$N�E�����U,�jY��1��4�-SL���{l��Ӗ�n[��N8���n$n�J��N���V��V��d�ͲFb�#������.�sj���ٶ)�����b��׵�}}}}{_^���٦-�gfڦ���sv�ݴv���[M��Z��>��"���F�>H�&�it�KI���ܦ�����}z[����Ե%IQ�p�ppS���ڽ^������Wj���z�����j.>;���n}�[{v�ݹ���NS�:wwGh��I���m.�MI�6�M���}>�Oi�}E'��zO����O���}5��i�5&��m-&�R]5:�_���]u���U�UW����WU���_�_U�]�W�_������W�_-K�Q�qT��=J�V�SH�.������z�����&��Z.�SjmU��v��pp�r\�-��������{f��-$��'$d����6E�.D�&�j)E(��zK��i4t����9�M��S{t�7���m��ӛ����廣�wi��ZM%����K��֛M�=�6g,�qͩ�(l�]�E ��_�N����ѽD�!6%P�XB��N8pNH4�G,�0�
���J��7���I�Jd�S�`����޹:����j�y���Z�ޖ�:�B����o�w��wyn�6����V%�SĐH��Hv��*7�;F����Q�$��E2C$�E,��,r�+��qܳ"\�;�&R�u�w���/�YܲLP�)g$2��I8ތ�WĪ �
�g
,�H.8lp[�P�Р����� ���‹l�LKB� �����"WF�a�7�n7���������������������������������������������?�sjqͩ�6�[�嶻�����ª���β�0�+�iz]��,6���fbV`�ìFìXu�Xqxqx�mvmxmr:�,��,k:���` �u�L8�GH��F��#�1$XdfX���+3�����
Z�Y��r�0�.�YF�ͥh�N�������7O� .��7O� n9n6�Pݶ��zi+V�VC�I�Q�̺�l$`���&d�%��%䬓�r:��&]&����&�II4�KI��i-.���i.�����}F}g�dL�D\����d���rVK��2fMɹ;'bn&�v'P���.E���?����i�ԗK���Ӕ�9��L�lR�UU_�|��������yj^^|�>�����ֵ���j���ܛ��������mۛ��廻h�z=�I���].�Ki�6���{Oi��}>�Oi���='�Z�O������OI�>���m6�M���t�_�dJ����������������������������Y�wwn�۶i���mn�����y8�>>.����888*��������9��w}�KZ����H�D�i�2M��Lɘ����Bv'bv&��'d�&��&d�2^K�VJ�9#$Q#�z"�\��,��2%�(�?����?����?Ȗ�2&dL��r.E�.D�-r.F�.E��ȴ��ִ��:�p���jPy�iTl�cj �1 �q���b|W�^�� ��!� �1A8'd��!�!�)�"�a�;�6�9|�(=�r� �`�s��<� ����wXm��et+��]��ӭ����ՆK^a�k̝+��bT�/+���%H̕#r1%Hĕ#�3�ܓ��'*InT�ܧ��ȓ�����wbe�ɗzj�Oޣ������|Ȳ����#��I��%G�K���� �&A�M��&��M��&�p��'A�M��� 6l<$ȸ��q#����"\\d���Q��+"�W_�}w���w���U���W]]��]_x
ȩ6U�%�I���̉:���i-kr���n�����ҭ�"����1lJűl�; 16Ybl�Ͱ�����`�y�Ebl ���aj�CR4ٛ ����m����H�0���1� @��r���J������l7��ie�Z��ic`٦�٪h[���Ͱ���fsp3;�ܷ;��gsl3���� �SA��h3�L�fi��Ŵ���F�qGqChP� P� P� P� 1P]`L\����d|�d|��쑒rNI�4K�]��LɖLɶM�v&�v'b~p�az���0a� 6��A� x����8d�F�&0�a��ڃF��;Pg�6�e��B�: Xa��.�u���hL�TG\�d�#�w)�r�������۷7-���G��i--��֟Qj3�����?�-,��m�ST�ݹNnnS���=�GH�&�I��R]6��Rm5'��������O��j)E���}>�O�����m=���m6��Zm6�K��VE�������������������������R.D�%�(���ڊQ��ԛK����G��NnS{[4�3��L[�1L�[[T�7�nn��KI���[OI�2d�va �`� �+ v(b�(ᖃ%�K �d�ɆL2b�(УB�(⅊c��A���Æ 0a����/av��p������'bv&�u���Bn&؛d�l���vN�vMɹ:ɹ7&�ܛDܛD�&�0Jr�%�s��8�$��9@��H$�;���bW HT�y��ϡBs�
���o�'"C��
 p��n�L<*�8D� +���� I �4��je�rN[���$]�~�UN��?c�+��C�����K���I�,r�e�DI�<j�<D� �
,'8�b�%2�S!.Erdz@��$25$2���^K�e�r\�������������K�T��݇�䜓�Y%~X�6HdD��ލ��q+��*��
�`����߸�7��%`C��
(���E�1)�����TG��F���y�\mƮ3�oG]ku]U-U�]u�U_�]u_]uX
����w����wu�ww}�﫻���>^���*�b�������8g,��[���(n��*��]`P,�ɗix�mr30;�Ke'�Q�Ne# ��dNe3&�S�'�|� ���\>p�چ�m�l�I�#���F�2|ˬ�Ӓ����Ij��@�!��"��)b�s�9nw{]S4���2�u�a�d��F�ZL�5��,��������}�D����g̀�l�����H��'2~����Q�R����6�7Xn�v�x�� �o�~��`���X=��@�a�Å���[ ��`X/�� a� �,1��� P�F�%�\�t�5�k ���;Xh��a��� p�a� 8i�U�5Xi�Ն�4�� ���~��@|��0�@������x�vh6a� 4V|4P;`��|3�f�+}�1�FH�#$d���rNI�4I�VK�^K��L�fLə2��NɶN��'bn&؛�Mmm�v���9�nۛ������4�;I������m-���m=�����kO�����}>�O�����zO��i�ԛM��鴺].������������������dN�����������������q7hM��h���urnL�e2f&be�^J�Y'$䜓d���(�D{#�#�|���>H�#$��$䜓��U���X�D�M��5a��]�6Xl�m��6ẃnpӆ�5Xj�^(5�� �m��a� �m�fp�a� �l�f�׆�5Pj�U�4�i�w�ц�l�u�� �g�5l0t�-\2�e�Ɋ8�B�(b��<1�f�7F�:8@�@�@���
띀���>`���r[� ��@� ("� (�� Q�o�D�[���V��I����/�!� EEqdS�N0����s��rZ[��y�bw0LN� ���v �-�%����
�������7Vu`NΦ��`��i@��i����K� ��L���,@ 8�϶��b ��k���� .P}�������`�|���� {��?���-t��O�}wg�s"O��,�#K�F��$�q�b�%E�K��� �L���@L���6l�x �p�`�&��M��"�%�Q��%�Q���Q�}�u�]uU���_�`+$�������w����}��]��q��8�R����w(q��g� g� n� -k������� k���z`���)�zgd���vA�Ȝv�tգ=�]Ӳ: �-�N9m�q�l�mu��N�L�q�`�r^K� ).P%$���r�j^P%��A7;�''V ��M� ��KR��_` V)�$���K4{[@�mf�&�6 �l��`�mf�ܨ�9��A�R}#��G0n�����nS`���@��, �������p��|!��8D��"�6� `��B�!�DX"��F`�dm;A�<0p݃ņ�7�<����Vv�>Pp����,8`������
p����=�����EM�N8EXD��M�UM�M�N8D�a�FDP�?`~�z{l!���\!p��\!�!l!p��p`6��
+
��6(��
(У�8��8d�GlQ�Q�P�ClP�m�������ͽ����v�����I���[Kit�[M��i�Ԟ����}>�O����ԟMI��kMi��}6�M���ZMit�J�������VF���dR���VKE,Q�%LQ�ɆZ �e�ˆ\2�� �9��: �e�.pɆZ �d�qF�Q�Q�CqG1B� 1�g�7Dф,� �6��p>�}�#(��!0����:,8����|Å���������@a� �8�Ƃ +, ������ *,8��64?����������t68o�x�m�"H�.D���R���C,Z&%��X"�@PEa@�����ս}�N��r�
�e�T��FHcS'B��U�����7�^By�h*�U�+L��X ��o&}
Q!G,@2�S8�Fq7�ܰL�p�ˊ�
�;r�� ym�x �_�����z����~�}��`W�Iy� �C'#��Ή踕B:XjHf��p!�*8�� xQ!M
$@p��,j���;,�rqL^q͹�`.�Ko�$��N��gU?�뻝�0�9gr�(�,RNHc ����:Į.%1�Qa�a p"Ap!�`C����� �E�5‹
�CLJaZ%Q�J��Wg�\u���������������������VG/�������������﻾��K����X䜲L�圳�`W;�݀
�/X z���k6��8� y��4���>t��#�hȈ�Q������]?vn�8-��2�f�d4���F��.��.2Z�L6�LƖ)b�9@
e�X%�P�e��0I�8�vowr�����Y���iiupk�bF01��ͥ �t���\Bt�� H�@i%#$}! R2";t���8ۉ�Dm+IZF��N���|","p���`��@�F�v�� `��`���6`��G�$lV ;��Z�1`HXv��-`��N�K� �f�����'�PX((�q�$���\, ��\!WL!0����� ,8�� �?`�@|��;L�[-�� ��@��`���*�`��F`��F��f�FP#�G���!@��#`��H��n��Ga�uv ,X$�������:�7� 5`D�e�� h�4�zj��&ͳ���mm�{v������;�ݤz;II)&���M.�MIt��M���jM��i��}>�Oi�>�O���zM���m-&�֚��t�^�Yb�dd8��
���`�A��U��5�� �p݆�0x�~�߆��lpy���le)�<� !d�'%�� Z:�'�I`����H`��GP#pE�"�N|�
�%
���#h"�@,�"���#|f��� 8Aaa `}���{��F8Ea��� "�"����^xE�E� 0?�AAA��`��1b0M�̀N����X ����M� �N���K�%h���}6�@���!V% B�,��X�H�u���&��'�Keq����\�Hd��!��
E$@0���$|y��������o�>��1b�ـ @1 0���������Z��`q�1� &�f@J�ԡ+R�QiAy� ��Xz�PKN�AR��(�v%�`��@ZK9@Z�rI8����
�n��UPp��T �**`�[´ -���"Z )"f013'�j@%�b@K�Ԁ���A+F����K^����.��|ϧr�e�H������2L\D��"\7 .22���L���6d 22���DK��%EQ��%G�J��뮺뮺믯��������Y)������������C�I�2s�$g,�';�%nv {�J�����o�^�X ��X��0Ɉ��������r���sp=���Ŝ��� qv��mv��if��iv��ivA<� �m��A��9vrˬu�XRܠ��r�d�0��� [����p%�[�.�x�*��ZU��^U��^F@[5@U��/[��.@������ Gw@b��s�:6�.��q�_8�`.[i��4�3.0�Ly��� � e�Z^^|�����w�kͩ�h��j&E�6H�U�&N��.�/a�� �+ v(X��K �d�&1B�
xb���^��rjĵ�+��DL�?ȔD���?���>϶)�cccc^�������ض��Gi-%���3�>Ϭ�"dL��r&D���>��zM����4�-�N�৩M"ht�h�����&�H�&�H�;;T�3mm�[[{v������n��i��RM&�K���t�]5���m>�M���}6���m>�M���m6�M���]-%��t�[�VD�������e-D�MC����=��A�I��ӆ㜷�kbڷ4v�Iim>�Q���F�MI���v�ڦ��^��Z�����x�n.:������ϳ�>��>Y5%�t���m�Ii��șd���e �f�y��5Pk�^(5᪃U� ;Pf�҃%
4�/О���1bR�u��RjGH�ww6��okkj���ZL�5����(�#����]��,��ŗ�?l�g ��{��cz!�%P��C�~� �K�:�<�0�<*���T�ړ�)�sE��$R�)����^E9"�h�DC2!�P}V� �HG�Q 8B��bZ`֘�� IiA�)%(�I):2B0E##� �Ȯ�4:Dp/�|�Nؘ�VAٗX?a�Ȭ4�K/@ _q\�6� hR� ��莱)��
$&��t}�3���w�J�
�JÚ�¢򣺡*�쨶���]fr���uݨ��S�TYb�L�H�#��D�#$*a:B���ǐ���ԝ�@Q(d�X�TwD-��PC��܀bC<+.�*��7�F�l�¥��{��rM\��q�Q%�@��������VG�k���������c������������цTdda����$�":�"8�8�P��j�L�?4��1���=�X"����v�H��KS�s�.I�����RA oF����*����(p0!�m�
��/��A|��"0���Da� �?a�#�Fi#��p���C�GIΑ��GB��GCs�G���;�|��چ�Ki�&���@���C(� �8�� .��+8���UU|Ww�3�䚩b��G 8g8�+9g+9�::��:�l흳�v��w�w�����G�;�|�v��s�t��󕜳�p��o�u�m3e3^j�9���3�'���s�x��x�ٿ8g8�,����s���(띳�v��w��x��3�x����;�sX޹��4h�M��n��S�tΔr��s�3}�usfk�Tj�M3>f�-(�F<�F&�Ii4��K���m6��i�ԟO��Z�Oj5�Q�Q��g���ȴF�#)-4�Yd�D�C�� h�j��`̸c`.�M\�DU��E&�RJI��t����_��W���V��x
�}W���sb�y����̶f�ٟ3ѣ4٦�6k�\�tm�fm��n�����8���l圳������s�yҎy�9�Ҏy�9�;9�:9g*8�8� ��3}��~o��<���������z�y�@���5Y�5ٮ͖k͙�6f�7f�ݛ�}��~p��8Y�8���l�G㜳�r�Y�9Y�8��8���,��3�o���7dv�M��Vf�,1lLMr{X�];���.��/K�_��� v
��>[{x�z���TA��%u4���H�
-"��>�R!A��5� �cTBB��  B@&��4�LVK�+�������I�-$і��˨��y���{e������5��,�
���e���Rܤ�e��2�5 
�,����ޥcʺV:�YX��e#z�ԍ�iHҊ��Jֱ!k�Uy.�%�12|��ܤ�9 �r��b�D�x�7�����ڰ��jC,���$פT()�QU������A,�pԻ��%��6��v���R���"�R��ɀ���x
��w���W�u���U��������)4cZ9�Q����ۣ��tvv�ܷ�&�A�h|jm�m��&6
��r���e��囻,�2��K2܅�8�1��"��p���*�P �
���'������ ����ɍ�`������!�e�� �>4�Em���t|v���Hf�I���p�n�*�m�Z�*��Vg`���Yz\���Yn��TU�*_d ����Ԧ�ך�ٛ,ۛ��f���3������g+9�<��3�tΙ�:Q��y�9�;9g,�G
8g
7��ݛsfl͔j�Ti�E�>e�.f�� �<Q��w��ڎ��ι��y�6f�6��ߛ�}�3�q�4r�y�:Y�Ι�:gL��h�G\�gJ:gL�G:9��8�ʎ9�8Q�7f�6��ך�Us=��F\ɘ�a� (������t���i4�[K����6��i���O��Z�Q���F}G���Y�d[#Y#�i���#�*Rl��� _�=brĵ� (��i�ԓI��{��������`+!Հ�������u�`+#W���_���2����E����|��hØ�c̖e�.e�6g�E�3Fi�6k�]��e3fm͹�7Y�7Y�7f�ߛ�~n�~o���7Q�7f��f�6��ٛ3fl�y�5٫;Y�;gl�gj;�|��3Şl�G��G�=Y�92idϙ��f�4f�4��4��ך�ך��f�ٛ3m�snmͶm�u��vm�nn�ٶ͹�6Q�͖l͙�5��5f�-\>n&ӶZL�l�dC0����1f��H\�,��X�.7��S��.��X��GU"�����NH������;���D9!��3�"���SV8�
�8��NNObb`����$�Ģ)-,� IDbBBI�щH�����7m%dZe; �$Vae��s���X$^5q�Ȕ��(���/����������£��ԝT�qI�KjNjBI���)�2���Y��5-W�h��g,�\��Ya�6���j� �*��E��C~o����Ȭ��!ԝ�aD8�� �M�zV %h/�E� !��s���#s�E�7'��ʼ����E��O�������������dZ�뾰��VC���$RF���T����$$ Ddtr##�����#�D����|�T����L�X2���u��a��]����T�X����18���A#�q��?Ī.XC�(�-r�뾂�Y����Xu���M�lJì �:��u���XY�YFì�`C�����l-]P�N�:N��+�WB��#������ ��v��IZ�R2�q�v��0������..Y�9% 9b��!�˙l͙�E�,Ӛ�Vk͔l͹�7Y�7Y����7ѿ8Q�����7Ѿ�ٺ���6f�5���F�љ�5�-(ǘ��F9M���v��uιҎ��9�<�G,�36f�=���f��f�5ٮ͙�͹��ٺ�پ���8f�8Q�8g �G 8f�ߛ�ݛh�F�ך�՚sM(ϙ�˙3b�9��|���~��\�yk!r � ,�=&�I��it�[K���m5��i��}=(�R�F�>��>�������d\�d���~�����6J�]���D�$���}����%$��=�9NS�������1X
��W������l��Y�� ��Z�v\��\�헬�e���|���0�,�f;1ٓ2�l͙�=��=�3M�sNi�9�4٧4ѫ4��4��Ӛh�F�њ3Fh�=�6e�5�s.r��s������,��l�g[:�k:��;g{;Q�<Y�<gV�l�1Y�̔d�%�s6f�ٟ3�|�f�њ3Fi�Fh�Ni�i�M�3M3=(њ(�F{3њ�ٖ���v���ѹ�;5mL�-��{X|���� '̥/!J>2�U >@?O��X���ґ�Jȃ�"ȃ�"ȃ��cr�Cr$jG��_.�+���|�>BAO�pT�7����uP8����{L;��a�5�(&ҏim ��F?;� �)7�Rn�)3�Rc\�[����ט�-JP��x�x�hV�r�|o}g�ǵcB�� ��R1�YH����mdQ]dQY�b"Ȅe�b:�Ċ�W����|�s��%�&Iq�c���\$�x�x������ ��XaU5"�,��� d ��g��@���<u(d�����^d��2D�R4��Y*C�*C�90�����VF���d����Z](�I*A�i�M ��� �&�I#�1��tI�7D������[�c[V��̬��l Mq�k�ή�_�k��r��ܣ���D;E�:�P��ppo�O�����z������%�m��$6���
ͲZb�-�l�Y�/3�_f�.2�%V]dwe���towtK�7G'-���lsoluj�Z���V5�U�aֺ+�;�r�c���yjQ�N2!��b�Y�2fK2�l͙�E���f�4��5f�՚�Vj�6j�U�E,њ3>f�ٗ2ђ�tb�9��z!��hͰ�h�GJ:Q�9��8��8Y�8f��f�7Q�3a�Vb�d̹�3f{3�{4f�4Y�4��5Y�5f��F�5f��F�4ѧ4f��f|͙��F<ǘhØ2!��^��[�����<���X��V��T� h���-�I����KIt�ZK��i�>���->��RzQ�Ϩ�>Ϭ�?ș#Y�6J�SJ3�"���F�6E�&}J)>�K��h�t��;������������+#�X
�%���K)Yd ���e[+el��2͐VAY�� �����ݗr�]��_�l��|��{0ق�9�1f,�f,�f+1�<ǘ�c�y�1Y��Y�0��F 0d=�C�>Cf�ݛ�vo�~o��8��8�+9g,圳��3�s��t��u��s{fHz!������6a�6a�9�1f,Ř��F<ǘ�ǘ��f,�F0�Øs`�����+���#��� �'h5����u�Y*��(~����"oD<(�� B�׏j�j�ꀀ�;)/���VD8����`f!��(Gu&�H�A�g�3�����3��� >h}���_4>��
"�8�4(�Zq58lPNN150mL&&BJKJRFGF(:Dv6Nm+@�e�0��{q�X$$Ʈ#�H���� �+���Ǖe�Gu@#���KH�4RB)���pDC7�����q!���gd0@.��Vahizg�s��S�W��PJIhQ�Q���
�A7
$П}��/���TxTbRvE@E:"�h�T+=Bh�4��!�X�t�MqL�,R�K��H$C� ����?��������VC�Y)���������������u&"� �I R%$% IIi@t�$�RRB���QFHF����ۤG�́p�v�֒�{e#�\�쬒��=us���7��Yd~D���%P�!E���6��� ���=��ǧ������6I,�e�Q�He@�e#$�R2�(�%2��Z���K)e����H�*YH�)���YF�!�l�m+d�Ҹ~�g��l �4~�6\e�0��_,������s�.���R�$)���K!l��,��,�e�/�6C��3s ���f<ǘ���FJ2fK1�*1ы0ч0f !���z��v��Z���Yʎ9�8Ѿ���7f�6��5��՚�Vj�M�Z�V[˶]��{/�~�|���0Y��Vb�tc̙�̙�2fLə3b�Y�0����E�/e�.��-� ��E�,�|�EJ)�D ���({���z��4z=#��;I���KK���m6�M����O��R�F�>��QG��YȶE��H�J�d�L����?Ϩ�>���M���JG�ݧwwm�������d:��J�VI/Y��������q�ǫ'� ��r��v>X�c��R���6S�vT��V��b�g ���!,��\����e�-�s.e̻�r�]˹w.�ܻ�,��(��2�\��[�Yk!r!r4��՚sVj�y�5��6f��f�6��ݛ�u���3�q��l㜨圬���sV �췗2ݗ,�Eܻ�r�^��]��]˹w.Qs.�s-�o-張E���\H#�������lakhdfl �Mq�k���j�cT�(�� @5Ao�/j�et�J�YdD�:C��J)�X��+�W��U�����I�x~~���/S���><>�ó��D�υ�>TL�_Q5y��a�4Ҍ�f�hI4�S�����5�m L� Lk�4�3��өFI8�(��^�h��xH����eB����TU�D
"ȁ� t0�C]-�C�K!���T�W�_#/k�ֵ���#�$�J��s�K���/!2:��6+�M�p��o����u�x/��a�T������3R�ZT�f6K��'!2U�%KR���H�r%��������VEkY������VD��������V��.�tl$
��L �(Z&�P�K4��$�Ē���Rvn�gm�����k3dG�l
���EkXY����/��/(�%H.Gq �p�p��PT��>,�O �bE�V++�c�6��Ͳ<3l�L�D���A����h|kd~f�ڛDV���)�mY�+3m�J���E���q���YY�u�d]f�����V�s�[���:�Y�i�� ���)�RʖV��c,e���!2�\��췗2�\˹w.��.�z��]˙s.Qo-嬵d-��TY�C>m�ߛ�msm�3^k�Y��9���3Q�2�\ə,�F<��l�e|�E��dA� d&B�-���[�ys.�w.�w.�w.�ܻ�2��跖��Ū!2�* ��Ez+e\����D�?P��yF��<��C��:,9��9F
a�t��������M&�K���jK��i�>�O��R}F�>���?���DL�Dl�D�$��%�2���O���jM���M#�۴����������_���x
ȥ`+%����`+"f �E��͔ZX,p�r�<s�\u����q�'̡e ��l}����)Q�6SʙS*�\�e[+el������X��W��W��[+ej+YR��V��R�t@�:1�;1̴َe�.e��f�ٟ3���f�4��Ӛ�U��U��fl�fm�nm�u�vo���7ѹc:�ˋk�챖2�X�c,ez+�^��Z��W��U��UʴT��HDI�"�������]6��ZL�0q��e`c�ܜ� �b��~0eB�@��1^<�YQ�H2QN��"�������`��_=�/�a����Y��^=+
w�/4����Vzy��J�]��˼{|�%�#�ڂQ���b�;�TF�MN ��ѥ%�2BBI�#: �O��L�l��˰�0��.I�|���j��(�:��n�<+F��� E'$T��@3Qhl!����!P�RxR
�'����> W�o!�{x1���]��"�T��o��`�rN���Hd��7D�+�LA�X.8��O��� Y�\J�*����'�@�TxV�Ƿ����D�@�#ҳ$29a�y �/�����|�G���
��x
ɍ�}����������m;i[N�-�h��v�Hڄiџ#Vt����T�d%"��� FDG23�h8Dr�I�������W�vVe/R}������q���j��0�(���>���ՠ<
�g�r+AT�H��J�M���YJ�P4������i+Si3AV�f�i+A^�V�i3Aj�f��f��IY�����R4�(� ]e�`)�mwWipr,�ͬ�r��:�����$�Y�rL��p�9G��e ��l|����)e+)�O*eL�������쯕�������r�T���9D �P�!6Q�4Ѫ�9�3�j3fZ2ѓ1�:1fØ3� ��^��]��i�U�\ �Wq������Ye<��,�eK*�\�����쭕��VʹW*QS)�: r��?��C�h�E
hx�|t�·*ho��� �5�s��$�.�ܹ���E��wwv����I���M.�K����M����Mi���Q�Ϩ�>ϳ�?�&E�-�=�rNJ�^K�y!�뤤��Ii-�;N�ۻ������
ȭ`+"U���^�NZ�yo-弻eܻ�r�D C�BY��ƌiƻ(l���o��K��c�9㝎�;X����cŏ8��VO�C(� ��r�x��h{���x�e��r�2}쟓�zǬy��]˶^��_��Cd6Cd>C�>`���9��Y�1Q�2Y�2�[2�\�fz3Y���h���9�4��՚�Vj�Tk�y��Y�5ٮ�y��Y��Y��Y�4��Ӛ1I�m�ˌ8N.�Y�7��l<�6��6�~^�K]
W�BKrH��5��< ���A�#�5[� �"�:? �������OR��Z���k+Uұ�]+�ұ�Z��Ez��]+լ�����ۣ���1��� ��C�VS������0M4�%�H�b��ؤ�Ђf�+k
���C̋F�-Y@��Z��¥RꂙdPr�.�Hl!�☔�50<�E|U~���x\yg����"�<~��E_X���k�?Y#�%N�J��K��$�ɱ��"������� �o����y����� j��2+��tWow��3��a�� 13NB,��I9��>��>���>?��dr��VL*�Y��۶ņ�Ŧ��m��q����؇m��Ѥ�#N:.��J����Ih�Y� �&�O9+@�j�
Ff�s^k�:�AU�n����in0���
ت���;AO�c����V�F�[��
q �[BI�hI5m -[CV��մ27M �M������hjj�ڛckV�����m v��ūhsfl����������<-��]�c��;_1�|�i򎲭)�� ��,���ls���K�w��1�ǫ'���e (YF�Q��2�O�~=QF2�%�L�f��e̹��y��Y�0т�z!��_��r�\��Z��K!2 ����X��1f<Ǚ3%�(�����C�;��<X��8�c�O��B��P�~O�=P��X�����;P��t9c�7��BZ��j��a����R�Li�u|� D&A�Y��(�E|��h��7-���v�������i4��K����6�M�����}F�Q�g��g�"Y#dl�d|��l�D���2>E]*��i�;���Nn[�v���W�����+%�X
��W�R��S*�W+Q[+�_+�c,e���,��,6>�:4641�0c�X�c%��ˉ[�f��li������,m�-��7Pݍ�7X�cv7��Cu ��Cv7cv7P��j�2�X�6X�͖r ���!,��!l��VZ�T[�t\���r�]��_�k!���|��|��hØs����Ř�c�y�1�<ǘ��F<ǘ��c�b�Y�1P�i�'4��ui+$�R2��X#0�$�a2��?K��q\��,R#z$ ���L'(Qa��
K�/��1+<�lVxV_VxV8�;�.�<+�TwTC*;�'�;*1+;�ETwTfTxVXVxVkVyVH���>:Dt18Dtn�8�>p5$"� ��рL�"$&�P���w��h �ivV^�.s~X���\G�Q_,<��ڭP��Y�Y�P���+��K>{x����{ǥd:��ťg�d:�ʲY�Y�Y�X�8�� �M]�����U�wW;�rJl�H�H#9��g��Dq�L'H -@������@x������ڳ;ǧ���4<���� ���` }
l���U!�H$hߑ7�/F�h��W���V��}�+!�����J���9���g� �6n8[P�:6��=� �G6��=����4Ni+)H�-����I$2� L8�����b���}�*9�,E �pF��)���z1�5q��W�%Q�U�I�"���1��L��͒ZN�_m;bci��m;d��6�(lMmCm���9� ��Ӷ'4��M%h��V�K)$�� 0���6�^]�Ѭ�YR��ZK�����$����8�U,R��j�Yo.e�.Yw.��/Q
�]rq�r���q�ǜ��l~�Ne� r�3`�� �迗轗h�e�-嬅�L��<�E�����E\��2�@�*)X�C�?��>��>e�-��.e̻���������\l�pwhmhjƫ�������j��q��z�JЕ�)������
K � �%!�'�U�����T� r��@P�C�>P�E��2~=c���������=�I���M-���kK���m6�O��Z�Q��}�g���2-r.F��#Q��G�6F�.E�2�����9�NnS��9X
����X���z�~P�P�8�C�>c�>�����@Y�� l�����q�rz���r�R�Ua&����B� x��x�b����2�h�m�r�x�{���������Z�Y �� ��B�-�>c폶>��?X���������������TʙW*�[+�|��r�Y��; �!2!,�����跖��[�yn�v\˖\��췖�������[�Ֆ���$[�b�vд����)�e��+Rµt+~$ns�,����1ƴCU�� �����<,��bA]*��P�R�����eK)�R�����4�<�ԅ¥������PwT�� �ы��i�t\v����-�mƛm��{i+AVˬ��,4�]�p���ݥ�m�� �y��qKr���OBp�}~7�'�x?����Z���Z���Zʂ�U*
�k*��V*�T�������ȫ��U���tF�$_d��%N�%��&Gq�#�&Ep�a��8���=�|/=o�����c{xP{xP|P~� O�^�w�07��g�rG�}����J�d��Y�����Û��S��nS������r�
�7��p,���ѹ��͠�ݴ��C�3d=2�n����.k��b�AcWAg� k�7-��e�A�,�*I$d�X�1F*��*�Q
��v����h,Z��ɻl,۶�ٻl-�� ����ݶ���n�؂rn77;v؉nm���b1�hF��#��f-� Ƹ�_XW[�#UB�t+ߊ��W�1#>bF|�B^R�R� r�TʶU��W��W�b�9g,��Y�tAQ�Y�Y�h��9b�b��[*�V��S��@X�C�>c�yF�>��yNJ(v�[q�(r�,q� p�yO*eK*YW*�l��쯖2�X��Y�9g,�Y����Ê�} � t5�f6ؗ��(�(�!N�Y��������Q����8���;c����48P����KP���(kƪssr����ݴz=�I��i4�]-%��m6�O����Qj3�>Ϭ�>���dL��2.Eȹȹ"�"�L������7776��n۷)��VD�YX�����Ƽjƻ����m��q�ؖ��o��K�^Ľ�48��9�玶:��c�����6=X��VP�9Fǻ��1��������
2 2� ��R�)e,��K)Q�z1�lp��q����r��(t���\u���k��,y��'����h��x������?c�������e+ r��9N����S�yO)�O)�N��S�yO)�<���5�>r7�;j��������6�a�&�+�f*Z�X\�s�P9%�N5Q�%0���|��oU������GU CԝT����2���Nj@���QtS�(���1)=�)I�Z���+�p Ħ S$#��*�����7ё]���X���6��R�����d �]*��=-N�``�I�8dG��jb8.'��|���^NVxV꣺�.՝�:����Q�S���@�RuRڣ���'�V���Oa�6`/���Y��
^��s���Y���K9a��~9cWl�TS��$��� �� ���y��y�}��}�}��}��A|5>���С�U�����oG�����m}�+!׀���u;�8����N(p���H���\�DrG�<p�Ȝ>p���l��f�5 I����J�6@�a�$]��T�iib�Uin/�!7s�r�t������I8ߌ�oE8���J��Sk��F` \i�]dKN��(��V�q+�@�J�'p ���΁���%p��1\?n'�%���m;`C�LԌ�d 6Q�+.
%�^U�X�/_X)���ٜ���06%�Z�Lt�\u���|xǛq��}��~P�P�4Q�9G(�{�9G(� ���ꇪhx�|v�\t�·:�pľ7Ж��l���h���|f�+����Le�n�z����!o-��;�Ŏ�<cŏ8��X��쟓�~P��C(e ��2}���d���4<��C�;����C�9,8�^��n�-Ce T5cM ������2c1PÌ��*�z��[ū�gi�sssswwwGN��=%$�i4�ZK���[M���m>�O��j5�}�g���K"Y"dJ"dL��3�"Q����G�F\�)�r���)�fXŌXŌY�fŜYū�Z�o�n��]���%�,_��,b�+v2X��)����i��4cE�XՍxٍ��Ķ7cu���C����8��8��X��X�c�x�C��x玙o-強��+�?�O\u`n`h\I�1��<I�%����[lJ�W���zlj��ƫ1���lKXߍ�%�/c��8�c��V9��:c�:X�c���;c�;c�;�������;c�;PM�n㛁<��V���oh)�C��s^�
u�
����¢|��N0�R´F�<�R��V���SJBUtPo���h�"슲 5�D�$Ճi\J�U\0�HUB�W��(�|1�+�Q�KH� Q$х=R#�B��p)��nm�F���Ͳ�R�J��Q��=XON� ��9D� ��h���e��˫ %k�r��%J�A��e �E]�WR諢�؊�(.QiXG���z7�3�|�����E�b-tF������3����%Iq���ɑqa�I�p�����������y���� �������_~� ���{������_f%񧎣OG�������]�+'u��� ��L4 ��h���-�Al�8 wf�wi�\�7�v����]�7|��sl���2��f�6BA��LMpj�kb��l������s����ܡ+%��܁�;�9E���A1�$W�Ă���]u�S � �]p�� �0�8�M��(� �e��K6-.�H�7BIٺ gm�l97���m�`�j�2��[�bl���L��MU�N~��O]�'��������N�K,dĦ%,e�\J�W���|g��,hƋq�hiƜiƌh���fĭ �%(d�Jt1P�C$�^�r���Z�c�HЭ��\�f�q�}���r�2�S�yN�t@�����Z���k�����g��1����|h���f�lJ�Wq)�Ldĝ T1P�B� *([XZ�b�� V�V�n"�T�:8��6!hAХ�X��A����񈨅��8���ܶ�������������4�M&�K����֛OI�5(��{Q�ϳ��>Ϩ�?���?��&������}�g���ug)�or���VD*����dޫY!� � , ,��;���A�����a�������>�}���b8��J��K�!�b&b*�;x��l�u���b�� �X�bś�o1w�zĖ$�~� `���a���b���V@����e+)d ����R�YK l��)�N��v��&�EVf#qb�#�[�b�,b͋X�b�.X�bJ����1��c���'�<I�Ɍ��BS�%,Jc.2�n�t��w�N��̀g����#e#.0� .qe��b工�@ ���
�V� ���e+=�5�=����gD<��T{TiT{Tq�
dPn@��8 p!�t�(Qa;‹ �XOQ)��C䄔���g��H�сb���;�\N�����i+.����V�Z�.�ڻ�Rt��y�T@���r� �o <jVzTh�I�I�L��SJ)�X��
ͪ��U��s� XQa;B� �XO���F���v�L�+-/MUp}��0B�I�,RA$!��a����Q`9@�&`B|��ツ����<�槐�A|�� ��}�S�/'}�K��#�`C��#ѝcz?�����Y��VN.�������� F]�`30���6�q�l�Ȣˬ�e�+YH�����J���T6��Ki\��[J�{I$����.0Ga�.Wec��Xׯ�����g9�',�,rݒ)%��1�Q�����.'.��.��6Ì8�9�LÌ�k��
u�S�#2��,YF�!�l�e#$�R0��6�ƒ�6�4&2�� ]d�Ì*a������,����:� ���9��9e�,����E��D�'6"���EX��x����b�
t*b��x��B+8���j������������Ń�ȄD"�"N��q⇌w���u��q҇\t�Lt�Lt���҅<S�LT�K1R�LT�;(T�R�<S�<S���DP��=z�!qb�)P������z�������b�w��õe]N��*! ��B*b'��Kcm �ۍ�ۍ��Ce���7�nSv����N[���v���&�Ii)&�K���kM����>��i�=�ϳ�Eg�}���g��g��}������OIYoooooY|���(kƼkƬjƫhiƜiƜiƜiƚ�X,�C�b�u`)� �z�-���-�5�<)�*p������tý��XZXZ�[aq�Ň�=X{��p�� @� �J�&!,Cb1��s��lq��q�qƇ p��1��1�lq�q�����Lt��lw�����, ���
���J�a�{��a�����6 �AX�b�-�lCX��b&�U��EX��x.�u�:Ze�9�]�W2� n��EX]�S.��Yu�IU@���5����@Q�q��;���UA+�o� t��`@�i���n��/O����N>�4�@�r��PT!-KC���!� l���d���;Yu�Z6�`�m��V�M��#,4
&Vd F\��P���k� �W�<lB4U���� ��xS�x|@�
�|
���� �!��E5��� Շ��� և�3;*�1k�/�|���^E��w2<�d�nRL�����qq��I���`�&�o�������9�|Nz�����������^��ש�s�ħ�y<Ux����������VD/������. 5�\K��H���^�k�3X�k �ev�e�@�e�@�e�Al���ɖYk-�
�`�2�l0� �����CW���^k����R�
�.S��Or� ��0V�IAc8� ��0^N ��԰8֥�½. ��p�_\�lq�`$ئM��n3L�q��n�l��6�8���ͲFf�K�l���� 4�7XY�m��{���]u�Iv �`hW@Ы���A%��;��a)rX��8���������\E�!X ����`��vX*�����RPQ�GaK0�aS0�(X�-��X�db�ccN3�όؕ�\e�)C&$�'C1P�C0X��/��/��/��/��/�/����C���c� ��� ���l�L�̀��t`)0�‹
� � � � �%� l%V��R`��&e,��@�Z�c�� ��B�-b� �BF��$1Z��+b�+X��}�V�lG��#�HS[[{v��7�Nnnnۻ�:Gh��;G��i-%��֛MI��{Oi���Q���F}gڊ>��EY���gڍF�Qi�='��}ś���VH�Y8�d�HP�B>�Z�#q��EЩ�x���Eb*�N"qB'8��N"qb�)��*b3�#�U�b?��^ŋ�-ػ�عB� ���+�ŋ6-L[�zc�v%&3��(�c}�����q~���Ib�.��.b� t-b�,��,P��,X�����B�,X��T-bՋv.X�b���/ؿc �+v2X���Į3c5�q���ce��%�������q�*�s��p,4†`� �~� �l� �Yu�F�YduT'W���t\s^qJ�G䜏F�5QC
, #0!��O������<D� �<��O�>��o�">M�"�T %p��^���z'�Ge�H���vZd��L�a��0���\�����TE��˧�&�8�rX%���j��,S�,�B�����
�B|,o�} �ϡ����L@�U� /B�/B�PDKe3e� �6��i`�� Z��a��݊3�s�9A�Hd�o����q*�5B�‰m� }
���}�z}�}�{}�����������������x��^y���������VC�Y:�d>�����]t�m`���-K������Ypk���2�� 0�2�.��.���Fi���e+;I�ɤ�B�f@=L�̥`���*a� ��]wY���� ���������ukZՀ󫤵k�լ�m`�R�Y`U�]��\=��e� e�Vi@Z4��ZL���� jյ �҆�G�N�M'h v�3)Y)a#0�p��Y��X�ͬ���t�)�0/�}V��t-P��8��4,b� +�F��
�+b�#������������B�"qB�Z�)P��B��>�����=Py����<Px���\�y��A�8z�Շ��|����/�$�{qw1o�g(Wč����#�FЌ�R�:4"hCP��%
X�����8\PZ�i�����»
��Va��h*�*��¯
�*��a��Va�õ�m�~�����oj۶��ossr�ݷtv���=$�ZKI��Zm-��i�6��Z}=��j5�F�Q��j4��OI�E������Ԟ��ooY�����UaQA҃��RaE�Z �'�'0������k �&l&�����o �'l'��P�QaI0���aOaUa�a[a_0���������������V �B؈���R�e��qZą���1j�����As���Z�gAe���卑��A�
�:�uîp��f�VaYA[a]a_�|,0�����am�Ň�V��a�b�+�!qb"�;v#,GX�1bB�|XŜ[�s�IX���Yu��fh)镂�����h;8I���װj]X4f���*��"F$$k� �����-.�Y�:ߧ�n�< g��[=� w��p�� �.;��x�, Ċ(��q�ZH����R�(SK ��ͬ�4�V����f('�� ]��3@צ0h�X2��$ٔ�� .�f0ZF�@���A] ���D �������)��F�>
7��I��� �d� ���H���C G��ĖA�,R�j�J��V-���(_X��?�����|ȳ�H�܄y.BD�*+��� �L����M�����N|�����>&�O���'?�M|��<M{x������(y���������������7& �0"�v`r�ɀ�[�
;n��٠3)���,��c.��A��b��d m�0���1�`A[��2[��3[��4܉�5ۉ�U7 `�j&�j�l���L� ��{00��6!`(�p�^%��h�
YZ�%�r`ڕ��Jܘ1mɄ}�`�٠X�
��Xk0�*WY�S0� m3M���M[`�nm���\c�8
�%p�$p��p#ۍ�`7@�n&�E���1� �ad&����b&�0 ¸�Z5�������nw>������)�SHt��h�G\�G:8� ߛ�}��vo�~p�39������v�4Y��$��+�K3�>������>ϳ��>�Z��cb����ץ�n��ZU�Y唬���c��E�4nX�F���c�C��.��-�k-e��e��e�/� f 1Y��l��S��y���h�&�H��h�&��h��l��[[[[{v��ݹ���n������-&�I���[K��i��m6�O���)>�O��}F�OJ->�O�������i��m*��+0�&��Z!�T�HZ�HT���c����K�1�C.]X��Ez*�R� (� (����eK+�f�I��^��s3��)�g)��=Mjg��p�\\\W'-ɟR�>ϳ�?��%�2%�2.D� #Y�Yij~��Ǻ<�v��r�o�vm�usvo�����g[;���z �MTว,��mMٻN��t�7���L�S������a����H� �u�"��L�)���Y�,R�~#�Ja(�������5g�F%GU ��4S!�tC<*4>��t}�C��g�2�{x����W�o /�2<{x,�=<ex������+Ƿ������~c��~ ��P'���jpE�&� ��Ġ iII:BB0�t��`p��xm+D�Q�K]��Yz\��nI���SԏF!�E��
���^<�dVwTZRuR%QNh�)�)��3r̆pB!��h`/�zf��UW�H��g,�NI�8�1�)T���ߍ5q h�Dv��o��=�����^C7� ��!�w8����4��c��̀Y�q9�0��F' ��q#M0��Z�~㙾qH�$a���a���a���a�������:b:`Ƙ��!�TĴ��JKJ���!! :##�aFEt28Dp \?p/6��I���[) �8�����LS?�s�s�V��D9����Щ��8 �!�V}�3Ƿ��g�fg�EGuFGe L�d��FAٔ���F�D4��S) l�d��F@YH�-����4Li3A�f�ƒ��J�-��32��K)F`�Ì+.�v�%����ep5�Y�������w�4�+��3d�.e�5��Fi�9��Vl�]�3nm͹�7��ߛ�ߛ�~o�}��vm�nm͔l�y�5g4
=������y�6w����vδuΔtΖs��r�Vq�p���U��e�ٟ3٢�9�5ٮ�vl�nn�vn�~o�}�3�p��8Ѿ�p���7��7f�ۛ3^k�Y���c=s&c�`��~��]X�E�-Q DAe�,Q_r����sssrܷ7m�wwwv��=�G��z=#�zM&�Ii�6�Q��d��% ��A���P6@H`�`m+`��;� ˉ��萱b&J4��MI��������_�����e�,Y�y ��B嬷���eܿd5���,�f1f+1�K2fK3Y�3Y�3�{4f�Ӛ,�f��f�՚�M�h�F�4���f�њ3=�>g�6e̔d̙��tp�q�6q��r�y�9��:g\띨�gk;�|����x�y��s�y�9��Y��Y��Y��Tz��{�y�=�{�,���c����lX�F�՚�^l��p�Vv��6�n�wm�ɹ�:5m���\����W����� $� "�H7���X��T>)�R�.�>��Qv/�_�2>��'��ڲ���y^�m�V[WJ�G�d��aZ����⚺x�뮏.�L8����g����G�PQOi��֘~K� M!I���I�h�k`���Ij���}�)FJ�z�h�xV�s���,�lV���U)��" H���ȋ��k!��K!
�2�ԩ}Et��>�>���?��|ȓ�"��F��"�q������"�I0��߷���H^E� P`=�� c���
{CR<m��dt`�FDt \J�;�����avי:u2d�HK�����Yj����H�UH�1�i�dҧJ�[M4��[J0$��;F2���;�pjrm���Cs3dpb����5���ۻ��;��;�q��q����������Ó�Â�����P�T���U))��Ugh�ʹXj� �� ��!Y�-5m���[E���f��v��-[F�� [F&i�[&Fi�#;F6 ���E�s"����U��l��v�˷̿;�9�^����Cт�9��y�2ٗ3f{3�|њhӚsU��Vj�Y��Tj�UsFi�=�5�$:�z�Ty��<Y�;Q�;Q�:�Z:g<�G*9Q�8Y�7��7Ѻ������;gl���0�,ǘ�&e̹���h�Fh�M�l՚�^j�^k�y�5ٮ�Tj�4i�M3E�6e�&d�Tb�`�l��h��2����
�*,e|��2�R�,�n۶�6�����v�ݷm��;n�;v���z=�I��i-.�M���"dy��d 2���@|��8?�l�;�p������&��(��R}>�M��W��^��U��k�KE抭����vTʳ+e|�e���VA�%��k-Yn˖]��/��!�0f Øs ���c����&c�(ɘ�c�a� s`�|���j/�/ѳ6f�6��7f�ߛ��g ��,㜳�r�s9�K:gL�GJ;Y���v��v���;Y�;�|����x��<��<���g��G��G���3�x��w�����v��ځ���#":7O��� ��IY��l:�-%-�ns�X�
� �q)�+�B}g�j��Q�T��"9Rx�@~�=�%=�³����ҵ�<�՞U����E�<+eY�X�VxV³°�����g�b��WS#"��R�€��}g�z���MO"rj`�L&%�)% X�#;7� &�5L��w]�ת®�mK �C�ډq@������UY�S�����E8��D8"� ��hGD e�Ԡ�=>��@y�m.��� �U�ۻ��a�rϜ��)b�rC c��7� �*��Ug� B|�=+V��� C��ڀބ\E<�E ��M�����U��-���+r�(;I���u��+.7]��O����6 �6FF~�dT�&#��1%-�%$BJH���-�]?pF�5I� 6R1 �%�ZZZ��w9�(LK ����j��Qa$p,���x����*���Ge@�RxS)�=4��JЀi3R4�� �f�i3B-��H�f��iZ��� M'nm�hI6��������M�� �$jl�dJ�����C1l6�λK�0��YzZ�?���嵧,��>X� �Bd.Z��\˹{/��!��f 0ه1Y�1َ̖c̙�2fLə3%�b�$��Oގ����uδu��(�����s�3�o��n��m͔k�tj�9��h���9Y�9��90dt����� f �F�f<ǘ��l�F[2Y�2Q�2Q�2f;1ю�Y��9��|���{/Qs-� ��A��,Q]b�T� h�C�>�� psE�ϙ��oooosn��ܷ7m�wwwwwv����=����&�I���m>���E�L�d��C�$�=����h3P��`�=bu��Dj"��}���}6�K���������3fz3�{4f�34[l�l{�����VR���6TʶU��^�g ����\��Ֆ��[��]��]˶]�헲�_��^��{/e�/eܻ�l��췖��D-� D-tAQ�4f�4f��f�՚�^k͙�͹�7Y�7ٿ8Y���8��8���4r�vs��t��s���3�tΔtΙ�:�\��s�uΖuΔt��tΙ�:g:9�ʎYΎX��6��l\n���&�����%X��B�CWx�;�l��m��`��Ƿ�'�x�
� �H�y�����
�<A��e�t���eeUk*)*�D�V>��EZ�z��*�Xꪕj�Q]�YGn�Nۣ��]�8�d?��*}j�q�<� �m ڏF%���� fi��zXl�ƛZc4�����Zy��U��VR‘�� �D] RBYRE�H�R�����^�ã�<8��ɖ��ֲ��������?�g��D���/!N24�;�� "���L~Չ��T()�5"ˆ(�)�r@�P���{۠ѳ�:�f���W��%HK������x
˅]ブ����:77&�lfmb�i[���>����-�if�C����9]�Jت����"�������л�$���;�_��Q� (x�7����m�V-+�b��T+��"�Ѽ4ªͽ�ջlvj����E���������ݶ@7�Rol���*7m�[���Ͳ�V�e�h�gh�gd�c`�c`�_\�_X�Z�!j����O�K� ��Y�2ļ�Ԧ�ݚ�0�B�W�AdA�-������,�eܽ���^��_��/e���9�u���l�GJ9�*8�Ǝ9Ǝp�}�vl͙��Tj�Nh�E�5�.d�&c�Ta� ��f��f�8g��18BY ���\˶]˹{/e�/�����~��/e��E컗2�ź!r�J �,�X��U��耢��|���4=�A@d�͙s-�3b�a�{{V����m�v�����������#��=�GH�v��R].�Mj&}2%���12���/�� Vh/�'�N�fJ�=�&}Gڍ>��R]5$�����+-�_�`�6a�9��Y��vd̴e��]h��=��'�B�9F��,~��耲�S��S���r�W��W��X�g,圂�9g,�(��h��2�W��[*�W*�L��#vm�9��Y�1ْ̖e�-���f{3�|њsFi�9��y�5ٳ6f�ۛsnn�ٻ7Q����8f��g8g �g 8�
8��G��(�G ��3��ߛ�}�u���4Ni+H�H�%�X��Y"��0���^�T��h�*� �Q=!�5q��S �He���ǧ�OU���𬾬�쨸��� eGeE�'UD�GUE�Ge ^�;)!��6���ʨ���� 22BD��ΆTdg@�t�����A)(�|IP�9)0cJIJ�!����& �h��N��`$s�T9�D����VxViTwR�)�ȆwD$RyRd}��Ƿ�O����Y�Y�\J�*���
��f)*�,�������w;��o�9Bqʉ$RԐH���7�<Ī("S �8�} �k�
�Ug�F�G�@j�Jͯ!���e�`S�KU8�S�h��(FI�2?xތ�����e����L�?p18Dq�� .�N���}��� �l.���m�hOuC��>F'#>F$�wD��+i"2� ;qtk1J뻹f�X�zG�U� ¦. D|��#ǥhj�p">��$'8Qa6‰ �HRP�)����v��Ӷ��v�ͧmSi�[P�-�lOmC�n(l.���Q8��=�)mCbsi�[I�&4��YH�%�X��|�k�����,
�^����廰Tܓ~rM�c�Xe4f�5Y�5ѯ6Y�6���k�� 貱_+�c,���^��f� �s�q�9�8g ���~n�vm͙��y�5f��F|�Fl�FL�F<Řsa��Ce��E캱s4Q�5Y�5f�6f�6ѷ6�����[+e|�e�,圂�9�Y�h��9b�b��Z��T�yJ�X���>���C�z�އ�HK�(�F0� ��l����eܹ����5m����[{�������nӻ�������=�����M%%�R{Qj,�dL�d�%ؙd�l���n&Q*�+���3��Q���m-���]%�X
˹n�v\���2�]��~�� ��CY����Y�ˍZ(49��c�:���<X��Y>�B�8��v>c�����?c�?X����C�?c�>����>e8�Q"4٦�9�4f��E̹�r�^��/�6CY��`�9��6b�tc̙�2Y�3Q�3Y����4f�ӚsNj�Y�5Ѫ�vk͙���k͖l�fk�^k�y��y��Y�5f�ӚsNh����۶ǖ����%`yae�e�Xu��J�w��>�(�,�$��qq��JPp���S���VPV���RʇUT�tSJG+)���kE�#B-)�VR2"�F$]H��e"��R:��A�$�H�Aяn���m���\P଍�b)%I-�����Њb� Umi�IW�?ƼA�� ��VJ�T�J�?�y�a�W�W�xjz��YX�W�UR�$�� j�T+�]Re����?�X�WD���S"ϙZ���)^R,��X�������#�p��� pM�s�x/=#‚��w�|4�8CTU;H���+�)W�/J�����'!.>2Lu&*�YݷE�f��쮋�[� �����$ܷW&��ݶ%e�q��M:�{e�Bѵ��S!Z�0�����^Ws I򅤗[�$a�)c����Q=�q��� B:�P�pp�nM�y�p_n�[�6��(ݶ%[�g-��ɶ59n �[�Y�lor�[�c��c�slvohwj��#�6�����ƹ=zXz[X�]_�]X�}��������$� 9��y�2Y�2�[3Q�3��њsU�Vk�tk�y��y�͙��tk�y�5٫4���f��F|͙h�F:1�:1Q��C� ���r�(�E��� ���,��h�F1f9�3-�l�Fl�f|њ3Ni�Y�2�B�?�>��?X�C�?c�?X�C�>���yG'�=a�(x�ևZ�r�|EX��h�D6_��r���� �tAQf�W��h��mm[���i��}>��ZzM��m�wwwwGh�#���z;I���]-��Y��̉d[#��$䬕���D�#�F�-3�E(��}6���t���`+0\�e\����Y��AdA�Bd-���Z�ݗ2��r�_��~�l��Yq���q�q.��c~%��hr�ʇ,s�<s�<t��(�)VBB3&d̙�1�<�F<Ř�a�4a��c,�g ���: ��;!,�����[��\��]��/��!�!��F Øsb�vc�c�%3&e�&d̴e̹�2�\˙s.d̴e�&d�c�tc�Y��4��� ��iڍ��(ٛ0�m{]z
�[����'$�JR?D� �� B�*=��ǧ��Y�[J�ʂYI�SjN�A��sEm���$WNH��E8���rE)�TS�(H��<����JKKRR@�HIIBB0�FGG"23�F��?pn(p��f�z�FO�H����5�X�[<�rX��z WB��S.�D�TO���x��2��^aY�X/U�#TvT u'U.):�����ԝ�b�\4.����*���\���� :I�����G��~1F7����q*�HQa P���o���/�� �}`E�1+��ߌ �~G$~@�#�7#�������*�h�E������t��4dd`s�Ev'H������"���G"p��a8~��>p-�i��4{IZi���чWe���vV]f(z�_�\\��rJ )b��!�$�~7�z0nĪ(bS8�E��D��"B�P��6�i@�i#����a���q;��qC��~�2�?r7O���G#p��5�?rWO� 7������چ�m3aɤ�M����.�l8�N.���,����v��a�rN��PqK ������,�e��E���k!�`�6b�Y��y�1�Lə3%�3&e�&c̔c�y�1fØ3�~��~��v�yj�Z!2 � ,ez+�Z*�E�y���X��D<F�Kys.��/Y!��{0f �fØ��f<Ǚ3%�(ɘX-0V`�`{XzXw��q�Nj(L~��!!zB���E̷���D%tAd2�V������YJ�
�}������7&���m6�OI���Q�ϳ��?ϵ �Y�����v���z=��it�kMj5}�2%�r5��6F��F�%3��QI��m6���t��I��V` �P�8��x�c��>��c�@e,���yS*e\���Ŗ2͖r ���L��!l����[��\��]˹v��]��^˴^��v��{/Yw.��.Ys.e�-�o-��י�!�!X*�?����������,�e[*�[+�_+�f�6AY�TBY �� �� e�-��.e̻�r헨����^��������^��^��~��{.�w.�ܹ�2�[ŗm�mɸ.�+cShcj��[+�̽�4��j����/ ��� @4AO��S�QZ��%K*R�uJȢ�-"�ȴ�#QiSD]C�,�!D����V,@��a��i,ҋ�m(�K4�YR i- �I��������Ɩ�����v`aau��^��ŋ��2ܢԒ�$��!%
� 0-��ψ��xSV���eB����+)JVE �U�B�dP(vE�RC2�Jc`L^�&-tM�o�>w(�-�d�&��DX���%HE����G����K�� ����� �<!�. �^�i��2t|d�֌�FJ��$GQ⨰���
�sF���+��0�Gh��х�;Fۡ��]����� ܷ3v؊j��"1�`Ub� �q]~������.��gr��r ����� �q �T"�+@,��,A�,?P ,���� �����l
�8��mv�&�l@�n�Nۢ�tD;7DS�tTv����Y�pH9�+�7���q�h\kh]f�Lk�%������V$��%�/]L]�(�/(�' �'S*�k+e|��l�� ��[!r���[��\˖]˹w.Qv��r��s-強��B�%�yDY� ��UʙO h������C�r����2�� �f��e̙�*�k+�b�c,�A�Bd-��k-Yk-弹�蹗2�\˙s.Qo-嬵��!2�+,��,ej*�\�DR��}X{��(��T<��C��:P�C�8P�����Ii).�M��i�>�QJ3�Qg���g��GˣY�G�h���z=&��it��Mi�>ϳ��"dL�������QJ)5��R].���M$���X
��ݍؗ�/�8c�9X��v:c�:㵎�;�ŏ8�d�'� �c�>X�C���?�����9����2�U��V��������W��������������r�r�2�d̙�2ٗ3Y�2ћ3f K�X'����,��x�c司���?������6@�<��2��r����W��b�X��X�c,e�,e���2�X��W��V��[*�Z�FFt0�Dt68~�]mCsm;D�R�Xu���\ue����f��Hp���)����oP�<�1*;*��ȧ$U�(��Cz ��sC!�Έ`hgd3*�ҡ�J �� �B��p`C�y910fL&&)Dġ�)-(=�$� � ����� wO��N�9���Xq�B0���ԃݽ8��� ѫ��
$&�_&>{|���X��쨆RuR&�椆E9"�ȧ$R��_E8������̈xDt�FH�8�b]��,�im��,��r� IhQ����N�"�F�Tg8ތ����*��0�aE��
$'8`�E��
,E��Dx�\`1��7�0��g�ތ"W�%q�U�%1`+/w��C������d�rB*0�HEHRу�B:0����5�3�y�+���#�s��$mCd擴̥d��6#�qs��\OY�r�����,ܖ9_�&$~D(�ă��)�p��p�B�� :��X&2�V]`F��l��Q�Ga L��%����i[%���d�T# .��Mp��
O�&6|�hm;D��������{ ��f���ܹܓ�j��W��URA",��<�Փ졔q��|����� �e,��9����2�TʴTʙS*e;)�@�*)P������>e(QB��ynjw�Z(sXr� x��~`�|��|��l��������졔l|����}���� ,��YD@�S��SʔT��S�vS�)e,����~��|���9>��<��;c���C�7ЖXl������J�- Jx�C0о�M&���m.�Mi���QI�F�Q�g����?�.������z=&��Z]-&�i���j,�Q�Z�Q��R}>��it�]%$����h��$�`� `���v$��1��\J�5���cE�65X׍�6ؖĵ������ lr��1��\v�lw��1�ǜz���z��O�~O��?'�?'���ꇬz�ꇜyǜ�e�/e�/e�/����� �������0��l�YY�1��,s��1ևk��,x��ǜz�}���P��P�9G(�G(��=�G�{��l�E(e �e ��V��T��aX��
�-��nm��Sh-ٛrŮV�}�����yC�u{��<AO���<��T*WR���TE���aF��R��HW��� �+���%��N ��
|`~��Zq��*�`��Ӆjy�馔,R�P�Ii�%� �{���p=7m�������yZ� �[ {Zai:�,$Z0��hB��o.�P�YXN�]PrR�(8QVD�"��z�.� DF�A t0f�Ҡ�S�m����;V�)�`�ƹ-}bbӢo�:�bl�Q:J�O�� �\!z�$��DX����dx���$�g .�� :6+�M���DM���.5�%E�J��$E�G��#�Q`+/�F�F���F���N��: �t)-(3Z0�Ih���h���h���n�������J7+`�j�L�!4Ͱ�Mp�[X(jt_�-�
Yܡ�N@� t��:E�!���8*�>�o��� �� ��"I�d_gd`gdbgdcgdI�l�6Vd]e���,� �q��e�C�l6�]��ot(ݷ�ɶ�����L�T��u^�
ʺ�Xu�����Uϔ*��B�N@���j����q-��7�}���8��v9��:����:��;c�;c�;c���鎘��X��8����-Cn5�V4�:�= ��/��.�r�tZ�TB� DA��TX��X��^���ce�����n���8X��8�c�9P玔:X鎖:㭎�:P鎔:c�9P��48�^��7�Z��l��(h�jq����0P�BJ���Z�aa#��#�U�j´#l$� rG��i4�].�M��R}>��j3�>ϳ�?��&D�%'a�G����v�K���m6�M����������jM���i.��RM&��i4��Y� h����,�L�- -
슋��"�b6�v*؏�� ��,X�b݋��b��+�`���'bO1)c.2ؕ�lf�|h��,i��liƜj��q���jƫhiƜj��r�W��W��W�X�c,圂��Ad�VA�d%��B�-��Z�Ֆ칐L� L�,�L \f�{��ƜiƬk������l��m��m��mĶ6�n6�n6�ٍ�ٍ�6`]%"$a!�0�g���:���M���e3a�,���`^\�9a�5qT*`��Ԭ�� �'�X�O(�@�
��=))I���緀�|��緀�y��=� W�o2���X���/�>
��_]��T�Q�#"$������d�(i�)VJGJ�)&������[i���FVa���Yzg���+�= �H������O:�����–�NȠ<������E<�ETyT�I����/��>�� �/����>��di+R2���Ë�v� +/RW���園� a�Y��U�E�B}+�P�H�c��Dq*�XT�!S ���"S�)�6D�%�Ui�\KĮ u�\U��,J�Z%Q
1)��S�V��wx(ZJ�6���IZN�V��i+G�&hѤ�L� S�F�w�q3m���S�N'p{����4�I��X��KƳ �Uq�����$�Jg$RI$���QĪ.`z�U
ꟁ�/���Y�F� �f�F�+�F��H�,ZHԬ�hl�jm%dm%j�J�,J�M%d,�e�R2�(�J�6@�a�0�@�q�Xmp0ezYu�T)o����00�$�K�Ae�X��A#��b���[�s�^Ė/����c1�Ōxnjx��'�t1�1��C0P�BKT.йB�,н���_+eZ*e<�����?���>��C�x�E��(�����VƖ����1w�{X�b�0c0�1c 60�1c 8�c �$�^��(\�f���#B>�U�j�.�JT"(BЄ�J������!(P��6<��;�����c�:�=��i4��Mi���M���}=��j3������g�Dȴ�wtz=�Gi-%���]-��i��m6�M��Z].�Ki)%$��KI����x
�鎘鎘뎸뎸�c�;c������B]���}� ȊhA2 �6l>X}����@؂�,A؅�6!���X���x��m���#�W���k�V�lV�j�Ć$hHbC?������?(Q>�P�G(��x��x���>��?c�?��@d���dSʙS*e\�el��������u�E����Ն�hh��Ƌq�ln�����i�S�@L�0�iA(ӭ�.4 �lͮ�0ZY�^��x�l�{X�t ��/���|`Žp� `c�� Gހ%�UU���~'����|yg���<��XZ+YXX+����V�S���x*^�
w������q��ݶ�
fӶ ��6(�t4m: �Yp�4`�v��t�/�@�c\���u�0\J����x���x^����w��zW�^�E`t*����K� ��������<�M��}g�����yg�q�|&_���m��$1lX�%-t&U�ۻ'N�N���� �\Az)������<J}��q��#�qa�$�nTW ."\\D���Qq��$��G��#��F��� DF����V^/�e���j� ���i���oh'� ֭��kl&Za�p4�@�iv��ˬ��Z�-� fZdFd&vAZ��,R��Z�*���nv 9�`���ԲH �$�1�2��@k����� �G�
f-����S3L�6v��6�tj�
vm��j�
������V�m{V�X�m�{Ahմ�M��Ͳ��!���؛���K��xZ� z� j���-����a��a�r�@�YD$�2�Q�9G��C�BY�*��Ȳ��`E0!W6 �Ab��X��X��X��,A�"$ҋ1�1���1�$(�B�B��ynjw�ڇZ1·,r�Ƈ
�7�݉lKPۍ�6c^5�]�XӍ8ӏx�c�>c�>����E�.ؕh\lF�!8�� q�
4 1��?a�`���Xx�� z Z : ����"!N!f!��A��m��l��hh���{���Z�%1��� <c�=�ݴz=&�Kim-���kM����Ҍ����?���?�&E�&��i�G���ZIi-%���m.�K���t�]&�I����z=�G�h�Y�����;���<c�<c�'�;,d��1)��ˉ\J�V�k�hƋq���1�q&��������B6�e
�)��)��#&*ح1bb���Ĝ�4�d���ģ�O��'����2}�4cF4cF4Xэ�cE�Ӎ4�N4�V5c^6X�cm��6��cu��߉|p�q��+���Lu�lw�|xnjy��ǫ�z���P�C(YB�9G�{��=��=����f��%h��VH�$d �l�a��6��������]�ӎ`�"�F�����B���_<�zx����,U�U�����U�k*<+6*<+DVyVqV��m��� �yy ��ȏ�l8��[j78Iq;`ͧl��V�դ��2��l8Ë��9���U�Uw�rL�,R�J������,7
���}�c�����5�zx��ʳcǕf��O^=+�x������ǐ;���D4��[I}�X?]��� 9KS������W��5Q��%0�+
$�?y�C�$X��*�h�Dv�L ��LGx��q*�������*����v�LA���*����u�L_U���]��:ӭ#h1����%hݤ�'i+A���4��
��4Ei;BcI�#���
6�4Ii3M2��K)�a#vaK.DY��m,����ۭ��ywl\�a����(D��,�Ha�!�6�i��m�S��.2�ˬ�e֏�F�v�4u�����m'l�چ�2�P�%� ��v�m�h�I�Lմ��S)�e����붹�̬�K�J[@�k��ݭ9fy�g9�(э8Ӎ8ՍT5cU�x׍�6cf6cf6cf6��cf6cf5�׍�5�ՍT4�F4PωZheĦ2X�C 8�C %��(\żY�b��W�^��$1!��+b?���\U�}��ٍ�5��Cf6cf6cf6cf6cf6cf5�] t5�^5cM 8�CF3�= �%he�LI�njX�C *h\�n��(WĆ#�U�B6�f#(TXS���Db"�>!��lBЅ� �]�wwG��ZJI���].�M�����}F�>�������"dL��J�;G���4�M%���4�]&�I��im&�I����z=�v���V`.!1�<R�,R�+�J� �J�+�AP��X�� b�-�[�!�C�#8��O1b6�u����lH⽋,��-����$�Ib��8ÌXlj<I��bR�[q+c5��ύ4b:�u�؍���FЌ�B2�^#1b3x����FP����ثb?�ZĆ$q_,Y�k�\���ؒ�1���I�O�%1)c-�\f���h�{,iƫ�jƬkƻ{V�4� ��A�d$Y���_\K��J����7�4'R�:U�\u2!��� ����<��T �T��K*����Jʁb��ƪ�Ī�ª������ ���$�q?5�������a$�6MmI�hL�!"��A�\���̥�=`Ƶ�sZP_H�a����+� 7�|G�x�.�j�VU]+2����Z��F�e@�W�U]+Q]+I�V���j�'��DF��+6���J��)k�_v&\�L��N��M�q��TAv������y�Ւf4\Dx���D��"L<D���1T$����TDx�"4W .4\$hj,<8
���(�ep"+��i�3Z���5M��4[T�mm�ݴc{`C���n�=�[E�&ܭ���Z]��
vedL��+��W�"��ZE��-:�K@���%��s�`NY�s�r�PeKr�:Y� e��^���v����]vf��������[ 0
�Wd �i�6��3{��opNM�U�n�ܮ�䭂Ź[�r� f�h��d�f�.ؚ��bU���� U��2+�fw�:� ���`ӟ1��*P��LT�^*X����B/t"�T�LT�S�SXS���DЈ�Ez�!hAХB 4 0�A�`�a�������Z�iAg��+��+�+�+�+���.b1
q ���x���i�#�U�W�#�B6�j�6�e�EЋ�]
��B*�U��F"(CЅ� �J�B�h=�y��AsAm����z
�;Pv��AWAR�TPt���6��Q�Q�E�TT8P�P�E�8ôNnۻ�=�G���4�].���m>���-=��Q�}����2%�2%�RE�����IH��M&�I��h�&�I��h�z:G��{���n��+0\�T�˅�=���M�5��8La/Aʃ�,9a-A-���,9a/����8MXM�;��[

+
K
[v�
���XXX�,𴰶����a�����?X��)X��,�5��"�)�/�އluXpXmXg\dX_\[\H�#X+5���r�Y.�:��
kxs���K
|*0�ªaW�[��WXW�Xae����������l=������@إb�&!q �{"�EX�b���F�:�v*�Z4�M��@! �ˌ�� 0� 0�vie���o��z�)�,x��L�� *��Dx '����Uy*@S�O��} �W��y �7��)
��+��'�;�`=b�3�p��pƃR���iZF����F�h3.2����e����Y��ɫ��{�`r�*Y��'�nPs���/!�ȭ ]+ATʩT/�>��#�_D|��W�E� 8�����gh��nH�;��u��ͤ�&R36`2.��YzJ�{��9e�X� ���*�aE�p��/�?o� ��J�@����%QH�E¦ ��x��(Ī*�LB�Ja�Sc�L5
�C(��(��`+/W���DZ�:ԱjX�jX���w���U�\��.|�,s0� �q����I�i#+4�� ��56R4��6ae#@ �iS(��ì)a��;WidU�X3H���[E����D�`?���twZ����jX�jX u�Y:ˬ0� �]��Cis�` �Hì}���l#hݤ�.�f�q4��i#@ $fVQ���6�e�@@q��mpe�YZ��u1OR��ھ�)���:xs����������‹
,(h(0r�?����xMPL�1�*T�<T � L� �� ���]`kP�� ��9���H�tB���.ؽ�ؽ��/b�$�~��_�
,`���,;,�U�U�U�E=L9�SPR�Q�C���~�z�v�j�f�^��A+��`p,� Ł�@٠lP5��T � �]&���cPT *�" h��`��&�
h�� ��@�)�#�V�[�*⭈�Gح� HX���ݷw-������M&�K���m6�����Qg��}g��,��,��a�H�z=�IH�z;I������G�h�m#�wwtt�;��� #�B6�f"�ST"hDP�� B�%LBb�
X��X�\=��{R�R.�%���I���z. ���1���X� $��0eL� )��`ט� ���R`��J�9XL�M�'l�

I�6,a��� Ib� ���x��8�B�$q!��+b�
��b�*���Gb;qV�Z�HX��Z�FD*����\,�
��p�\'X u�Ƹ7� 5�N`ݰo�S \%�&,&���V��S�TaWa�
�J�� ��\��Xe�X�5@���5vp4v0!�Ł
���Fd:�R:� Y$� ��� ����A+"W-�U/��dC ӊBNbQKL�8�z9c
)$�*d�P�,�����?�9���0=i"��]��z���g��P*)�5@D)�mX�f`@�nP�� �� �� .��0��� ��� 8�� ����*�nq���1DlP� 8����6%�PnK$�+,�����)'$ì⚆�Ϛ�?gd���jX������}�n��9�L��b����>���`~�
�br�Ց����q��#Ep���#Ep���#C�F��#CP�b�"E�D����Y�naCl�K�V �r��mX3m�&��������ˬ ��\��\U�`` �d,��)�Y�S2� �f�;4� ,�)X�]��R����\+ʸ�D�,�p"�F��B�/։`d-
�"ژ~�3 Y�a�٘R[V[6� :^��Yz��,K,�H�K�A��h1� ��E�d�S �ef���2�4�1��A�Ͳ fi�b1L �� �y/lyWb�X$V�`k-"��Z5����������ﺺ��]J�k�;�t��V5,l���YO����;gl�������y��{�C�3Uo�S�wk�V头�]%$�ii&��i4�K_bml���ƽ/K��Tk��"ǥΫ�W6,fXı}b�^�f)��5��4��3њ�ٟ3�|�f�4ٮf�7Y��vv�Ş�
�-U����z�]��{��ںosn��ݧww)�oooon���ݷm4��-E��j3��>����ȔDȔ��{��=�v���z=�v���:vݷwwwwwi���V_�Һ{W����V��j�T�Hk�<,u���5�h�2�L�F!��E�.�{/Qv��~�l�� ���f{5Y�f�9Y�gy����ګ~p�\|||�''-���ȲM&�II).�Mi��m5��k6��:���k)YB��y����v��uιڎ�w��x�՞����o\7%��klM�n�ڦ���ccccc_@�~�������������������������������������������������������������������������������������������������������������������������������������������������������������������_�}�w��端��/_u�W��*,A@������������������������������������������������������������������������w�����������������������������������w����ޝ{��9������������{�����}��<�su��su.W�������}���}���_����kkk������������������������������������������������������������������������������������0 a�� w|
��1Fa�a�� �$�I(�I$��(��0��,��,��0� (� 0��@�,��,��,� 0� ,��0ӌ4��4� 0�M8� 4ӎ��4ӎ8� 0� 4� 4�M4��8�N;�;C�L4�M4ӎ8��8�N0�M0�M4�P<�L4� 4��4�N;���<��O<��<�?�C�@���=�C�D=�8�� <��8��4ӍC��������l��?���@���@��<��8��8��8���<��8��O�q����?�?�3��8���;������� ���M�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������C�D?@?C�d<C��C�C��C�A=8?��8�N<��4��4�M4� 0��0��(�H �� q�r\��~d�� &ḢRrIq`-���I�I�A&$Q��if�|�U*��⢈�%&�:��QҠ�Tp�nTp� �G
��I�iHo��R�A�RJ( �������B�2Fd:��H��i'$�N,Y&���V[9�����Z�EGEh�D&�Q����IQ�Cb��p�2��Q�A�R�`2�CiH2�CyH�MJ ��4�[aO�QD�#�P��Qң%G
1A�КPht�ё�g �&����8&��h6T6F�f �`�a4la��l�l52a�0�a�0<� ��K&�p7 (4�LDq@��DFQ*�[im��Kl{m���ۺ{���D���ֵ�Z��"굔�UUTUT���T`.K��ˉL��$�ì��,��ZI�$�R,�R�KH�-��λ�-j���)U&�DBj%*:�4D6*8T„ʆ�I� Ґ�RyHo)IHm)u�%.R��B�2Jd:�I$���9$�rERjH$Ċ���,ۧ�����*8�Q&�TBj��2Tui*8T6*8Tң�Cb�ʃ<�7�`w��Ґe��������$: G��"���J��BA@U(B�$��R ����l���f���) G,$�CT� �A8�K4 �A��h\p|�#K6b^���CÁq0x:@�@( %pTGAP�� �+�1P%" h�P'(�N�9�h�m�(�#
�� �!
f���` � ����ç5%�����Sf�S�N�:|��z��T(Ph) # ��IH�)))$ĢJ%�2LID������J%�D�R)"��g$ٓ&)�_��������� X�T��tp.&�At����T("�C*
�@�T EAm@4P'(�N�9�HR�� �`���T0M���h?0Mf���N"jK���tHt>:�@
B�%�RT�� �*�"!$�ʁ)j��l���f�6�%�儒�0,L ��
L�B ����4�~���&,)��RX�� �4`F ���D1��b�1h�AeR����֬ �V뀓pU`nZ��jJ,�Qe@�U�QVPr�(ĢG@D(Y@� (�@���*(y@�(����F,1��,�` �L��0y�e��b%���0b԰E��5&�5���4���^��ڨ��Z ʲ�j*�@G*�� J��"�eC(����ZQ�
�G�PP��
PC�P.��"쓱'�*���EQ+D\�%F
�
JGQ�(�|rL''&�ca95& ��6 ���$�raA8�PNL('&dä���ᣤJT�Z'�������_������J�k�kZֵ�p,!d�PY3�6`��\a2�C1E-LIh�9jX � IT���� ����ר�lF�բ̫*��� ���J$��:B�.(y@���@A(<����JP��JP�e�'0�`
�&X��� 0l���b&�����Z%���KYj�R�%*�� �`n���nV�nF��e@ڋ*���$e@F(��i(��",�qA�B(<t �����LP����: P���H001A}�� , � �� j���@������<`�XX�`Q��� �'�'�.Aq@��
0)��
��;���]@����� �.���_D �� L J5"��A� Jfe IX����� _H� [P-$�� �
���v�:`0*���
0(@��q�� �'�r �\�A@��SP*(
�ʀw�e�,"��ځq@���D 0_`��b��� *���Tٳg3gN�9O����z��T(H) #"�ddT��RRRL�IID���JI�I1))&%d�I�1&IH2*A'���%�j�,O���% LX ���� �} ^HX [�i�f� ��Āv�9`U`T�M�I�F.@�����| ���T
*(
�U�@;�y����a@��/( �.����@�������d� %(1@̠���VF6&%�
����� l L ,
�<������
p)0(�(Aq���.AqAq@���I@���V€t�`���� ��[D ��� ��/�~5@ʠ� H���5,ycF�0�0d��;0y��`�8�,��Q0����f����Zl��v�+UE@TD�)D� p*:U�(�Re:6:�Q²�ʀ<(6PyA��%�n:4:�A�� �Xɣ�8���`��L���ËR�,1L8��4�I�M%�� )�|=uD5*�D�P���IQ€o(L�GI���Tp�(8P�A��� �8(4:@tht�����e�5(�ćR[E��x�UJ�U��Q*:Tʓ*�A������#�1�v8�"L6&�RjL4��h7 �`�6F�a4l��Q�0И ����R`�8$p6���p���t\��S�uշm�v��߷�������U��U��Z���U��Q]` Xɣ�ph�FL`��6`�O0�Գ�@��S,"�-�H[��Z�V���4JH��T�(�BeA��o*8U�&PL��A��EN Pht����ʀ7,ycF�0Ƀ�1��f0�-�r@Q0�,��S,��1 *$��[U������
��VT� p*:U�(�Bc����
G
����(���@!ѡ��C� �F�H(�'0ODE@zT� T�@1D$�Q�@��LP[�1�- I`H`G`F`�� $�Kx+�WPV����exIP��&  �T�#�-@�Z�1Am�5�%��Ae �� q`��
e�����OHT��'A=��AL��j ���Q�@��LP[�1�- HH-0#�"�e�f�b`�x+�Y�d�Z
� ����� *a%AaAfT@���J�)@���kRAi EHIH)� �����zA: �dɌɳ�:k:z�=������(P� �HHH�)))%#$Ĕ�JJI�)%RQ&EII(�%%%%%A�E��fK���W1_�����Ĵ�'A=��AQ �@/DBJ ED�R�5[�1�-�! ������,0X�� ,��h+AZ
�V���� *a%AaAfT@����H�.�`M`JH ���ŀ^�U,��Q =H��`��9�{��@tT���P �T@.*� ��,� E@��LD� � iKC;3��� �ux+AZ
�V����� 0����Ae@�:�ҁ!@�b��kRAi ���� � �XiD�� ;H'����h0�� Y`g1� FK#��d�2�� E��f��y%� Il��a�v�.�j���@���QD h� _*�P0�D�0*PJ���UJ����(��J(��g(�� *P �9�M��`�f��b1L FL)l��\�`,���Yi�KH�� Ͱ+��u�p�.�@��* Ȫ ZEQ�U*�T
�PJʃ IP�RP%�@b(��f(���Q�4�tyr�J��"Ւk%EIUD�TQDT���U*.RP`�t8;�(�trL>NL>MI����rq��mI��ll'���0���NM� �$�rq��4�$pTp��
$��wz�����b4�^�z�z���kUW�4����1��b1����� %��K, J@��� M� )i�lv �������������U/�R�a*�P`*T�0���T%��FP%Q�3�Dt�J�u#�h1@0���k0�Ia(Ɂ(�`�[,%, ,�0���y%� ii���� �`��w������E-���|�%@�U��T�Pa*� I@�RP%��E9DJ~QG@�:X� � ��E`��J`��"�"B!(Da!�!0F`�0�, 0��� ��3�p��8g�3��?���B
�4!B!�C�5��jx$A%A)A-��tA5(,`7HF�V l�$� ���L!�C�8C�$�(#0F�@�?P� ��3��>�p|���������A�
�!����"($" (�R�Z!B4#�&�q.d�5M��f͚Κ�O�>{>z����B��BAHH��)I�RRRQ%%%"ȩ))&EIII2L���dd �f�V�����W�����������b� ��#B+�%0IH$0��#p���%��B�&� ��� �~�8g ���j�|��3�p��
T�
� B!�DP�j������B4#� ��@p�8`��n���4� LX$A�Ca! �8C�(B�%, � A���?�����8g ������ B
�*��!B!�8DP��"A
(�R�Z!�7PM�R�,�q�L8��8�%����Z�X������VI�=�� -��`'���٭���UGU(��
��Du���Qh�*�ңEGJ�*8Pd��PEG
��(T�2��BeY,��q�,��q`�4� 4��5#�1 +�Ğ�d[9��4��fw�j�R���R����TGQ*��%&�D@X*P��QҤʎ*8P A‚2��"Pp���2�ag$�LH�LH�[�,Ǔ�E@T��*6Tp���2��PltGFGF�c��8���lLD�ReI��`x �Dl4�l&��6 ���hL �����jM� ����lLɆÀz&������:#[����t�^��p5Z��UuZ:�h��U�Z֍zѬ gD��IgD��`�K@�Ryf�=&$d���ZH2�jK`ZZ[��{�R���R����TG(����*:T���F���&T�Q���Y*8TFP�B�
��a��,��,�q` 4� 5'ac�b@WI�=%���R[{l�ٷ� �����*QQP�*���De��D� *4Tt��Q£%G
�T�ARe(8P7(L�=�$2�0CPC`����<`��8`�A�0Pp�7P�C ����6��m�B�_�mо��_ �`��Ca 僈`��A��;Py �8b���"���z�Cb� ��:��8`�A�0�� �`���x`���/P���0m�A�(6�e���7Pn�� �`��0�q 0Pq0sj ��4PBPBa��J("(=R�)lɓ&�Y�f�S��ӧϞ�����
$����dddddY E�d��Y)&JJJFI�R*EH�&FE�!A���]_��W����U��]W�U����z��L2a�%&F A��s���8��C ���� �|0�A�A�A�B� �/��n��A��o !� (8`჈9��:Py�T�����eH=��=`��&�C��@��;`僘8� Aʆ�C7�x^�|/����^���_н��/����� ��C7a��(8PsPu�@P"PC�*���z�9-)�Ґ�[, e�QiH ����$��$��a���a�p}�����P�UA����UB
������h�B�T�T�%R���%B1U*��J���%A8��M-)Ť�KK,��d��D�! -! 4�3����6�>�\p}�>���j��@Z! ����D�BF�D+*b�T�R��U����Q* �T�ŢX�Ա�T�t�Ցj��URJ��"�EQR��%EJJ �Qс��pr8'&'&&�a��&'&�Q��m���Ԙ|mI���a�ra�q���p<NL88����;�����[�����Z�}z�Uj�k�V�����'� ��!�X%���R[�Ya4�$����2ZBl 6�6�>�p}��ڃ�j��@Z!D�TAD!"��4T�$TA%�A0���T�&��P�D�KJ@pYiŲ�,����d��B�BU! 6ͤ � ,� ۃ��>��j��?UP~��AZ�24B4B4B"*TȩPJ*�A,���Q* ��P��@� at.�ж��W ,P�¨R˜S
aKDLD�*!�b� b b�1@�(��C(�"��J��L)�0�(W
�+P����B�[ ��� �s� X] �l,ad,P�B�
�\*�,)�0��D�LB��!��D* �� �A� (�!�b%(�"�1
T*�P��Jµ
�V�b�����A����.\��婓ٳf͝:t�:r�>{B� B�!!!!"�AHȲ,�$�d����� ��"��Phz��_W�W��W���گ���������A��X\����Y
�V�[
�S
�U
�LE
b(�"b&!�b��TB�� �"�!b Q C�J"QE
T)�JB�U
�+����Y aj�к@��к T����Y ![
�[
�W
�U
XS
X�DQB��D1� @� A�1@�(��C(�"��J��L)�0�B���X��B� aj��j�Յ� 4� 5 CI�0�
�0��b@��Il���-���x��i`����BUX(֪������UAM��D����D� BD�%Q(T�GQ*Tt�,*Qҡ%&����"$��I�T�Yi1 Ae��Z@*e��l�����������Tj���
J����R�EJ�(��Q!"Q���QҨ�(T$�*P��R%�Z%��D��I�Y%�[a���(TUJ��E��ƒe��������ば�$�R`��j6��h6��BjL4ca�90�l Ɇ���0ԛ&��a�90ؘ7&L6����۷[���^����ת�Uu]UUj�����V��U��UBIf�bM,e���ԁ�ZLHci-�T��ZX)4����m�?�u�P���AIQR�U
����T@��TU���R��Du!�*P��PXDt�B��A`�bLHbKI�LIi- AIi-��
�m-)&���
6��BUX(֪������U4J�U�J"U���%
�T� DDu�GQ (��*Tp��D(��'a<'���~��vP�:ì:ì8Ð�9F#v1��x�b0�#��aC��a�!�uC��a�C��=����0��
(� �P†B�O�����~a�uC����9C���F"�b.�"���^1Q��aF#�r0Ð�0�;�����~�����Q
" �)T�-K�2c2dٓf���:t�z�ϟ��|}>>�
����dT�#!"�ddddddY##"�H�,�"�) C�kZ��U}U��~����W�u]V�_����AD
B�N�va�~a�za�v�8��r�F#��b1�(�b0�#��b1�C���!�vP�<��yC��?�O �'P� �" �!C
P�B���C�?C��=0�8��a�r0��r0�#��aF"�x�a�F#�‡!�r�!��v���zP�(~�xPˆQ
(Q����H8KH`�B�����i���`��\� ����Y��p���P�j-B�U@�Z � ~�����tUn��D"�A�UD��A�ZA�i i H^���6 �H%X;����Z� *���X�,�YU *�b�-Z��Pj������T#D/F�7EQ
��H�T�D�&\��I��{��Z!�*�%�$T��TJ��R��Ab�:,9Q��5&&�ä�0�66dä�aѵdä�ä�ä�Ä���q���p8NO��������z������Z��z�j�Z�}kZֵ�j�H:JRH`�A�i �H6M��l��V�5v�-�X���c��B�BŨZ� V��Z �U@� ~�Ȫ!z4B�Un��R��PvV�;KH9KH8KH`��n�A�[ �`~��>m��V6��akp���,�g 8Z� V�r�.ET�� QT@�D/EQ Ѣ Ѣ"�����:+DR���(�b/����Z,�TV+QE��H���M�(�N'���q8�N'�15��R)�����b�eb�h�^/�1u�#
Q�1�E��x�Z-b�+�(��EX�Q���q6'���q&'�(�N'��"q5�E"�F+�ŔV-�1h������ŒC��M2Թr��jZ�2lٳT�ӧN�>z�>>>>=��B�
$$$ �H�EH�HHP�R2 ������������_^��W_��U�^��oU��U�UT9�1��^/b�h�Z+b�X�QE"�H�M��N'bq8�N'���q8�R'QH��E���b�YE��/����11�Fr1c
1�Ţ�h��1U��X�QH�R)����(�q8�N'����Q�15��R)�����b�e�E��x��F�aC�Ę��bH��rLaC-��҂R�i`%4�Y�,��������QU���5UJ�*8���(� ����%QD�#��Dh�Rh�DF�DI�QRbNI�"�I�-"[9%�����Kif4��Ym�F茶Uk�5�U U*���(�E*� �UGQ*��%QD� ȉDI�U���D� �Y�
yb"�I��dI���I�u���Q&�DF�*���b�e�tht&�@�q�e �� G�L5& �0�lQ0Ԙ1� � ����l5&(�jLɆ��d�Q�<���%� ����lM��]�wrۻ��O�����U�UuU��Q���UU(��׭�V�`&$����E%��[ �ZMIm�c-����Y�˥�����J�uF�j����UTT��P*���Di��"Q=�Qh�D7D�$�(��LI�1�I�9���%��i��i`%��Y��n*�m��-}UUEUBj��TTqQQ�QPQE�J�4�TG*��*��% �(�4J")�E"�N'Q6$�Q(���1&JEIIIIH�)FEH22222
E����ddT������bJ$�Q(�Q(�N'�(�R)�E"�F'��ؒ�D�RJJ$�IIIIIH�����ȩ  FFFFFEIH�)))%%%$�2LJ%���N)�E"���M4����R�ɓ&3�lٳfΝ:z�>z���*#�
(P���R��!!"�d$
BB�BBBA�d���u}U�����_�U�W��U�W����X�R)�18��D�Q)%%%%%%$��)FE����R2*FFE��ddddT���������))&I�D�LMD��N)�E"�H�R(��q8�J&ĢQ&$ę%%$�IIH�222222 ��� �dd��##$�ȩ)))))(��(�J%Q5���QE"�H�B�D ��(M� ����i�í������Î�8�Õ��TcQ��sP��:�-C�P��!���D(F��"h�Q�!M�aBU!Bl'ia�a��m�[aׇ]�.v0�c�\b�1�T8�.V�ըuUC��>�����!B�#DB��"EQ,�,���Z�it��OJ�����U"��H��"��e���tTu�
�(���� �Rb���ɩ1�jL`nL`���� ɇ ɇ �1�l��91�rc�������_��~�z��j�~���U��kZֵ�j"m"� m"�P����Vvm�]���Ï���c�*�qj\8�C�Pꪇ���UC��
T(Z"h��!F��6 M�� �'vvm�����]�[�1�8��8���j0�jZ�V���y��U��!B4B�Z"h�V�)))&EH�����) ����B����=����
��4#�z�T(P�B�
*BA�dIH�Q%%%%%$�H��) �$$$$
BB�B�СB=�AP�A���PhP�B�����BBBA�R*EH�)JE��+�j�4�KM2�̖�fL�2dٳT�9�:z�ϟ��z����hP�B� !A���СB��
A��* ֵ�־�ꯪ�_�W_���^�W�U�U�����I����R222,�"�)
BBBB�
(PT{B>�
#�G� �
(HHHHP����d%#"�))))(�%"��## ����d$$(P�B���B=�c������=G�(P�B� !!!! �2 ������������K m-) �m��?iim��/l-i{��|+��aekX[U�***���򢪨�^�U*����D� ���*�:Im��`�iiH^�ii`~������m�������[�+��YZ��Z��QP�QZ��|���TB�*��U�J��UH�EJ��1�,��J�jP,ī-���-�kF�D�(�P�NTp�% ��*:4:�� ���ؚ$�b`|L6&��R`~L5'&��Rra�0?&�d�R`~L6&Ɇ����l9&���m�owu߯^��^���V���V��UZꪵ��U��Uj��m,�2�e��%��`|��K �]��l,m��º����������\��QP?TUJ�^�TU���UR���J��Qt���`ᖒҔ��--,�[iasKm�֗�Yw���W����amV��\���*���*�z%U*�`�TQD� ���%!! �2 � РЏT� ||||�||��z�S�ϟ>|���ϟ>|�������������GСB�  �2� �2 �B�B=Pc�1����������|���ϟ>|���ϟ>|{=G�������������B�

AH) ��iTҩ��J�K�-�2dɪj�6l��r�:{>|��������
(P�A�T(P�B�A� РР����W����z������W��u_���U_�U! �2
(P�Ǩ��>=Oc����ϟ>|���ϟ>|�����|||||}AG�B�  ����� �4(P�B>�||||||��>{>|���ϟ>|���ϟ>|�>>|���Q�(*$��R
�!m�6�gb��Wb��Fأq7bm�-�;�+��.K�����-D��K�-D֢kQE����"�*����Y"��# �d�,�U�*�Q�(�v&�NؖĞK�nK�V%rZ���\J�&��j�&�Z�*��*��DUh��D]��Rd�Z�Yr�-Rbi1*�vsάz�z�h�*�H��$R:H�tHuGtT�&*NLTrLX��'&,MI�d��ɋ��'&,NLXqI��'&�z���[������n�z��U��Z��j���kZ���׋�v*�v*�UأlQ؞��bm�&��&丕bW%�*�%Ī�j�&��kQE����"�*�E��,���*�
�.�E�b��[b��Fأ�7bo�ؓ�'d�J��.J�J�$�Z�.$�Z�*���UQDUEQTE���4FTG���DZ��{=O�=�>|�t���N�:r�5�5�:t�Ӧ��T�ӧN�:r�:t�ӧϏS������APh1���|��S��gϟ>t��t�ӧN��N��N�6t���әӧN�ΞΜ�ϟ>s>|�|�=G�c���^����i��e˖�)�Ե2d�6b���Sf�ӧOS��Q��=G�Ǩ���(G�(P�A�T#�PhOT��Z���U��~����j���귪ޫ�����������|{>|���ϜΝ:t�ӧNS�NS�M�:t�t���ӧOgOgN�>|����g�c��|||}>>=���Ϗgϝ:t����t�t�ӧMgMgN�:t��t�:t�ӧN��N�>|������=��Q���R�if��Xd��ii�[pA�]�������<�j�UZ��j�*��d��EEQR�:�� Q*�EEJ"U�*� R�cK5���a�K1���[pAm�l˦��������UkѪ�TT������UEQQ�QP�TGUGQEJ"UN0y��0t��,Ԋ�bPI�u��ib/Ԛ��(�`Tt��Re
(GF�C!ёЖ8# Ƀ �nL ����lL�0ԘI���0ԘI��ԘjLɆ��2a�0<� I�a�0<� ���Kwm-�n���7�����֪�j���UU����j������UQUP��ƖkK1��M)1���m,ZYv̺^�����Tj�X ֍T���U �*��*���*U*�����*:�T@j��ZY�,Ɩ4�ZZYv��v�n������Z����kF�QQR���J�QQR�U�E@j�Q(���(���D�����O�:t��Y�g)�ٳf͛6lٳf��f͛6b�6lٳf͛5M��Nf͛:t��s:|�9�>|�����)ӧM��͛9N�9M�͛6lٳf��f͛6k6k6lٳf�����͚�N�:t��t�9�>��n�t��KM4�T˗.\�dɓf3�T�:t�=Ng)������||||||}
#����|�A���_�_�]_Uz�_�կ�֫�꺮�z�~����|����t�t�ӧN�͛:l�6lٳ�f��Tٳ�l٬٬ٳf͚��fΛ6l�ӧN�>t�������S��t�=�:tٳg)�Y�Y�f͛6j�͛͘6lٳٳY�f͛6j�5N�6l��t�ә������6�;$��VI�d[�y ���C��*��+B��A]� T�T���UR R*�IjEUI-I*�IUI6�;$쓲NȻ"� �!m�C�V?���A]� H*���U"�$�$�KD�5E�ɓ&2��Բ�R�J�ݘ������z�=*<��@���!�$;Q�!���91Brb�Ԙ�91Rrb���IɊ��&�� �b�Ԙ�95��z���׭���n�z��]^��U���j�Z�W^�Z�x�VI�'d��NȻ"܆�;!t:��+��q�t�t�T���Z�UR+RKRJ�$�$�I"�I�I�I�E�I��d[���==�}Эq���>����U ����UT�Ԋ*���%�$UN�Μ͝:lٳf͚��f���2c1��fMS&L�2lٓ&L�5�1LSɓY�k1M�1M�6l��fΚΝ:s:t٪tٳf͛2l�j��S&3���2dɓ�&)�&)�&)�&LS&�fM�1M�6lٳ����:k;_���ڥ���i�[.Z�1L�2dɓ&�f͝:t��������������z�����������V�Z�ֺ��������_���W�U�oU�UV��UUWΚ�Nf�ә�f͛6c5M�6j��fL�1�2c2dɓ&L�1L�1L�1LS&�ɳfM�6lٳ�鳔��t��T��gN�6lٓf�f��٪d�c1�2d�2dɪk2dɬɓ&)�b��Mf)��6k1M�6l�:k6t��t<���Í-���[��K�om��qO���N��O�UUj�,��������������EQTT<���im��[m���qf��-{lV����u⊫�UUj�,��F,�ꊋ�*���UECʊԪ32`�%�\��JMJ�Ě�J-,}��U*��%EҢ�I��(QёМpF8�����p6&��baI0ؚ#��0��jM� I�d�RjL5& IɆ�¢a�6L5&��_m��[����ף�_����j�WUEU]Uk���UUUZ����4�K4����[i�4�,Zݸ���)���V����UQeU�*,�ꊋ�*���UE򢪥Q4�K4���v�m���lY��*�q^��|S�b�uUZ��*��.���*.����qQTU**�Uf͛5�2dɓT�dɌɒٓ&)�b���%̗1L�2d�\�s%����dɓ&L�2b�5�2dٳf�Sf��f͙2dɓT�dɌɊ[2d�1LS�d�2\ɓ&L�.Z�̖�3��c2dɓ&L�̙2dɓ&͛9j���կWt�m4�M4��˗.dɓY�f�SgN�=�9Ogϟ>=�>{>|�>|{>z��k_V�������W_V��kZ�گ}�ޫ��꪿�ߜ͛6dɓ&L�5L�2dɓ&)�d�1Ke��\ɓ&L�.Z��R��c1��fKS�&L�2dɓ&MSf͛6s6lٳ&L��̙2dɓ&L�1LR�l�s%˙2d�r�K�-L��f3&L�2dɓ�dɓ&M�6lփmh;A��c��c�=���=���?�j~��z������U��֣֣֨-���mh;A�=��=���n?��y������ug�=jz�z��Z�Z�Z�Z��Aj��US&)��.\�[-�R�iv[�9���5'#D����J)(@uGH(�!�$8� �� �'&&MI�c�d�12rbd�1BjLL���ׯ��_�Z�^�z��u���z�j�֪�^��Uth;A��{��ǻs���uι��?S�:�=jz�z��UQ�Q��=j����Aj���j�v���ǻ��q�?������Y��}���O\�����Tz�z�z�-PZ���͙2dɓɒيd�l�.[.b��˗.\�\�r�˗.c.Z�.Z�.\�rԹ��1��KS&L�6j�6l�l٬ɓ&L�2[1L�-���e�S�r�˗.\�r�˗.\�r�˘�f3jZ�2\�s&L��L�2dɵ�}������wm�KM4�˗.b��L�1M�͜�͝9�:t�:|�r�=�>|��|������jի����U���W]Z����^�{�U�n�^��UUW6dɓ&L�̙2\�s%�e�S�1K�-�.\�\�r�˗.\�r��f3��-LfK�1�2d�dɓ&M�1M�6lٓ&L�̖�Rي\�[.\�r�r�˗.\�r�˗.\�j\�r��R�2��d�Z�2dɓ&M�6+���<Ξ]�p8�M�����z��UUTUU�Z�*�%UEUJ֍c��YJѬWM˺y��˺n���t�����uZѪ�����U���U���k+YJ��(i#CƐ400y��XB,Ԡ��m<����D6*8T7*6P!ѡИ:#��n8�a�0Q��la4l�h&��h�F��h1�h$ � ���hXd& �4�Ɓ�hp�4 � ���`2��� �a�d(M������#\�p4�q`��U��X���t�zyv�p8�ܻ����}uZѪ�������rUR����X�ek)YZ��tܻ���.��n�������U�������J�QUP9*�*�V�k��V�`#IS�"�J(��-P��T<���u �<'����v��y�Xq�1h��2-{5�ۀ��LS�|��Q5QeQ�C�P�?������?C�;F"�Y�D�&B�=�ҟ����6l�ӧN�>|�>>>>� !AHHHH�22JFE$T�ID�J%bJ$�lID�q8�N&ĢLN'%H�H�HPhH3�3\�e(���
BID�R,��1C�����~�O �;���<ð�b.Ř�M�d �kK���-MS�"�J'Qh‡:��C��BxO �<'������a�c Z*��L�A��e������E�
0��`�X$�`�ՄWa��Wa���XG�#�������\"���E\"�V�Z�R��p��P��P�R��E�0��`�X$�Ƭ"���"�˄^�GxF��~���mB/ʨEZ�Uj �P���j *�ըBT�@T�>T�M l�F)���$\�4�&�+ŕT]#�P�I@�E�:c��jL'&�a@�l@7��؄iF�CQ�Ҍ�XЀiFD#,d'����tm#b�l��68���;����/���@��F��KX&5�W`��-aa�^�GxG�#���6�P��E��U�P��A1jV���A%Z�:�J�
�ʕ �, �a ��"�J��XE�ExE��"��XG�#���oX ��G�GW��p��B*�P������$+�5J�J�j� �l,aj���0��P�˜�"��C1D��"��b(�"QB�1 B�(��b��bD A
A(�!��(R˜S
�J�J¸Y ab���B�X�� !\*aS
�T)�1E(� b �!CD@�1 C(�!�b�"���!�bD(Q@�(����"�,)�L*�J(V�d,���]2k6l�6l�ӧϞ��z���AGР�2,������d�J$�Q(�J%�$J%�15�D�J$�2H�RL�H${>s1� _��Z��B�V¦0�(S
TEDJ"Q1B�1A1 C�Q �1 CDLC�1�"�(� Q�D�LEB�S
�U
�*P�B�X�l.�ж0�B�W
�R¨S
aJ��(�!��1@���b�1 ED1 ED1 C� @���"� Q CDP��0�B�
�+�p���B�]&���~�[`�n�$[�$_p [|.�*w�S�੪�@�Z��HU��!QZ�����E@~��U%ER��������;v�"��"���~.�?�����j��U��HU]`��������E@~�ڢ����UQc��� ��a����Z)1"&[*��UJ�U?Dt�B�ʆ�Q#����À�L5&��h6A��6�@�4c@�4�@�4����L!��2�A�dBX�c!0d ���F�h؈�hL���so����� NU�����Rn�,���)��F۸H��"����O���$*ڬ$Uj�WX**5UPSUZ��?TU�*
J��U+h����m��un-�>�#�
��TU�SU���UP���BB��U5Uj���QT�*
J��UC�����=0�:ð�8ê�# a�Eػb�����Qx�]E��x�]�E��^.���x����b0�
a�u�;ð�=���?C�=0�?C�a�u�a�q�T9F���v.��
/�1x�����x�^-Qx�����uQuQ��aF9C�a�uC��=(~��=2d�dɳg3�N�9N����=G��hP�APR*EH���) JJJII)%bRJ%Q(��I2LII2,���d���>s��,��� HC�����C��:ð��a�r0��b.�ػb�x�Y�Ř�^/����h��Ŕ^/�������F#
�!�qC�;�zP�=������C��?���;(va�C�0��b.��‹���/Qx�]E��x�]�E��^.���x����b0�
a�u�;ê��?C��=B텻 [��»�\)�M��<C�5�8�� � �A�*��+Q
�%�R��J�*\+������Z� ��v��� [�w
�S›b'�x��kp���8��5
+.!��!\D�-B��T�
� UT-UP�p�j<���S�6b)�K�I4�J�6�N*�E�h�R�c������tqI�I�a�h� ��a8ڍ�Ll'��J4���P5 �cA8� ��xe##Q�a��&������p������ ��-n�
�\)�-��!�!�A‹�8��8���ڈW�"Z�*��B��WXZ��j�����P�ao [�����\)�KlB�C�� b �A�A���U�+�V��KP�UB��T�WXZ��j�����Q%%%%%$�dYA�dBB�! �PhPhPhP�B�
(P�B��AP��)B�����R
AH�ȩ&JEI)(�RRR,����dddA�d
���A�A�A�B�
(P�B�
� �� �PR
AH) �ddT��%%%$��˙2d�lٳ���N�9�>|z�B�
��!!!"�Ȳ,�����RRRRR2RLIIIH�1%%%!"�,�����D�1{U�I2RRRJFE���dA�d$(2
�AP�B�
(P�B�
(*$
��!AHHH) �����R2L����I�))&E��R22,��� �2
�!B�B�B�
(P�B�

�AH2�����R
FFFFFI��RRQ&���m���炙���������ֵ�X(-WTkUX*���UU���@ B�UP]�m��]��pP������u�
�U��
*��eUj��>P�UT+8H���&�5 @�tY剤ԓIl���QD�%*8T�������p7��ؘI����A����lc`�4 �4 (�4 �2A@h& ��d& �2��2 �! h& ��d%���H� ��A�peU����^륶�m��w���(]�����'�Uu�
�U��
*��eUj��>P�UT�}����Oo n��'���O��]u���uF�U��UQ�UZ���!����ϟ>|�s9�=N�9��NS�MgMg)�g)Ӧ͛6l�ӧ3gNf��T�ӧN�9N��g�S��>|{DZ�z�Q�|���3����:t�z�9N�5�5��M��N�6lٳgN�͝:j�5N��N�9N�=�9NS����Ϗc�r��j\�2d�k5NSg3�OS���>>z����P�A������D�������RRRL��d�Y)%$�dd�A�I��{������� M�`$#�z�>|�����|�=N�Ν:k:k:k:t��t�lٳf͚�NfΝ5N��MS�Og)ӧ��)�r�>|���{��z�S��g3����:s:t�ӧMgMg)�g)Ӧ�f͛5N�9�:s5N��N�:{9N�=�Ϝ�)��Ϗc��%�-��<�!r!�l���t.�t:}ht:��.Ar*�*�T�Ԋ����TIj%�M2<�#�\��r!�: ���t: ��UT9r
� �
�I+R:�Z�.iӍ9N<�4y��1�$�"����"���R��e�e�Tp`r8��dÄ�l<6���q��ڍƣA��4��c!��2Q���#C,d\i�
$o��_��� N�-�vG���!r��l�Y
��]�ht:
�tUA\���.B�B�GRJԏ"��K�l�r<��� ܍d6C���t8����}ht:��.Ar �����Ԋԏ$����ٳf3f�S&3f���&��&L�2b�-��L�2\�r�L�2\ɓ�%��&MfL�1Mf��5�6b�6j�͛1�6j�1�5L�̙5L�2dɓ&Kf)�&Ke˗.Z�2d�Z�2Z�2dɓ&L��Mf�SY�يlٳiii�.\�.dɓT�6l�5�:r���S��Ǩ��AP��!BBB�"�$d�������dd�����R2,�!!A�z��/�͛6c6j��3�d�dɓ&L�2[2d�b�2d�\�r婓&Le��%��&L�2dɊd�l�5�͛1M�6k6l�l٪c1����ɓ&��&KfL��L�2dɒ�r婓&L�2d�d�jdɓY�&)�Y��5�6b�6j�}�o���V��Ļ�_�w�u�U��Ubj�b��b��b����UZ�[��o���V��Ļ�_�%�K]bZ��MW���V�+]V*������h$|�G DҦ�`���D��I�E���EUD
U*P�VTp���@�tdt���pɆ��L5&���jL4@�5��p4 Q��2�`ʌ���p2�c!,d���FX�K Da0h��h�����\��U��������V�+}�n�'�K�%���_ĵ�%����z��Uk��U]TYUj�n�V�+oq[�����%�%׉W�KUU����ֵ��U����,��Vd�-��R���l�r��˥�.Z�K-K�M2�˗.\�r��L�r�T�l�r�˗.\�r�2Թ��jc2d�-��R���l�r��˥�.Z�K-K�L�.\�r�˗.\��r崩r�r�R�˘˗-K��R�2Ե1�M4�-�.\�.dɓf�f�S����r�Ϟ���Q���z�B����D���R
BBBEH2 �����R
E�T$$�����1X�~d�-��R���l�s�r�e˖���R��-K�.\�r�˗-�\�m*\�\�T�r�˗-K��R�2Ե1�2b�̘��f)r��e˗.\�rԺYj\�i�.\�r�˗.�e˖ҥ�e˗.\�r�˗1���e�jc2u��s�7����.eͬ�mf\�g3�̬�s9��UL���\��\뜵=\�U:�s�՛���y�2��g6�9��g3�͹�ۙY���j��j�\�N\�Yg��8çj�q�ǘ��M#�I
��EUH�*�QB����:,9�&�� ��q���ڍ�A���pj2��FTh83����d\G�F(2ƾ�������?����u��s�7����e̹��ͬ�g3���sng6�Vef�������;S�9VuϬ�uf�y��e̹��ͫ2�s9��ef���W2�ef�j��j�\��˜���˖�e�.�Zii��Z��Zi��i��i��i��i��i��M4�i��J��M*�t�iR�t�l�K.Z��L�ii����j�ii��i��i��i��i��i��i��i�SJ��M*�t˥Keҥ�m4�M2�iR��SɓT�l�t�t��|�����||z�T
���T�������������d =$ =`/��˖�e�.�Zii����i��i��i��i��i��i��i��i��iTҩ�S.�t�l�T�j�\�K-S.�Zii��Z��Zi���i��i��i��i��i�SM*�e�ҩ�SJ�]2�T�]*[{�����Ͽ����3���/U��uuZ�ֵ����h֪�G������>��g��������Z���EZ��U����Uְ��3�' g4>iA���
�yaQf��L`:ie�Z��R���Ң2�e�:4PGDc�q�=�À/� F��6F�h�h6(�4�I��Ƃ`��B`���X����2Q3����8�3����X�K���� P�V��z������/o3�����?���U���u�V���j�*�UF����n���3�����3���/U��uuZ�ֵ����hֵ��i����i��iT�J��U6�*�i�������in�4����M-4�M�mSM4ҩ��i��i��i��M��t�m�U4�wwwwwj�in�4�M6����Tڦ�i��i��]��M-4˗.d�dɪk1M�6t�ӧ��ϟ>>>>������$(2
� !! С�H1� ��������� G�}4�M4�M��M4�m���Smҩ�ۻ����T�Kv���i�M-4ڦ�4�M4�M4��M6�m4�M*�iT�J���SM7wwwwt�M-ڦ��4�����i�M�i��i���VefV_.�ܾ_/����|�_/���|��|�_-V]f+S�\�g3���Vee��]����|�]e��|�Z�k��Z��V��KU��V�+�s9���$��9N0�4�T�KfZ���{����EQ"���U(H�����
(��91Rrb�Ԙ��lTmF���аҌ���E�Th`f20#c"�6#�#��Q���������%����_����s+2�+/�r�ee��|�]e��|�Z�k��Z��Ժ�j�����s.g3���s+2��]���������|�_/���|��|�K��ˬ�jb���gM�t�6ҭ�n�mҩ��[wwM7wwwt�wwj�in��Kj�T�7M7M�t�J���U�J���m�ҩ������4�wj���-ڥ�n�-�n����mm���6�M2Ե.Z���Ɋc6l�l�t���>|�=O����1��{ЏE
#�z�A�T#�%+1UM*��鶕m�t�n�m�*ۻ�Sm���ݪin��-�4�j���T���n����鶛iV�7J�U�wt�wwwwM7wv�n饺in��Kj����gw��o|����?����6�f1u�.�Sz��U��V���;���;����g|��2�������֪oUYʽT�֪�=Ď0�G"iO5�� YŢ�R$��7���TF(U��C��Q��p7&� ���h6��ѵ �ah�4�F�`�\4��K FBX�d%��ѐ�#Q�g��0f��g������1/U�_����W�w��o|����?��3��̭k3���1u���Vr�U:���w��o|����;��3��ͯY��]y��Tު��z�խU�MҮ��U�*��wwwwwwwwwwwwwwKwt�t�t�j����m�n�wmҮ�Wt�����������������[�[�[�wKtݯ��WwJ�i�Z��.\���5L�͛6s5N�=O�ϟ=�>|�O����������||z���c�|{=�������`%������MҮ��U�*��wwwwwwwwwwwwwwwwKwKwKv��n��M�t��n�wJ��]�*���������������n�n�n��-�v�֛��n]i��z{�z{�kOOOOJ��=:�t����yj骦���\��t�-˭=7OOwOOwMi����Wj����OJ骧�t�SZUe�ϟ>t��٬�0�%�Z�bi5٭gUG�Dz2���)(D��"9$9$9&$6�bcq�1��
(Ш�dTf2*3��Fb1A��bc*#�����p����������t�-˭=7OOwOOwMi����Wj����OJ骧�t�SZUe���t�-˫OKt�����w����Ү�ON�]=+���Z�j��*��ݷJ�����w�w�����wwwwowwv���wwwwwt�j�ۥ]���ڻۻ�Ww{ڻ����������wm����-ں��ڵj�ҭ�M2Թr�)s��lٳ��9N�:s=OS��S�������|�>>=�����z���_���_��X�"� Iv�*������������������wwz��]�wwwwKv���U�������ݫ�������{���Ww����wwt�j���������������Z�������WB���Z����������������V�UG�U_U��k���(xRx���8'4����� `ᇖ&Y����{K�UB�(��QҤʓ*���ё�g �Gb`z&� F�A���h�Q��4q�h44@b �*2�@�2�@ ���F4F �)�8�3 �������%��^������C���������������V�UG�U_U��k�������?�������z�UUQ�U~��UZ��n�n��n���ڻ��]������������ݷw��]����n��n���ڻ��]������������ݺ�������Z֭j�ﻻ�M4�i��.\ɓ&)�d�6l٪l�ӧNS�)ӧϟ>|�|����g)�>s��č\�}VbH�����������w{��������ݾ���]۫�]�ޮ����n���]�w{ڻ����������۫�n�Wz������[�﻾��kw}��}��u�]��z��N�V�T��wOMn�﻾��kw}��}����z�ީ�t�=�ʟ=���z�9MSfLe��t�4���j����qTJ�VP��Q� :��$Ȏ"L�8�!��!�Аڍ FD�c"C,dLf#�Ąq��DbB6#������:�������������w}���������W�iW}��u�S���{U����t���O}5��������Ү�u�]o��ZmSڭ��w�{��w{ڻ�������}]߫���]��W{w�{w���w�������wwo�߫�Wz���tUZֵ�W�}���J���i�K�.dɌ�2j�1M�6k9N�9�:t�t�z�=Og�S���|��������_��������U�{w����{��ڻ������ݿw~��]��������ڻ�����]������ݾ����wz��ޮg[������������}t��?�U�ˮ�u����3���_���?�w��?��?�ִ�.��u�.�1U^�NJ���g�$r�H�M"j���`��,ԥ&%[6�U�TU��*8P�A����#����rjL6&& �6F��a4�l&��A0iFB`�P2�Td%�� �#Q3�q3�������/���z����������μ���/���7}?��?��=kO��k�]r��U�g[������{��������]=kO��mr��]~b��Z��w��w���������Ww������wn��W�������w����q���w����wn��4j�QkF�Uu^���^��ҩ��e�j\���lɓٳT�6l��l�Ӕ��t�ӧN�9�Ν�������k���Vb4������W}��{���wp�w�߫�W}ݺ�m^ڻ�������w{���������w�ﻷWm��w}���}��}��}���w�k���WU}�����������������w������^�������P�<�ӊ�4��Q2b&LRԺi�ou��LF��eM(�QӇt����rc���Q��D�D�h��d��d��$#c$DlFHF�d�q�������n�z��_���Z�����﻾�����������]�����uW����]��w}���}��}��}���w�}�Uz������}������������wv�wo������]�wڽ�]���j�����Wwo�w��}]�ݺ�2��F��E���5U�Z֯���*��i�-��˘�KR�ɓ&3�k6l��r�:l����s:b�7�����������m]��{W�w�ڻ������������Wow��{���j��]�j�����Wwo�w�v��{�W�}���}�}�����_U��kU�*����V��ִkZѭk�}���}�}�������Uk��QZ�������kZ5�h֍`(xTp���q#CƠ`(�ybE���K3PQD�#��*J(GFG@_ Ƀ!0�l�l&��4 @#!,d�0�#�2 � v ������q�ra��ɆÀ,�Àz �� ��8��y&�,&�2a�0�b8��x��� �ŁӾ�����>������U�����Ej���V��kZѭkF�k�}�����}�����_U��kU�*����V��ִkZѭk1J�5NS�)"��ID�qE���V+��b�X��18���"�1��3Yt���T��r�AH)$�J%�(�V+�(�Z,�b�X�Q�ĢL�"�4�t�cKo����{=O������$!! ����I�bQ%���R*��X�"�h�Y�1d���BBBBA�AHP�� �T(P�B�z�Ǫ���S�:=PR
EI(����R)��b�h�Y��b�H�N%d�A�ϝ5�K���K��)��
EI)(�N(��U��b�X�V+b�F'��dY>|�k.��������`��A�� Z��<1�b�dž<1�d�ˆ\2�� �����CU xb����%pA���+Pqj+U����B�1k n����������.�dž\2�1�1Ꭱ�����<2V���%j*�+��j��=N:h���f ��C�VxyU�P����uGDC���q��n6 F�ѕ c!`�F�Ǎ�(���p`rL\qG ����91rrb��1brb���I�� _��`��yX �U�-a�Xc��/ xc��O �c�p�Pưdž:�:�*���j�PBV���A��J�\V��`�X!U�-a� xcp�����7 � �e�.p���a�a���T1UPdž*��PBV��j�:V���?��<��<��Ì8Ñ�0Ê1�(����^-�E��h�Z-�E��h�Z-�Ţ�x�a����C�aF9(v��y���(~P���<��<��Ì8Ñ�0Ê1�(����^-�E��h�Z-�E��h�Z-�Ţ�v/����F#
0��qC�P�0�<��(~l����>|z���T FFEID�I�D�q8��(�QEb�V*�TYEQH���(P��P�B�
�A��1��1���<��=(yC�8Ì9c b1�(�^/Qx�^-�E��h�Z-�E��h�Z/��ؼ^.� b1�(‡!�(qC�<��P����}���a�yC��a�r0Ð��F#
.�^/�E�Z-�E��h�Z-�E��h�^-��� ]F�bc
0��qC���y���(~P{ׂ/����" ��|1��_:׆U�E^�z�z���"���{�P{ׂ/����" ��|1���!ּ2�UE^���U]UAUj�z�|><T�O<Bp��M"hZ`�
�r@�&2��ʪ��DA��B�� ��qa�0Ca4l��4�᠘2�!,FQK�2 � �d%�@p6�����À�p6� ����bra�0��lNL6& IɆ��1yU�޻_�����" ��|1���!ּ2�UE^���U]UAUj�z�z�������|���e����^��!ּ2�X"*�P{׃��UAWU��z�����|z��S��>=O�ϟ=O�=NgN�:t�ӧOS��gN�:t���O�Ο=�>|��|{=G������>�AGdz������|z�9�>z�:z�Ν>t�ӧN�:t�ӧN�:|�Ӕ�t���>r�>|{=G��{Bl�5N�>r�>>z����
 ����R,��ID�J%QEb�H��(���Q"��H���#�G�h1�>>����|||||������=�S��>|�����>t�9�:|�ӧN��3�NS�N�:t�ӧ)�����|�>=��Q����Q��
>=�����S��>=O�>|�>t�>t���N�:t���N�:t���N�=�>{>|�����z�c�����}K���y��C��+B�+B�r��t9A]�d�� Hr��F�KRZ��[�nG���d9B�.B�.�!Y�C��.�B�
�VA\��5 �����-HQ�OS�8H٢�)���M�5�UC�D<UJ�)@�uG��&!&��CQ��iFB���V#�±�#
De���i�''&*9�
���'&*NLT��p��r7"܍dk!�r�h\�h]B�.�C��.�B�
�VA\��5"�F�nF�F�KR\��܏#YC��+B�+B�r��]
�r
�t+ ��d�jC��U��5RZ���d�dɓ&L�2[.d�\�l�s%��˗2[.\�r�˗-L�.\�jd�r��r��s&KS&L�5�2d�1�2dɓ&L�̖˙-�2[.\�l�r�̗.\�r�˗.d�r��S%˖�K��Le���L�2dɊd�1�1NgMf����>>{=G���

EH��D��I�D�ID�N(��)b�H��d��1��>z�>|��d�dɓ&L�2[1L�˙-�.d�r��S%˗.\�r�˙.\�r��r婒婓jd��&L�2b�1LfL�5L�2d�d�s%��Ke˙-�.\���r�˗.\�jd�r��S%˖�K��K�2Z�2dɬɓ&(;������}����_�_��Z��s�V�����kU����7��0��������a����=Ukְw�U�W Nj G��6x���A�.a化jPIl�j�"2�(L��F�X�n82L6&���64 #@�B`�QK��#a&���F��DC��0;� ��0ؘ�a��jL$�b`5&�2a�90И ��{puU����9�������������U�]Vz�׭`ﮫZ��������������~j�k���UZꪰw�U�W.��t�˦�j�i���ii��m��i��i��i��i��T�M4�i��M4�m4˦�.�T�t�˥�]4�T�M-4�KM4�m4�M4�M4�M4�M4�M4�J��iT�L�i�M*]4�s&L�̛6j�:|�>=O���Q�� �H222JIII(���D�j&��R)���&X��Q��{��Q��ϟ>|z� _˥�]-2��]4�KM4��M4�M4�M4�M4�M4�M4�M4ҩ��U4�.�e�J�M*\�Ze��.��j��ii��i��i��i��i��i��i��T�M4�i��M4�m4˦�.�T��˙��s9w3�s+3���Vg3���\�Z�s.]T�]fr�1s9��L�\�g3�˹���Y��_2�9��g3R�k�̹uS9u�������U3�B<x��8�ӈ��2`�h�M�x���"�P�Y@�DGC����rL(' "4"��b0�F�1�#��#�LPqI�I���&Ɋ�&Ɋ�&��ɩ>�/ �̹��g3�s9w2�9|�g3���s5/���˗U3�Y������US9��g3�s9w3�s+3�r�����s9�/���˗U3�Y���\�eTΚm�SMҩ��T�wJ����U4�wwwwwM4����M-�4��M-�M�M-4�J���Smҩ���M7wt�i�������4����M-�4�ݪin�imSL�lɓ&��l٬�t��r�>>>�} FFFFJJID�Q(�ID�q6&�6'$��|�>=������>z�gϟ>|��i��M7J�ۥSM�*�n��T�m����ݪi�����[�i��T��4�ڦ�U4�4�*�n����M7wt�i�������i�����[�i���[���M3��w����������7��ͪ���U�uU��s��w|��u�uٿ��o������|��*�:���k;�bH �*<Tx�⇢y#���4��qh��7F� T�%
���J�����l8Tl4!��4��L �BX�FA�d`��F �0�F �1A�i
I�Ñ��p) I�a�10ԛ&�� IɆ�~�g����;�;���o������6���9V��W���;�gw��w^w]�����7����mW��r�󪯝��ַM�Ү�����������������������ڻ����n黺U�ݷwwwww�wwwwwwwwz������Wwt��7L�.\�\ɓٳT�:r�>|��>>�AP��$$$d�����I1)%�D�j$ĢEI*>|���ϟ=�>|�������wt���wwwww{wwwwwwwww�������wwKwt��wt���n�����n���������wwwwwv���nZyu�����w����}��}���==��OJ�OOJ��ܺ�����Z{���������������i��zyj��ژ�y���>x����M@لLRȦ�MX�TUUb�TX�����G�t������J4 ��P3���7
v#��'&$M�'&$M�'&$7&HmF�/�֞]i���=����w�}��}�Zz{����=<�t��K�====5�������������i�����t�����m�ݫ������������Wwww����]������ﻻ����������������������4�j�U*\�s&M�6r�:t�>|��>=��A��H) %%%%%$�Q(��)$H��9Og��)����ϜΜ�X�wwj�ﻻ������㻻���������������ڻ���������Wwww�ww���wz�]����
?����G��ת��W��Z?��
���������z��������pB@a>@Tx#<+<H��$p|� �`�MHL�n�*(��(T�I�
��8�!0Ԙ�a4lQ�i�2@�2�O�8��D`!�3�pe�h �O � I����L6&H�jLɆ��
Ɇ��g&��.��*�����Q����
>����¯�ִ�U®�������������������w������ww{����������ww�w}��ww�w�����www��ww����߫��t�L�j\�rٓ&��l٬�:z�����|z��PR22R2L��d����*AP8�:t�:r�:t�ӧN�1�{������ww����������������]�ww�w�����j�����ww����߫����������������z����꯵�o����������������z�����o��}(P,z�0|��S�:i������.X��#Y%UYQ2���#�ê8.MI��l87�F��1���#���|7����7�4Hr8H��!�2D���$7&Hn7�1t_}����}��}����o�����}�[���}����}��}����[���}��}��]����������� K����������߻�����ı]���������T��KM4�U,�j\ɓY�l�l����������P� �HH� �ddddT��Dy�N�Ν:t�Ӧ���\��W���w{�ww��b����������~������bX������Ww��O�������O��O��Mo���S[�?�_����O��=z����j������i���$*��*z'�<�G"iH�<¥�X�Lh���*QQ¨�
�Dc�Gb`|L4Q�i Ɓ�i��2��G�0�0 ��7a�2��Xn �2C`�L>L5'&�� IɆ���a�� �p%���z���ק����������֟����?�ק����?��?��5����ku��k�w�w��w{������Ww�w�w�w�ww��"����������m�wKM-2�r婓&�Y�f����|z��Ǵz�B�
BBBBA�R�T'��6s5Nf͛:k9Mf����������đ]��������������ww1$ww�w�w��o������u��������ޯ��}�w�u�������������������}�wԂ�B>�Ϟ��t� �i�Y�T���U ��T�"�:HuGD�pP��Q�a�Q�q��qp7�����t��A���G�rd ɐ&�ȓ� 6����������u������}��}���}�[﻾����u������}��}������}o���������������������w�������w���wwwwwwww�����w�j�W���V�M4˗-�1�5M�9MS�N�>|�z��СB�  �(PJٳf͛6lٳf̀�;�����������������������������]�����������������������?����?��U���~��T����_����������|�_���U�Q��܀���G���<�#ƒ�L� 0ya:MH�[�EA�#���&Phtht&��Gb`�6Fɍ�H� �A0d�BX� "0f��(n07@��pd����7� I��L5&� I�0Ԝl5&���nb��^_�������O����O��Z��]K�_����/��O����O����-Wﮥ���[�j����� Mݿ����������]���]���ݿ��kZ�z���wt�U2��rԹ�d�5Mf�S�N��Ϟ���|}>>=�DZ��٬ٓf͛6c6j��W1oU��ڻ�����&�����ݿ���W{����bh����]����������}��}����������o���������������z�����BP�U=G��|��f���e�Ii�r����VTyE":��G�"q�Cj4&4�B�*#Q����#�n*#b4�Ly6Mrh ɠN6�8߭� [�k��������}��}�������[�����}����}��}���������w���w���ڻ����������]��w������������������]��wm4kZ5�uZ��wt�M*\�.\ɓ&M�6l�Ӕ����|���8�Ɋk2j�2j�1��b��ڻ����������������W������{�����������������}�����pg������z��o��������?���{_[�ƈP@��G��(x��N$r�@�0y�,��&3ۢ��(�R��EJ �*:2808�*L4 ��h�#@�4  c*2�aP��u� n�����qp���L5&�� I�����a���1pU^������pg��o��k�o���}��ę����{^�_�����wp�w�������{�������������YYU+F�4hֵ���wj�*�T�r�KfL�1�5MS�N�=��ϟ>z'�螦3&L�2dɓ&�� Z���{�����������������w{��+����v��[�����bt������w[�����bt������q��$P�(><����8��Tْ��M�u���b2���<uGG�ɏ&��'"4�D�Td��F$#�Ąj��ܐn�d�r�cɩ1�Ԙ�rc��Ǔ���1iW�u������'Kz����wu������'Kz����w����{��+���������� Q���wʩYYYZ*VV�EQ�V�kZ��J���iR��R�ɓ&�f͛5MS�NgMg3�rMI�Ɍ�r�KfL_���������� Q���w�����(������`UM������������������������������������������������������������������������������&������������������������������������������������������������������o>sC��������������������������������������������������������������������aHKY�F1r �J,� ,� ,ӎ4ӏ8�8�<��@��C�=A�P�P�m���������e�P����O�$��;���4���3�D?3C��?�C��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������?C��?C��<C��><C����@A��==�8�N4�N4�O8�L0� ,��(��$�q�a� m*4 �����J)R@�ԵU-����vŷ&��M�m��)�-�òY �;%��` �E�JTpJR� �� ��Z��������bۓl[l�� �X�ئK�a�,[%��d2X����H`���PPr��Y�0"cA�
#E���,�Hb��X,X��P‚���N8H�Hp��! ���Ab@��DH��DH  ��"����N�$�Pn|�WI�]s�����nK��m��%nKl[rm�m��!�Kl�h��2H��%)f�%*P ��G�KU_� ��ݱmɶ-�Kp�,[lS%�d���-�;%��`#� 4T�%$T�%4��|�T�_����ݱmɸ����ػb�b�,;%����d��F�X�iQc2�e�Ye�hѢ�+4Y����9�ʍ�l���,��,��4�ƍYXѣJ�,f4���c2�,��4h�e��,�e��9�Yf�6TYf͖l���E�V2,h��4h��%;ӻ}�ڪj�s�9�g,��X�hѡ�f����� h4 �A�4��h3�f �/w����mmmm^������{{{u��{m��4hѥ�4ic2���Yf�,Ѣ��r�9�,�,��l��͛6l��Yc"�ƌ�,hѣJ�,f4ie�,fYe�Ye�Yee�+4VY���6YQ�͕Yf�,��,��cK+4��ƍT�`ꁓ@�Xn �n���� �p�7ᝆxga��; ��3�f�=�w`��݃�P:��&�� ��`�7 �p�7 �p� ��3��i�; ��3�f�;�v�;�wbƌ,d0��ĖVYY��s�R�L���#$ahX0�@1 �qLP@�����������c��b@h�$���c��1 4JD� X����}���u}���}����}�{{��ݶ�۴۷�|P>�҃�� �e�� �p� �p�7�\6�<7 �3���; �v ����;�w`����(2h`� �Z P�7 ƨn���� �3�; l�g`����4�݃�v�h��,���,�E��4YYYY�+4Vs�s��9g9Q��͛9Qe�6TY��,��YcF�YeE�Ye�,�Ѣ����h�Y��Vh�9�seG,�F͜�����e�YQeE�2,���[m�Q7ww���=mUN�L�4Yc"ƍ� @��A��h4 A�h�k���k�k�ھ���wwݾ�n�۪�n���hҢ��YYee�Y�������+9g+4s��9���r�f�TTTYfʋ,���,���4ie�3,��,�E��4h��F���+4r��9�9ʍ�l�ʋ,ٲ�͖Ye�VYe���%H�����j ��R��j��#�%��%�m�[v�%��`[n�`5��%��Kl���H�����j ��i*�}B?��`���*���ݒ��K�X m�`9��%� � H�1��AA���1�c*4�G�m�1d�@��b��bE��C @�)�
�
�8
9"Ab@&$$q �,H,H�AbP�DH � 8H����WR{�������~ۮ���m��M�n��m�۶�rIR�i -.��� ��IT#��#�E�ݶ�Ww6��-���[v�d�%��i$�m$� �PM%PMu�U�����\ݶ�-�l�m�-�����%��Kl�Ye�YYee��,���9���9�h�9�s��9͜��͛6l�ʍ�*6TYf�,��,����+,��eg4h�9�G9��s��9�s��*9�l�9͛6TTl���TYf�,�2d�dܖӻn���J��f�s����+3433 �C0��d� � A���e��M}�_mmo���N���߻{��M�m�{m��~Yf�,���Vh��ѣG9�h�9Y�s��9�s��G9͜�9�g*,�QeE�Ye�Ye�h����4VsF�4h�g4s��9�s��9�l�G6lٳf�TY��eE�l��,(2H2�ʆ�d�p�j����n7���q�3�x���q�� �3��`Ͱf�ga�2H2�ʆ�d�p�j����k���q��g�����v��C6�i�v�3l�@h� ��3(��,�$�%M�k����,���Z b$ D�aLP0�8@����� ����� ����ābb@�(pP����Ӻ������サoo��m��n�v��m�v݃$�����5�%��T7Cq��n7��x����ga���6�i�v�3l�@� d�փpʆ�q��e���q��n7�<g��n7��Ͱ��;m�6�;,���r�h���r�����9͜�H�9�s�3�9����s��6s�9��r�6h���r�h���r�����9�s�Ns��9����9�s�����Tl�Fʍ�rɒɓ&L�2n��r[�}��T���H�9QQ��eCFcF�ƌ�c1��444444�a�+��������jڽ�i������n���۪�o���,��+4VsEg4r���9�s�#���s��9��3��9ʎr���ʍ���rʋ4Yg,��h��4s��9Α͜��9�s��L��h�4s��9͜�F�Y�9eF�R�i�R��H��u�\�����?ۮ����6�m�p!rn���-�l��,[%��"�9ʔ�F�S����@}}��u���ɶKrm��l�Oqm��-��m�m���A�#1�$���(� `��Pd���fI$2 �BËX @"@� 9h��� �

8��G��c�8 �$H,H ��@$$"A# D���"E����u_U���\]}��O�����m�ol�ض�7�%��"����$��S����@}}��u���ɶKrm��l�Ol[l-�d�Y,[%�����@�#J�u�\��?���?ۮ����6�nM��ɻ�Kl-�d�Y,[%�9��9�s��:I�6�ͤl�s����Χ4���h��s��9ʍ���͕4sG4Vs��9ΒG9ͤsi#g:����i3�h�4s��i��9�s�9g,�- B�,�1l�2d�D�dݧw���mUR9�se�VYcK,hѣFc1���f��C!��M4���Mv�mo���=��ӷ�{{{u�[m�W���g,��s��9�I$�sg9�����UUT�4��4t�馚g9���9��9�Ef�h����s��9�l�G6sgS�%UT�u9��3G9�s��9�r�g6sa��I ��6�XܼnZ�r��^Z����x�2�f�m��gc;����� � � �2Hm ��2���r�k��������]����-��ev3lgc;�m��m� (40��
QCJAe �,�-P�ӻ��l�,�Kb� C aQC
�S <pa��☐qؐ�1!c�  ĂDĂG�j�����u}��}��}��o}��m��۷��6�e���!�ʆX�/���///-K��r켼f�m��+��c;�� � � l2P�!�2��ʆ�q�Z�q�5�������i�c4�lgc;���v6�xf�f��s��:G9�f͛6�G6���)�UUULꙥ4�����F�9Ι�s���sG9�s�s�6lٳi$siN�Β���g4�S�h��4hѣF�s��9��������ɒ����%�&M�n�����_ڪ���G9����,�hȬd24hѣ1��ь���i����k~�����w���}��۪��m�9�h�9�s�6sf͛H��:�M�UUUT���t�3�4hѣG9�s��9��9Α�sf͛:I�F�6��ꪪ�:�iM&h��hѣF�s�s��9��%��+JWPz�A��7\�oῃ^��ۃ�ݰv�����vL!����A����=N��\� � �7��� m���m��[a �l!��&��
(0@т ��� 1f1�EThU^�mزd�L�D��ŋ I�!�( PX�((p,p�ㄎ� 8H�<HH�$$ �� �#Ă#�]]-I���uԟ��}����d��۶ɷnKm7m�l��m�%��҄U�����7\��o�3�l�m���l�-��ڶ�i�d�����Ei z����������5���m�;�l!�m��v�CnɄ2^��s�#�6t�I#�6�R6���t�UNuT�3I���ѣG9�h�Ι�s��9Α�l�I$�lڤsiSi)�����4��SI�M3F��i���9�h�8����.....JɋDŢb�(�6�&Kwv���U4h�9��Y�,��EeeeecF�4m���5ݵ�]�m^�O���N��7M��m�m��UQ�sg9͛:I$�G6m$��mM��Ϊ��sJ��4���4h�i��g4h���9�s��G9�g9�lٵHڤm%:�Ϊ�s����MM&��4�9�G:g9�q�[���n^^^^^u:�Ks�����w6��-2���v3����Ͳ��v2��d��q�^^^^u:�Ks���r��m͹�������gei����čHч�8ч+(��Eb�b�D*!bՋv-�Y,�������CQQC
� ;xᇎ <pa1��bA�Ą �ă�B}��u}�w�������}���on�7m�v۶����6�J[���ʲ����u/:�>w.���ۛl������vV�Ͳ��ʋq�E�q�j^^[�N���y����w6��.���+��c;+��ej3��:G6l��,ٵI%SjmTڪ�����SJi54��4���i�4s�h�9Α͛6� �͛T�6��ک�UUUUSU4���j��4�M4�4h�L��B��.-�������šh\�-�dɒɒ�h�n���j�iN���VYe�,����� +4���Mwmvյ��{O������M�{t�m�m�UU�ͤs�6� æͪF�ڛUIUUUUU5SJiM&�iSM4�M3F����6��l�I$�F͛T��F�ک�UUUUSJ���j���I��i�hѣ�s��:CT� ��E��G��\�����nM��n�` \�ض�-�d��m�d� T� S�2H�E��G��\����ۓwl���k���%�Cl�� �l�`P�(0$`� IA�%(��F�,e@�����%��d$���b�� @ H�@�������Ab�8((p0p����� �GC�ą�����/$Ăĉ�ԽUUr�QUU���G������Kl�b۶�m�rd��-S��4�T�k����K����~ܛ��ݶ�-r[b�d��d�[d6ŲX�F��d���\�T�������rn�Kv�b��Ŷ�m�d�[d6ŲY��9�f�RU6mU#j����UUS�UUM*��ji5SF�*��F�&�f���͛6���ͪ�mRUUUUU:��UUUT�ji5SJ���jhѤ�4D[!�Bظ��- D1ql\\\�.J��d�dɹ)ݷ{�+�U6l��s���*,��+,��i��������}����wwv�ߦ��n��m��m��6�F͛T�I%Sj�T���UUSi*��������MTѥM4�ѣGM3F�I#f͛USfͪJmRUT�ڪ��4����UU54���J��hѣ��������ϗ�R���4��|�nZgϕ�����;eyj{+�����d������攷>iM)��������l�����ej{7f����f؀��a� �4a2�,�K1'1&Ф���\U��l�d�$\["D�����(��v8��x�ĆK &$LK�{��������������o��wj�ݷݷm��//>|�niKs��ҟ>|��y��l�����ey�ݕ�We�Ͳ������y�-��ϖ���ϟ>V�����;ey�vV�]��͵I%6lٳf�U%6�*�����ҭ������UUT�UM4iSM3J�I6lٳj���T�UUUUUUUUUUUUT�jiSU4hѣF�M4ȑ"D["D�hZ!���D"$1h\\\Z&L�L�2n�;�M^�ꪦͩ�s��Q�eEEEE��4�v�V�[�����N�����O��t���V�m��I$lٳf͛6���U6�����J�������i54���4hѣF�4��I$�͛6��$���mUUUUW�UUUUUUUU5U4hѣF�M5 IT5u J�����e�7|�r�ƺx�����W ۶�6��Ͷ�a�$���jT��t��c/Q������{q���oq���m�a�v�f�m���A�F�0@���e( Pb� `��m#N�|[lCK$Y#�([8�H,� A�QE�$p�@₅1‡$x�#�D��bAc�����&���M}�T�����O�d�����wv�'{m�m�۶�$�CWPդ���լe�6��r�ƽ���Ʒ����6��ͻl3m�XjI$��IV5Z�����n����5�ƾ���fڸfݶ�m�m�K6��:����Ҫҭ*�����ڪ������UT�M5U4mU�UURUUUZUUUU�UUUU�UUUUUT�M4�M5R$H�B�$H�"D�� \\\\\\�L�2m�%����~���Sg9�s��EF���i�ݮ�߽����wwwo��}��n�ީ�۪�U@bUUUUUUUUU_UUUU�UUUUUUM4�M4�ѵUI$�USj������J��������������T�M4�U4Z�>|��>z>|�|�����ͦ|�u>oM��i�>|�nZ�>|��>z>w;�U;�>|��\�tΧ��l�|��7f�C �3@ф (�� ��9�9�T%P��v)�H&H�h��d�D1r$EEE!Ht*9���(��;0�ᄡ��}��}��uu}��}���}����n�۷���o>|����Jz>w;��N�ϟ>uW7�3��y�v|��7enZ�>|�SG�OGϞ��ϟ>|�g��S��y��ϟ>o-�M�6�����������J���������������������6������������������*ڪ�������F�QHT� �*D�L��D�$H�D2$Eűqql\��K��mܔ����T���sI�3����i����ݫi����wwwo��}��n���۪��ٳfͪ������Ҫj��������������j���4iUUUUUUUS�UUUUZMUUUU+UUUUIUUUUUUM*�%$i*I,"�V�`�k����~������ۄ[w�ɸ&����[`����%P��Z����\�� ����{nۄ6ɽ�7����[` �F�  0F���������b�P��v)��,�Y$ X�b��,$�$ Ax��
P(,P8�b��‡8P�2($p8H�HpX� ��U�N�T목}|���}����m�m��[b�d��rm�RF����*���]u������~�.�۶�ɽ�M�6�m�d��)#IRJ�J�K�������{�`�m�o��m�pM�m�d��UUUUUUUV�V�uU���U�mmmUUUUUUUUUUUM�������Ү����^��*ڤ�������������C!��"DT�DTT� R"B"D�[".C�ɓɓ&�m�o[�]*����gM���i��j�ݫi����www�ߧݺm��n�����UUUUUUUN�U5�T�W�U}URU�IUU%UIUUUUUUUUUUUUUiiiV�V���V�mmmUUUUUUUUOF��Ϥ����S��T�|����\�gL�tΦ�l�|ݛ�vj�Q�>}%>wIUO��N��\��<�g�m[:f��>{7f�݇ �0q���8҇P��9�9�9�!P����v%���L�DŐ.,�l�dHC!��b�����HTt<s9��(��<w�_}��}��}���}����un�n�6���v�3��Tk>��;���;�w>��Ω��=�j��7����n�ٻ5F��>����s�s������ͪ��Χ���7�f���ݛ��UV�UiS�UMu��t�UUUR�R��ImU%UIUUUUUUUiU5UN�U5Mi5]UUUUW�J�%IR[ImUUUU4��E!HTTTTS�EHd2$""�$H����....J&L�m���m��}'����Zi����ڷݫi����wwo�~�~�}�m��n�m��I%UUUZT�ST�5�Z�UUUU{T�RT�V�[UU�UUMUUUUSUUU�Mii5]5UUUT�T�uIUm%UIUUUUF�$U��Ir�-O��{��]�z�]ۖ�����m��[�m�J��u���u\��_>����l�ܭ���6ƶۍ{lf��``H������F  h���+(cLc��"�4��KlY!D�&,Q"�8�ʼn�A�
$�☠����E�
a�Gc�0�#��D�WRk�?Rk�?Rk���_�w�?ro�7�%�nK{m�m���2KQ�*�������\�y}�_nV��n�c[m��6�mی��*�F��W��_����w���wn[��o�5�l�M��vꚪҪj��-*k�&����ڪ�j���ڪ��J������J���t������j�_���Z��J���Kj���������*************D���$H�"-�űql[%&L�2d�m;���u����M5wmv�[�����=����;{����6���[m������ҧJ����*�j�_���Z��J���Kj����J��������.��kZ��}����Z��ڪJ��������Ϯ�w;�w;�w]u�]s�y�Ι�:f�6����6�٪IN���N�u��u�]u�]=[O6�뭛Szٽlݛ†a��a��!�ƌ4�cJYB�0��9�s���\G��L�$�E �.,�"Ő�D�b���)�����
c��������ﺾ�������O'�������v��ݷ�m���.}s��u�;���뮺z��m5��ͩ�l�t�ٻ5I)������w;��;��뮹�<�gMl��T�[7�Slݦ����*t�����kZ�����j�������ڤ�j�����J�*t����֫_�����V��i*��J���:
���EEE!QHTTTTTTTS�DHd2$H�"D�.B&LZ&L�7%��n��ޞ�m4�v�V�[���O�����������M�m�m��*�Ҫt���.��kI������j���������j���ҪkJ�*t����֪����ڥkkki-����j������ c�������{���ooo�g�������?�����{�ooooo`A<A�A�p0�40X0��A��0(9@ 1�PJ|lQ$ (XIH 9h��@�8$�H" �
��< & ��*J�H� �`��@��@`P��w�����;3w�����w��m��?���� @ ǀ1�w����3��{v����������x��w���m��{{}tִִ�U��UU���UU��_�~�.�-WMkMkMW�Z�UU_��UU��_�R�R�R�\\\[%�B�2dɓ&ӻ�=����I)�r�l�����hѣF� �0�hhh�444f3-/������/�����Z�Z�U�V��UW��UU�W�T�T�T�]5�5�U�V��UV���UW��UK�K�KU�]]uu�W]}}]u�]W�]t�t���V���]uu��]]u��u�]u_�u�WOMV�����@����`⁘0��1��1J,�m����%�2$�(aQA�b� & LH8��������!l, . �B�P@t`�����P3������뮺�뮮����뮺��������ڪ���뮮�뮮����뮺��������ڪ���i�zצ��j�������������z�ڥ�i�zצ��j�����������ڥ��v�v-�šqrX�(\��2dɓ%%��������͜�E��Ye�4�hјѣF� Ɔ��F�dfx�d MkMk�Z�U�UUUUU��U/�R�_�K��Z�_Mk���MUUUU�UK�T���R�u�]uϾ��뮿�뻯���]v�w�w�]u�\����������~����m�w��B�;���p��A�hbC� 4��P��d)'��$�d�HŎ,�,Pq@���� ��Db� @C������@,
���0,�P��D( ( �������}�����]u�>���������߯�uu�u�W}u�]uϾ��뮿�뻯���]v�w�w��Z�W�UP2EU����R�_MZ�W�UP2V����j����!�".D\� \\\\\[ɒ�dɓ%;���Z��jt�h���͖Ye� 4iXѣF�������fp�����_U�ֿU��jfH��_�U�_MZ�W�UP2EU����R�_U�W_Uu��]u�]u��OMw]5]ot��]uu�W]��]u�]o�t��u�]��O  $4a�c4aEes!Q H�Km�&.D�"�Ts�0�$a1�CC .  ���¡`��F������f����w��}W�]}U�_�u�]mu���OMw]5]ot��]uu�W]�u�]u�U�]=5�t�u��ֽ5�5�Mk��UUUUUUU���/�K�K�V�5�5�Mk��UUU�UUT���/�K�K�H�"D�l�hZ�B������b�2dɴM��j�֕SS���s�,��,f4����fRM�����33o��o��k�_�_�ֿ�5UU��UUK��R�T�T��k�_�_�ֿ�UUUUUUU���/�K�K�O������������������wmϮ���������������}����w� 4��84 A�'��
@`H�@`q��A� (�) P��,�D�H�b��@@qC� �� AbH�<@�8��T,P�*P�0,A``T(
�H����p2���}��mϮ���������������}����������?�����;����w}W�����V�e W���U�R�_ֿֿ�Z��5_��/��ȑ�1R$H�"D["C! �����dɓ%&Ӵ�������s��4h����4h�k���������#~�������3(j���_��������_��@ ���k��������������뮺���鯮��j�ꮿ��������뮿����j�������`��840���� fQ%�I�t)P�)�A2H&,Y �Hd1QQQ�ġ1(Cb"
!�<8�p���a���B�B���S�������e�����۾���������뮺�������~������������뮺���꾺߭����������������������k��_�������������������������b�� �T��)ȑ"..D\\\\[&K&L�)�w��ZN�UM#g9�l�ٳ�������NfH��������~�����������������_����������骪��������������������������������������������k��������D ����" ��h0 `�X`80$f0A@���c e6��[a�L�B�$[ A�,PP�p��AbLH $�x������a��X@X ���@��(���_������fL��������������������}��޾�۫޿������������k��������~���_����"�_�k��_�K_�������fJ�/����/�GC�Gb����TTTTTR!��DHdH�"D[!����ɋ�m�d���o�[[UT����l������������������Z�5�ֿ�5��#T����T��N�M���MT̑U/����/�}__W_�u32[[�[U�����u��P3%����_�o0p�x8P<(  
0q�C�(r�t!P�%����,P�,� X�9#�9"X�%�BX��a�xs (\9C��
������������������}}]����mo�mW�U�W����]@ ̖����u_����5���T��_�����5���T��_�R���Hx�<Tx���v*)��EEEHb�"$H�!���űqrb�ɓl���w����UUSU_���jf:����f<����k�����34j��k���������34j��k���_�������������������_���������������������<A�����`
��#
����� P
����!�$rH�� I,@q@h��@PPH�Hp�
�"@XH  ��pp���C�!`T,a��X X�TC��8�������v���o����������������������_�������������������_�_�k��ꪵ�j���������_�_�k��꪿��������k�j% �<x��Ǐ<S*;�����d1R�l� �....J&L�2m97j��^��UW�����hɿ���ֿֿ����MUW��U��R���V�ֿ�����Uk��U��R���}]�������i����u���_�u�����_P1�]��o�t��a�����`�`�h0Hh`���!��E�$�Ža�A�b$A2D��\��b�
� Tr�,v$X�%��b!���v��xZ ��x�����p4���k���������d��������������믨�ӭ����릿�k������3$j������_��������@ �U��/�R�LLLt<Lv;�Ǐ<x���1��!QQQR�C"D����.....K&L�2n����ꪒ����3@_������������*���_�����������3$j������_������fl����z������������k�ﯿn�!���B �` ��4 �A�#1�#!�
��2Q�e@Q+��I$� � Y"ċ� SPqAC��D� � �����h\8 ��p�0-�C����f�����_��_�u�P3e��_�_~��u��]�36[�u��}�wֿ���Z��5���������֠f�R���\LLLLLx�;��c�1�X��Ǐ�
��d2�L�lZ!�����d�dɓ%ww�ۿ�������fp������k�_��Z��5K����}k�Z��jfh���_��������3:t��]5���u��}@ ������!�CA���<� �`D3 0,iBJ�$� : �p�$-�C�[ A� �x⇎@��D ,<9!��xv ��C�����fn����_������3BO�����������3:t��]5��������_��/��M�Z�������!����Bb��������<K�ı���Ǐ�EEEH�B� ��D[����ŢY2d��h���ӻ�����\��7�������_���_��/��M�Z��5��R�������_����_��{��~��_�������_�������_��* v � ���`�` P`,3
�`��D��$�B*���L�E��HX�b�� �� 
P�#�! � p�DH����< $8���Y`T,b�������fP���������������������������{����������������ݾ��o��_�������ڪ_���_�i�u����������������������BP���!��B�%�B"bbbbP�Lx�<x�����c�QR�$HDEšrX�1ql�2n���������NfP����7����u�����������i����_�������ڪ_���_�i~������������������������������� �x<`��3 ��h`@h��҂%eN`���&�-��d�.,8�,9B1B� x�DĎ&$P��BrÐXxX��Y""7������� �_j���o�����������dK�����������������.����������������*_�������������B�����눈���������b���""!���bX�&&&;�cǎ�b����"� �$E�"��и�J&L�2Q2S������������N��������������B������������kP2UK����������P3e����W����]�36[�u�����@"�> �p �` ��`Ph`��@08҃Y�s*dh��ŶŒ� \�B����$�����($x��� ��$ H�88��pxp4,p�T9!�����������������������������-ۮ�������뾠f�۫���f4���jfh���f8���u34k���_�"""�b"!Ј��B""""""""X���!�������bc��NJc�QQR�$H�".-�����B�1h�2[^���P1����ۀ�������k���@ �_����/�����*_�����������Ӫ����������ft������!x;��0 ���f ���c��+(m� F��[`�d��.,(�B���G<p��"Ĉ8� q���
@xr�����w3}��́]�������_P3�[��ӿ��}�_P3�U�����ӯ��@ ���_��5��M@ �/��K�:��à�C���1 DD;ı1111111�NJc�!Hx�*D��D�$E�r���L\�2W���f������_�������i�����������
� ǀVf<����w�W�����1���������������(
��($`��@ 0 ����`�X`" `����c4h�2I����
(4p����� �8l8 �, # �@A@2�@ `0 ��,H���� � ,$Z �B�{������x������}�X��
� ǀW�����
�����Vf<�1������+��̉T�y5UUUUUT�c��d
�cɪ������3U��"B!�"D\\\\\\�(�d�m��骩�G+9e��+4hhhhhhd � d �XȲ��m(�z���j������@ �U@ �@ �UUUUU@ ����_����_P1�]u_��]������u���i�OU�����
�����@�L H<ph0�haA�� �,ْ�~�LY�d Pñ�80��a 8@xp��X$*
a@XK �a 4%��ŒH0��a1 �P���T������������f4맪���������������.����������cJ�fP��cJ����cJ�3(j�cJ�␤*D�D�l\\�.K&.L�7ww��͛9���,���+44hhhhhiJYQe�YeG���lm�����ҭ@ ���ү����Ҫ��*��ү����������߮���k������f�k~�����`0P������x;���`,3 ,`q�(c��X��$�J9� PaAc��D� D D�d���`<,
��&A H&�@�,`��&$  Ă"ABA& f�������_�@ ͞��u���_��}�36{[���[�5����Z��5K���T�Z���5���T����!QШ��� TT�"�2$!qqqh[&L�-���ZU:G9��Ye�T4hј��g,�9f��p6��k��������_��ڤ������@ ������_�����-�� ��P4�����

AA`�  �C�����0�0�eVc�D'#bܒE�-�"(�Q㘘��1�-� ��BB�P@L$ ��� a�C bC �J���k��́u3J[[����iKkp2t֠i�R����3Lj�����1Ш�TTTR����"C"-������&L������i4�Y�+,�� ����r�o���k�fF���1�P2t֠i�R���3_������@ Ǔ�P1����_���y_��!P�AD�@L| �$����D�` �`P��0(1E� �;$�d�(XH�1A�QA#�  �� 0p*8XP \$ ��) A$��`��`@H,HD�"bA �D��f�����f<���������&���c����������nf4���*P1���qW��ؔ<x���⣱☨���**D�$1l�-��d�dɒɻ��kj�Ι�VVYQQff�h�9�_��@ ��@ �(��jf������e ���̥�����̡u�P2�O� �($�X$$ ��A���`��0Xу�Q1 �ܑD� \�b��$x�����v�l,`�0T(`�H�,0-�LID�%0����� �_�����e ����:�����.��p2�_��jfV����P2�K��jfV����fZ��LJ��Cǎ�Ǐ<R��b�����""�!qqrdɓm�n��J���s��js����@ �����֠ej����e���P2��UUR������������������������/�������n�����v�,�P�@D���H �@`�"��h1!���L`��� 1�E@%�H"I�9�A"��p�$�D� Hp4: �l,
‰ ��p�$ $���Abc�ă D� ����p5V�����/�������n�����v�f<��������������o�P24�@ �R���^���&�f@��̑���bX�������&<v<t<x�����R!��"$H�b����d�nJw��U�6i3J�������@ �����:����f@��̑����"j�d
�@ ��/P1�u�3*t���y�3W_P2�]53p< `�@�@x)�AK ��<�C�!�F�(��&�{�m�&H�r� qLQ�H@� ��; ���P�R
��L$�,% �11%ĔLO���f�����@ ���̩�M@ ǟP1�u�3*t���y� ȓZ��5Jf����*P2,DLDJ�! LDLLLLLx�����GB��TTT�C"D\\\[ɒɒɽ�m����I*J����W3LP3�P3EJf������P23^O�����3^O������,`,(���@( @  H�� p ���`
�����#���2a�e@N��A$ �B�4@��Ab�88H�HpX���8@p�hX�����@P( � ! A ! H8H� ��DH D����w��P5����}�P5����}� Ȗ�h @ ��h @ �C�C�DDDDDDDD�11,LLv;:���B���H�ȋ���ɓ&�n��zI%j�p1�3HP3U��P3�P4�f
�f�����+��Rگ����\ ��
�(�P@��x8����с�K0Z�J�v�!B�Ð�C x�bG�
Ð����Q!L*�a0\x����% ����u3Gn�e��f���fP��iKi��R��1�3+Z��5���<<<<;��1 D;��DDDDD�1J�Ǐ;��EE1H�$HB����ɓi�����f>�� �����1��bu3Li@ �W��Y�u�����Y�u��6�PP (
`��t8�8�a�<3`��4N�`�[$P�&,H�@�@p��Lp� ��DK� $8 0�&@P ���c�lj���BA?���f�ۀ�.���������������f4���*P1���aR�� Ah<:��0� DLLLv&&:<x�<TTS"D[!�ɓ&Jw}�o����(�zjf��@ ��P5�Jf6�lI������'���,  P
`�* �@�D
����< �C0�p̠ye�`z�C`��D�H,[ $�B��ǎ v$@��!�ćab��Ql(��,%���X�,LLLL̅� �ݨ�b��'���������́�����3`k��p�Z ����xv���.���t���b"""�% ���bP��NJb���� S"D[! b��1h�7����+W34M� �V�l ��Ө�_��P6���P6��L�P D
 �
@HH �@� @ ��H8�0 &
���cJ4^)��A  �Y(,P8H� ��"����`T,A@P,8P
�$ ��8H�08H����A?�����?�n���c�f����f����fؿ��fؿ�p�[ ���p�\. ���p�\.��xxxxxxt""""% bbbX�����LTTT�"ش...K%�����d�8�c�3-P6���P6��WP7%�]@ ܖ�P0 @�0�@`)@�& @�� ���Q�@�Y@�f������@�,%�H� !� $x�Bb�C�È �� ��
$@���<rGbI�� ��\̥��fH��nKi����鮝@ �����ե�B�[
�B�\.¡L)�\.��\: ap������DC�DD�1111����B��)��B�"� �I.���P2��́ۀ��P7F��f��@ �^�o�P$����( P� & �!<P8`�40a�A� ����c�>��$Y (Y"�98X�$K�b�����`hrB���XP
$p�ؐ�� ��������������gB�@ �]@ �@ �YB�P�T*
�B�P�T*��T*��h. ����\-�����;��ı��x���Ш�Sȓl�Kv��K��������������������d�* �L�@@�L0h0 F�J`b�*����$ %�Ų�"�Q��AbbBD���
-��
�@�
�@���;33}��}� ���3a�� �T*��R aP�
�BaP�T)�B�S
ap�[ a��xxx�"!�b"��1���NJ�b���K&L�2d�m@ ��o�

84
SampleScenes/HDTest/BakingSkyTest/ReflectionProbe-0.exr.meta


fileFormatVersion: 2
guid: bfa6a47546895b74b81ff58e3ea7af8f
TextureImporter:
fileIDToRecycleName:
8900000: generatedCubemap
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

212
SampleScenes/HDTest/BakingSkyTest/RoughMaterial.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: RoughMaterial
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _ALBEDOAFFECTEMISSIVE_OFF _ALPHACUTOFFENABLE_OFF _BLENDMODE_PRESERVE_SPECULAR_LIGHTING
_DEPTHOFFSETENABLE_OFF _DISTORTIONENABLE_OFF _DOUBLESIDEDENABLE_OFF _ENABLESPECULAROCCLUSION_OFF
_ENABLEWIND_OFF _NORMALMAP_TANGENT_SPACE _PREREFRACTIONPASS_OFF _TRANSPARENTBACKFACEENABLE_OFF
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- TransparentBackface
- TransparentBackfaceDebugDisplay
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceRadiusMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _Anisotropy: 0
- _BlendMode: 0
- _CoatCoverage: 1
- _CoatIOR: 0.5
- _CoatMask: 1
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _Drag: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveIntensity: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableMotionVectorForVertexAnimation: 0
- _EnableSpecularOcclusion: 0
- _EnableWind: 0
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 1
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _IOR: 1
- _InitialBend: 1
- _InvTilingScale: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 1
- _Metallic: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _PreRefractionPass: 0
- _RefractionMode: 0
- _ShiverDirectionality: 0.5
- _ShiverDrag: 0.2
- _Smoothness: 0
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SrcBlend: 1
- _StencilRef: 2
- _StencilRefMV: 128
- _StencilWriteMask: 7
- _StencilWriteMaskMV: 128
- _Stiffness: 1
- _SubsurfaceMask: 1
- _SubsurfaceProfile: 0
- _SubsurfaceRadius: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _Thickness: 1
- _ThicknessMultiplier: 1
- _TransparentBackfaceEnable: 0
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _UVBase: 0
- _UVDetail: 0
- _ZTestMode: 4
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 1, g: 1, b: 1, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}

8
SampleScenes/HDTest/BakingSkyTest/RoughMaterial.mat.meta


fileFormatVersion: 2
guid: 7f1ba4f7ac501484d8c1bfde0904af71
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

76
SampleScenes/HDTest/BakingSkyTest/SkyBlue Profile.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: SkyBlue Profile
m_EditorClassIdentifier:
components:
- {fileID: 114640304470647312}
--- !u!114 &114640304470647312
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name: ProceduralSky
m_EditorClassIdentifier:
active: 1
rotation:
m_OverrideState: 0
m_Value: 0
min: 0
max: 360
exposure:
m_OverrideState: 0
m_Value: 0
multiplier:
m_OverrideState: 0
m_Value: 1
min: 0
updateMode:
m_OverrideState: 0
m_Value: 0
updatePeriod:
m_OverrideState: 0
m_Value: 0
min: 0
sunSize:
m_OverrideState: 0
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 0
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 0
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 1
m_Value: {r: 0, g: 0.0065784995, b: 0.7735849, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 0
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 0
m_Value: 1

8
SampleScenes/HDTest/BakingSkyTest/SkyBlue Profile.asset.meta


fileFormatVersion: 2
guid: a22e785c426e916429715d71f1a94d05
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

76
SampleScenes/HDTest/BakingSkyTest/SkyGreen Profile.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: SkyGreen Profile
m_EditorClassIdentifier:
components:
- {fileID: 114615488076658380}
--- !u!114 &114615488076658380
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name: ProceduralSky
m_EditorClassIdentifier:
active: 1
rotation:
m_OverrideState: 0
m_Value: 0
min: 0
max: 360
exposure:
m_OverrideState: 0
m_Value: 0
multiplier:
m_OverrideState: 0
m_Value: 1
min: 0
updateMode:
m_OverrideState: 0
m_Value: 0
updatePeriod:
m_OverrideState: 0
m_Value: 0
min: 0
sunSize:
m_OverrideState: 0
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 0
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 0
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 1
m_Value: {r: 0.0019727899, g: 0.8396226, b: 0, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 0
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 0
m_Value: 1

8
SampleScenes/HDTest/BakingSkyTest/SkyGreen Profile.asset.meta


fileFormatVersion: 2
guid: 5309daea9dce20b418b629d05f82e610
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

76
SampleScenes/HDTest/BakingSkyTest/SkyRed Profile.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: SkyRed Profile
m_EditorClassIdentifier:
components:
- {fileID: 114651754069007098}
--- !u!114 &114651754069007098
MonoBehaviour:
m_ObjectHideFlags: 3
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3df29e7cc05fbec4aa43e06ea875565d, type: 3}
m_Name: ProceduralSky
m_EditorClassIdentifier:
active: 1
rotation:
m_OverrideState: 0
m_Value: 0
min: 0
max: 360
exposure:
m_OverrideState: 0
m_Value: 0
multiplier:
m_OverrideState: 0
m_Value: 1
min: 0
updateMode:
m_OverrideState: 0
m_Value: 0
updatePeriod:
m_OverrideState: 0
m_Value: 0
min: 0
sunSize:
m_OverrideState: 0
m_Value: 0.04
min: 0
max: 1
sunSizeConvergence:
m_OverrideState: 0
m_Value: 5
min: 1
max: 10
atmosphereThickness:
m_OverrideState: 0
m_Value: 1
min: 0
max: 5
skyTint:
m_OverrideState: 1
m_Value: {r: 0.745283, g: 0, b: 0, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
groundColor:
m_OverrideState: 0
m_Value: {r: 0.369, g: 0.349, b: 0.341, a: 1}
hdr: 0
showAlpha: 1
showEyeDropper: 1
enableSunDisk:
m_OverrideState: 0
m_Value: 1

8
SampleScenes/HDTest/BakingSkyTest/SkyRed Profile.asset.meta


fileFormatVersion: 2
guid: c7d272a2b27e3844cbdc5a343c2c50fc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存